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. 对流扩散方程中的源项设置

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

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

    加上圆项就可以了啊?

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

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

    K 1 条回复 最后回复
  • C 离线
    C 离线
    CFDngu
    写于 最后由 编辑
    #3

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

    K 1 条回复 最后回复
  • K 离线
    K 离线
    kadan
    在 中回复了 CFDngu 最后由 编辑
    #4

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

    C 1 条回复 最后回复
  • K 离线
    K 离线
    kadan
    在 中回复了 李东岳 最后由 编辑
    #5

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

    1 条回复 最后回复
  • C 离线
    C 离线
    CFDngu
    在 中回复了 kadan 最后由 编辑
    #6

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

    K Z 2 条回复 最后回复
  • K 离线
    K 离线
    kadan
    在 中回复了 CFDngu 最后由 编辑
    #7

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

    Z 1 条回复 最后回复
  • Z 离线
    Z 离线
    ZZ给我趴下
    在 中回复了 CFDngu 最后由 编辑
    #8

    @cfdngu 您好,请问这个标记函数要怎么定义呢

    1 条回复 最后回复
  • Z 离线
    Z 离线
    ZZ给我趴下
    在 中回复了 kadan 最后由 编辑
    #9

    @kadan 请问您怎么定义的标记函数

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #10
    1. 首先通过topoSet对需要赋值的区域进行设定,设定为一个cellZone

    2. 然后在求解器里面手动对此cellZone进行赋值,比如

    labelList testZone = mesh.cellZones().findIndices("c0");
            const labelList& cells = mesh.cellZones()[testZone[0]];
            
            //forAll
            forAll(cells, i)
            {
                label celli = cells[i];//this is missing
                s[celli] = 1.0;
            }
    
    1. 就完事了

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

    Z 1 条回复 最后回复
  • Z 离线
    Z 离线
    ZZ给我趴下
    在 中回复了 李东岳 最后由 编辑
    #11

    @李东岳 您好,李老师,请问"c0"是我所设定的cellZone的名字吗,然后"s"是所设定的源的值。我本来是想先通过toposet选定一个cellZone,然后在fvoption里面对所选cellZone进行源的赋值,但是不清楚浓度源应该选择哪种type。

    1 条回复 最后回复

  • 登录

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