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. OF使用SIMPLE计算10步报错停止,SIMPLEC成功迭代收敛的原因

OF使用SIMPLE计算10步报错停止,SIMPLEC成功迭代收敛的原因

已定时 已固定 已锁定 已移动 OpenFOAM
12 帖子 4 发布者 10.4k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • D 离线
    D 离线
    D.Benjamin
    在 中回复了 队长别开枪 最后由 李东岳 编辑
    #3

    @队长别开枪 你好,我后来又仔细查看了一些算例中SIMPLE算法和SIMPLEC算法设置的一些区别,发现正如你所说,错误在松弛因子的设置上面,,,我发现SIMPLEC的松弛因子设置是这样的:

    relaxationFactors
    {
        equations
        {
            U             0.9;
            ".*"          0.9
        }
    }
    

    而SIMPLE算法的松弛因子是下面这样的:

    relaxationFactors
    {
        fields
        {
            p              0.3;
        }
        equations
        {
            U             0.7;
            k              0.7;
            eplison    0.7;
        }
    }
    

    对此,我又有一些疑惑,之前我采用了SIMPLE算法计算,而松弛因子设置采用的是第一种,所以才出现计算10步出现错误,后面改成第二种,就可以运行了,也就是说,这是因为每一种算法,有其对应的松弛因子设置吗?而对于第一种设置(SIMPLEC)来说,没有fields子字典,是不是表示对压力没有进行松弛计算?还有一个疑惑是,equations子字典中的“ . * ”表示什么东西?期待你的回复,谢谢!!

    OpenFOAM初学者,希望和大家共同交流

    队长别开枪队 1 条回复 最后回复
  • D 离线
    D 离线
    D.Benjamin
    在 中回复了 队长别开枪 最后由 编辑
    #4

    @队长别开枪 补充一句,刚才上面“.*” 0.9后面少写了一个分号;

    OpenFOAM初学者,希望和大家共同交流

    1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 D.Benjamin 最后由 编辑
    #5

    @d-benjamin 松弛因子取值主要和算例本身相关,一般流场变化不剧烈就可以使用比较大的值,剧烈的话就调小,这个值就是设定每个迭代结束后使用新值的权重,本质上减小松弛因子相当于减小时间步长。SIMPLEC改进了通量修正方法,没有为压力设置松弛因子。对于SIMPLE算法,一般都是要设置松弛因子的。".*"表示everything。

    D I 2 条回复 最后回复
  • D 离线
    D 离线
    D.Benjamin
    在 中回复了 队长别开枪 最后由 编辑
    #6

    @队长别开枪 谢谢你啦

    OpenFOAM初学者,希望和大家共同交流

    1 条回复 最后回复
  • I 离线
    I 离线
    Izumi
    在 中回复了 队长别开枪 最后由 李东岳 编辑
    #7

    @队长别开枪

    你好,我看rhoSimpleFoam的pEqn.H与pcEqn.H中均有

    // Explicitly relax pressure for momentum corrector
    p.relax();
    

    请问这个是不是压力松弛?

    队长别开枪队 2 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 Izumi 最后由 编辑
    #8

    @izumi 贴上你的fvSolution文件先,理论上松弛因子在SIMPLE算法里不会影响最后的计算结果的,只是松弛因子越小需要的迭代越多。

    1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 Izumi 最后由 编辑
    #9

    @izumi 关于数值计算和CFD中的松弛技术,写了一点,对你的算例有用没用凑合看看吧
    0_1537627173416_欠松弛_1.jpg
    0_1537627190210_欠松弛_2.jpg

    I 1 条回复 最后回复
  • I 离线
    I 离线
    Izumi
    在 中回复了 队长别开枪 最后由 编辑
    #10

    @队长别开枪
    十分感谢您的回复,我之前主要是对

    SIMPLEC改进了通量修正方法,没有为压力设置松弛因子。

    有疑问,因为在rhoSimpleFoam的pEqn.H与pcEqn.H的代码中都有p.relax();,结合您最新的回复,OpenFOAM中SIMPLEC应该也可以在fields中设置压力松弛。

    另外,请问OpenFOAM中哪个求解器支持SIMPLER,没有找到。

    队长别开枪队 1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #11

    目前木有SIMPLER

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

    1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 Izumi 最后由 编辑
    #12

    @izumi 你可以贴一下你的fvSolution文件,因为不管使用哪种方法,只要收敛,结果大体上是应该差不多的

    1 条回复 最后回复

  • 登录

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