Skip to content

OpenFOAM

OpenFOAM交流区

5.0k 主题 29.6k 帖子
  • 如何提高方程求解的稳定性

    1
    1 帖子
    185 浏览
    D

    下面是我需要计算的方程:

    fvScalarMatrix TbEqn ( - fvm::div(-phi, Tb) + fvm::laplacian(DT, Tb) ); TbEqn -= Q; TbEqn.solve();

    其中,DT为热传导系数,Q为数值1的标量场,phi通过SIMPLE求解。
    设置出口边界条件为:

    outlet { type groovyBC; variables "Tk=DT;h=U&normal();Tinf=0;f=1/(1+Tk/(h*mag(delta())));"; valueExpression "Tinf"; gradientExpression "0"; fractionExpression "f"; value uniform 0; }

    设置的divSchemes为:

    div(-phi,Tb) Gauss linearUpwind grad(Tb);

    使用的solvers为:

    "(Tb)" { solver PBiCGStab; preconditioner DILU; tolerance 1e-6; relTol 0; }

    上述方程是用于拓扑优化求解的,但是优化过程中,经常出现浮点数错误“Signal: Floating point exception (8)”,如何有效解决这个问题呢?
    尝试过在h*mag(delta()中添加一个小数,但是也同样出现浮点数报错。

  • 14 帖子
    6k 浏览
    H

    @jlx 请问您在fe40中安装好wave2foam了没

  • 1 帖子
    159 浏览

    cdc55d2b-44d3-422d-b228-f51416d7d378-无标题.png
    [链接文本](```
    链接地址
    FoamFile
    {
    version 2.0;
    format ascii;
    class dictionary;
    object blockMeshDict;
    }

    // 全局设置
    convertToMeters 1;

    // 顶点定义
    vertices
    (
    (0 0 0)
    (1 0 0)
    (1 1 0)
    (0 1 0)
    (0 0 1)
    (1 0 1)
    (1 1 1)
    (0 1 1)
    // 添加新的顶点用于切分
    (0 0 0.5)
    (1 0 0.5)
    (1 1 0.5)
    (0 1 0.5)
    );

    // 块定义(切分成两个块)
    blocks
    (
    hex (0 1 2 3 8 9 10 11) (20 20 10) simpleGrading (1 1 1) // 下面的块
    hex (8 9 10 11 4 5 6 7) (40 40 10) simpleGrading (1 1 1) // 上面的块
    );

    // 边界定义
    boundary
    (
    front
    {
    type patch;
    faces
    (
    (4 5 6 7)
    );
    }
    back
    {
    type patch;
    faces
    (
    (0 1 2 3)
    );
    }
    left
    {
    type patch;
    faces
    (
    (0 4 7 3)
    );
    }
    right
    {
    type patch;
    faces
    (
    (1 2 6 5)
    );
    }
    bottom
    {
    type patch;
    faces
    (
    (0 1 5 4)
    (8 9 5 4)
    );
    }
    top
    {
    type patch;
    faces
    (
    (3 2 6 7)
    (11 10 6 7)
    );
    }
    middle // 添加中间的边界
    {
    type patch;
    faces
    (
    (8 9 10 11)
    );
    }
    );

    // 网格划分方法
    mergePatchPairs
    (
    );

    这样多定义出4个顶点(8 9 10 11),但是运行blockMesh的时候报错,如下:(以icoFoam中cavity算例为基础) --> FOAM FATAL ERROR: face 0 in patch 2 does not have neighbour cell face: 4(0 4 7 3) 大家之道该怎么调节吗? ------------------------------------------------------------- 具体想实现的功能就是在计算的时候输出一个平面的速度,想用functionObject功能,但是需要指定一个面,所以上述想在画网格的时候把面指定出来。
  • 模拟文丘里管道空化中浮点数溢出

    4
    4 帖子
    375 浏览
    X

    @youhaoyu 我是使用compressibleVoF中的throttle算例更改了模型和边界条件

  • openFOAM中耦合风力机致动线模型

    12
    12 帖子
    6k 浏览
    Z

    @sxz0823 您好,可以加个联系方式请教您一下turbinefoam吗,我想向您请教一些问题,我的qq是:935437658 :140:

  • 给我干蒙了

    5
    5 帖子
    579 浏览
    李东岳

    厉害啊!我看看

  • OpenFOAM并行计算

    1
    1 帖子
    207 浏览
    D

    大佬们,想请教下为什么OpenFOAM自定义并行计算时,初始化(这边初始化是指下述的代码)有时候很快2-3s,有时候需要很久1-2min(测试的时候没有其他程序运行)。
    下述是我自定义的并行计算初始化代码:

    scalarField MyField(5*N,0); List<scalarField> AllMyField_List(Pstream::nProcs()); AllMyField_List[Pstream::myProcNo()] = MyField; Pstream::gatherList(AllMyField_List); Pstream::scatterList(AllMyField_List); scalarField AllMyField(ListListOps::combine<scalarField>(AllMyField_List, accessOp<scalarField>()));

    其中,N为所有网格单元的数量,N=86400。程序是有个变量,我将其分配到各个线程进行计算,在总线程中进行收集。
    此外,程序中不止这一个变量,有五六个需要同样操作的变量。之前测试过,如果N很小的时候,初始化过程很快,但是当N增大时,初始化时间就完全不一样了。想请教下如何解决这个bug。

  • 16 帖子
    3k 浏览
    Z

    @chenboyao 天哪,膜拜大佬,成功解决了TAT

  • Openfoam入门:Maxwell滑移边界

    11
    11 帖子
    1k 浏览
    李东岳

    换课题对于学生来说是非常不友好的。有时候被换了也没招..

  • 4 帖子
    386 浏览
    A

    接触角不是在三相(固/液/气)的接触点才有吗? 两相流体的界面处应该没有接触角吧?

  • OpenFOAM与libtorch的数据对应

    9
    9 帖子
    3k 浏览
    李东岳

    之前我还是思维定势了,比如5$\times$5的网格,我把libtorch那面的网格处理成{5,5}的,就有对应这个问题。目前有一个更好的方式,把libtorch那面的网格处理成{25,1,2}的tensor,会简单很多。

  • 3 帖子
    306 浏览
    李东岳

    楼上说的对。版本差的太大,移植相对麻烦。

  • waves2Foam的一键安装解决方案

    9
    9 帖子
    2k 浏览
    H

    @李东岳 换了个电脑装上了😊

  • 9 帖子
    717 浏览
    学流体的小明

    @SSSSK 这两个图横纵坐标分别是什么?看起来确实是从20s开始统计的话收敛很快,150s开始统计收敛就好慢了,而且150-250峰值也没到2.5以上。有参考的DNS数据吗?和DNS比较一下。
    你是用的哪一种驱动槽道的方式?是meanVelocityForce的话,就把pressureGradient随时间变化的图像贴一下。

  • foam-extend-4.0 移植重叠网格 wmake编译报错

    6
    6 帖子
    687 浏览
    李东岳

    @bestucan :146: :146: :146:

  • 5 帖子
    449 浏览

    @李东岳 已经没招了,一直溢出:136:

  • wave2foam在进行到Phase-1 volume fraction部分时停止

    4
    4 帖子
    526 浏览
    Z

    在改变并行计算的数量之后,问题可解决

  • Openfoam 每隔一段时间更新流场

    7
    7 帖子
    1k 浏览
    李东岳

    @foolfishzju1990 :146: :146: :146:

  • 东岳网站上的虚拟机更新

    3
    3 帖子
    315 浏览

    @李东岳 好嘞,谢谢李老师

  • interFoam吐核

    4
    4 帖子
    2k 浏览
    Z

    @User0221 df37a77c-beac-4b74-ab72-89cd53ef4d8f-1728959891654.png 我在计算到这一步的时候直接停住不继续计算了,也不会报错退出,cpu占用也是满的,请问你也是这种问题吗