Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. 自定义Solver出现“浮点数例外,核心已转储”

自定义Solver出现“浮点数例外,核心已转储”

已定时 已固定 已锁定 已移动 OpenFOAM
15 帖子 5 发布者 14.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • V 离线
    V 离线
    VamosZhi
    写于 最后由 李东岳 编辑
    #1

    我是年初接触OpenFoam, 之前一直做的是实验,又是硕士联培只有一年,东西从头做,所以时间很紧,还希望了解的人提点一二。做的是风力机气动噪声,现在要在icoFOAM 中把声波扰动方程APE加进去。
    0_1517684528761_Screenshot-2018-1-31 DTU-1 pdf.png
    这段代码跟在PISO后面写,如下:

    Info<<"point1"<<endl;
    
            volScalarField c21(1.4*(p+Pp+p0));
            volScalarField c20(1.4*(p+Pp+p0));
    
    Info<<"point2"<<endl;
    while (piso.correct())
          {      
     
    Info<<"point3"<<endl;
            fvVectorMatrix FEqn
           (
            fvm::ddt(F)
           +fvc::div(F*(U+Up))
           +rho*fvc::div(U*Up)
           -rho*fvc::laplacian(nu,Up)
           -(rho)*fvc::div(nu*dev2(T(fvc::grad(Up))))
           );
    Info<<"point3.1"<<endl;
            solve(FEqn == -(rho)*fvc::grad(Pp));
    Info<<"point4"<<endl;
    
            fvScalarMatrix PpEqn
           (
             (rho/c21)*fvm::ddt(Pp)
            +fvc::div(F)
            );
    Info<<"point4.1"<<endl;
           solve(PpEqn==-(rho/c21)*fvc::ddt(p));
    Info<<"point5"<<endl;
            rhos=rhos+(rho)*(Pp+p-(Pp.oldTime()+p.oldTime()))/(1.5*c21-0.5*c20);
            Up=(F-rhos*U)/(rho+rhos);
            volScalarField c22(1.4*(p+Pp+p0));
            c20=c21;
            c21=c22;
    Info<<"point6"<<endl;
           }
    

    但是运行一定循环次数后便出现“浮点数例外,核心已转储”
    但是当把求解F的方程和求解Pp的方程其中一个去掉的时候,计算便能顺利进行。
    不知各位大佬有没有出现过这种情况。
    谢谢!

    1 条回复 最后回复
  • V 离线
    V 离线
    VamosZhi
    写于 最后由 编辑
    #2

    “但是当把求解F的方程和求解Pp的方程其中一个去掉的时候,计算便能顺利进行。”这句话当我没说。。。。。去掉其中一个后虽然会计算的更久,但还是出现“浮点数例外,核心已转储”。

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #3

    你的那个图公式每个变量也不知道是什么啊。从代码看你用的显式离散,参考UEqn.H可以换成隐式试试。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    V 1 条回复 最后回复
  • V 离线
    V 离线
    VamosZhi
    在 中回复了 李东岳 最后由 编辑
    #4

    @李东岳 嗯嗯,那我现在能改吗?公式带‘的项都是波动项,对应于我代码中加了p的变量,如u'对应于Up,p'对应于Pp,也是我要求解的东西,公式中的g相当于一个中间变量,没有什么实际意义,对应于代码中F。
    我通过计算出的那几步调用paraview发现,波动项在几步计算后便达到了e23次量级,应该是这个原因出现“浮点数除外”
    我把带有F的那几项换成FVM隐式后,求解器就编译不成功了。

    1 条回复 最后回复
  • V 离线
    V 离线
    VamosZhi
    写于 最后由 编辑
    #5

    经过试算发现,应该是求解Pp的那段程序导致的发散,但是为什么我还不清楚,有什么别的写法使它稳定吗?

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #6
    fvScalarMatrix PpEqn
           (
             (rho/c21)*fvm::ddt(Pp)
            +fvc::div(F)
            );
    

    这是求解公式8么?

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    V 1 条回复 最后回复
  • V 离线
    V 离线
    VamosZhi
    在 中回复了 李东岳 最后由 编辑
    #7

    @李东岳 嗯嗯是的老师,求解公式8

    1 条回复 最后回复
  • W 离线
    W 离线
    wwzhao 超神
    写于 最后由 wwzhao 编辑
    #8

    文献中说的是compressible,为什么要用 icoFoam 呢?

    V 1 条回复 最后回复
  • V 离线
    V 离线
    VamosZhi
    在 中回复了 wwzhao 最后由 李东岳 编辑
    #9

    @wwzhao 您好,声场之前的流场计算是不可压缩的。还有,可能是我不太了解,我这段程序发散:

      fvScalarMatrix PpEqn
           (
             (rho/c21)*fvm::ddt(Pp)
            +fvc::div(F)
            );
    Info<<"point4.1"<<endl;
           solve(PpEqn==-(rho/c21)*fvc::ddt(p));
    

    有哪些可能呢?

    W 1 条回复 最后回复
  • Y 离线
    Y 离线
    youmengtian
    写于 最后由 编辑
    #10

    gdb跑一下,这一个错误提示根本看不出来个啥

    天命之谓性;率性之谓道;修道之谓教。
    道也者,不可须臾离也;可离,非道也。是故君子戒慎乎其所不睹,恐惧乎其所不闻。
    莫见乎隐,莫显乎微。故君子慎其独也

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #11

    嗯,最好也贴一下发散前3步后的log

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • W 离线
    W 离线
    wwzhao 超神
    在 中回复了 VamosZhi 最后由 编辑
    #12

    @vamoszhi 我的意思是,文献的方法是用于可压缩流体,你应用到不可压缩流不会有问题么?

    V 1 条回复 最后回复
  • V 离线
    V 离线
    VamosZhi
    在 中回复了 wwzhao 最后由 编辑
    #13

    @wwzhao 哦哦好的,我再想想看。不过这种方法的流场部分本来是按照不可压缩流算得,这个应该是没有问题的,我的工作是把这部分方程加到计算流场的大循环中。

    1 条回复 最后回复
  • V 离线
    V 离线
    VamosZhi
    写于 最后由 编辑
    #14

    各位老哥,是我蠢了,我昨天把时间步长降到0.00001,居然算过去了。。。谢谢各位大佬帮助,我现在新问题是,如何在场内某一点上加上随时间三角函数变化的波动项。我自己查查,各位了解也可以提示我用哪种函数

    X 1 条回复 最后回复
  • X 离线
    X 离线
    xuebao1989
    在 中回复了 VamosZhi 最后由 编辑
    #15

    @vamoszhi 您的声波扰动方程添加成功了吗?我也准备将声学扰动方程加入OF,请问是否方便交流下

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]