CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    openfoam自适应网格使用Q准则加密失败

    OpenFOAM
    4
    8
    1472
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 南风
      南风 最后由 编辑

      我在openfoam里面计算水翼空化的问题,使用自适应网格进行加密,想把原来的基于体积分数加密准则的修改为基于Q(速度梯度第二不变量)加密准则的方法,通过在controlDict文件的functions中添加#includeFunc Q 在时间步文件中输出Q的场,但是在使用自适应网格计算的时候报错如图
      2020-06-29 15-03-28屏幕截图.png
      自适应网格配置文件如图
      2020-06-29 15-05-47屏幕截图.png
      在使用体积分数准则的时候是可以进行计算的,请问由什么方法可以解决或者实现基于Q加密的方法,

      1 条回复 最后回复 回复 引用
      • 李东岳
        李东岳 管理员 最后由 编辑

        你需要去求解器里面,类似createFields里面去创建一个Q,同时每个时间步进行Q的计算,然后才能这么弄

        线上CFD课程开始报名:http://www.dyfluid.com/class.html

        CFD高性能服务器 http://dyfluid.com/servers.html

        南风 2 条回复 最后回复 回复 引用
        • 南风
          南风 @李东岳 最后由 编辑

          李老师,你好,非常感谢,还想详细的咨询下,是要在求解器的 createFields.H这里面添加Q这个标量场吗, 每个时间步进行Q的计算是要通过什么方法,我前面说的那个在controlDict里面加入#includeFunc Q 的方法可以吗

          Y 1 条回复 最后回复 回复 引用
          • 南风
            南风 @李东岳 最后由 编辑

            @东岳 谢谢李老师。我这边加进去了

            1 条回复 最后回复 回复 引用
            • Y
              Yong Li @南风 最后由 编辑

              @南风 在 openfoam自适应网格使用Q准则加密失败 中说:

              这里面添加Q这个标量场吗, 每个时间步进行Q

              类似p与U建立一个新的变量Q放在createFields.H里面

              南风 1 条回复 最后回复 回复 引用
              • X
                xpqiu 教授 最后由 编辑

                这里涉及到一个执行顺序的问题,在 controlDict 里面 includeFunc Q,使用的是 functionObject,这个的执行是在每个时间步的最后,而你的求解器看起来是第一个时间步就在请求Q场,这个时候其实Q还没有计算,所以就报错了。除了在求解器里面加Q场,还可以看看能否设置从一个指定的时间开始进行自适应加密,不要从第一步就开始。

                南风 1 条回复 最后回复 回复 引用
                • 南风
                  南风 @Yong Li 最后由 编辑

                  @Yong-Li 好的 ,谢谢解答

                  1 条回复 最后回复 回复 引用
                  • 南风
                    南风 @xpqiu 最后由 编辑

                    @xpqiu 感谢。我试下你的方法

                    1 条回复 最后回复 回复 引用
                    • First post
                      Last post