与wallShearStress和boundaryField相关的问题
-
各位老师打扰了,本人才疏学浅学艺不精,最近在后处理,花了好久终于看懂了网上解释壁面剪切应力的帖子。
由于使用的湍流模型得到的湍流粘性系数为张量,在求解器中编写后处理程序时,遇到了不知道该如何输出应力在边界上的值的问题:
先前看到,在OpenFOAM源码的wallShearStress.C中,壁面剪切应力由以下方法求得:
wallShearStressBf[patchi] = (-Sfp/magSfp) & tau.boundaryField()[patchi];
其中的tau,其实就是有效雷诺应力:
tau = model.devSigma();
但由于我的后处理程序植入在solver中(直接写bool不太会),因此自己在createFields里定义了一个应力张量场stress,然后把层流的粘性应力:
dimensionedScalar("nu", dimViscosity, 1.388e-5) * dev(twosymm(fvc::grad(U)))
和湍流粘性应力相加得到,经检验可以输出内部场(通过stress[cellID])的应力值。
正准备和法向单位向量相乘,发现输不出来边界上的stress.boundaryField()[faceID]
我知道我这样的处理肯定是过于简单和理想化了(简直就是瞎搞,瞎搞都算不上)只能盼望各位老师赐教了,该如何得到边界上的值呢
-
最简单的方法是,通过postProcess,处理得到wallSHearStress的场,然后你的后处理程序,将它进行读取就可以了。类似读取速度以及压力
-
老师,我的求解器在计算时设置为层流,然后湍流的方程和粘性在求解器中解算。不知道是不是因为设置为层流的原因,wallshearstress在后处理的时候提示unable to find turbulence model in the database,所以没法用postProcess算
-
simpleFoam -postProcess -func wallShearStress