对流扩散方程中的源项设置



  • 大家好,
    我修改了pimplefoam求解器,加入了对流扩散方程如下:

    fvScalarMatrix CEqn
    (
       fvm::ddt(C)+fvm::div(phi,C)+ fvm::laplacian(turbulence->nu()/Sc,C)
    );
    CEqn.solve();
    

    现在想在方程中加入源项Source使其恒定,设置于流场中的某一位置,我用impressible/pimpleFoam/channel395的case测试选k-e模型,问题是如何设定一个恒定的源项?

    1. setFields 应该只能设置一个初始值,好像不可以在每个时间布都运行
    2. openfoam自带的很多定义源项的办法好像都是基于动量源项和热源的


  • 加上圆项就可以了啊?

    fvScalarMatrix CEqn
    (
       fvm::ddt(C)+fvm::div(phi,C)+ fvm::laplacian(turbulence->nu()/Sc,C) == Source
    );
    CEqn.solve();
    


  • 不太懂你的意思,不过我之前都是写一个字典,根据读取的参数在程序中计算源项的值,这样能解决你的问题吗?



  • @cfdngu 直接写一个字典加源项相当于在整个场里都加了源,我只想在某个区域加源项



  • @李东岳 我是想只在固定区域加一个源不是整个场,但是不知道如何去设置



  • @kadan 定义一个标记函数,每个网格上的初值为0,通过setFields指定某一区域为1就可以了,我就是这么做的



  • @cfdngu 非常感谢,很好的建议


Log in to reply