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



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



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



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



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



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

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

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



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


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2