Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
我在openfoam里面计算水翼空化的问题,使用自适应网格进行加密,想把原来的基于体积分数加密准则的修改为基于Q(速度梯度第二不变量)加密准则的方法,通过在controlDict文件的functions中添加#includeFunc Q 在时间步文件中输出Q的场,但是在使用自适应网格计算的时候报错如图 自适应网格配置文件如图 在使用体积分数准则的时候是可以进行计算的,请问由什么方法可以解决或者实现基于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场,还可以看看能否设置从一个指定的时间开始进行自适应加密,不要从第一步就开始。
@Yong-Li 好的 ,谢谢解答
@xpqiu 感谢。我试下你的方法