LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+?
-
并请教:槽道流LES计算的入口inflow速度场影响大吗?
我的计算域没有入口出口之分,沿流动方向的两个边界都是周期性的边界条件,展向也是周期性的边界条件。所以无法回答你的问题。
看起来你是采用了一种生成脉动速度的入口条件吗?
是的,用的就是EugeneDeVilliers在他博士论文中提到的初始化槽道流流场的方法。
-
谢谢。@学流体的小明
我的计算域没有入口出口之分,沿流动方向的两个边界都是周期性的边界条件,展向也是周期性的边界条件。所以无法回答你的问题。
我的算例也是周期边界的槽道流,其实应该是internalField初始场的影响。
前面我采用的是uniform的初始速度场,计算湍流雷诺数远达不到目标值。最近按你算例的codeStream代码加入了初始脉动速度,计算雷诺数比较接近目标值了。
以Re_tau=1000为例,我现在计算得到的雷诺数数值是910是的,用的就是EugeneDeVilliers在他博士论文中提到的初始化槽道流流场的方法。
EugeneDeVilliers大佬的论文提到了这种湍流需要加入初始扰动才能发展,这个初始化方法也有一个 perturbU的开源代码。不过codeStream的实现更方便
-
这个codeStream写的扰动,可以保证$\nabla\cdot\bfU=0$么
我只看到codeStream跟perturbU的代码是一致的,具体的公式在EugeneDeVilliers博士论文5.1.2章也能找到
-
-
@学流体的小明 大佬好,想问下当时你用方法三计算的时候,OpenFOAM中输出的
wallShearStress
,有三个分量。$\tau_w$计算是如何计算的,是取了$\tau_x$,还是$\sqrt{\tau_x^2+\tau_y^2}$,还是$\sqrt{\tau_x^2+\tau_y^2+\tau_z^2}$?方法三:
通过paraview的filter - integrate variables - 查看 cellData,得到wallShearStress的和以及面积Area,计算固壁面上的wallShearStress平均值,再使用$$ {u_\tau } = \sqrt {\frac{{{\tau _w}}}{\rho }} $$
计算摩擦速度$ {u_\tau }$。注意不可压缩求解器中没有密度,则认为$\rho=1$。
结果是$u_{\tau } = 0.0066952$。 -
-
@李东岳 李老师,模拟的平均风和雷诺应力还是准确的,但是$u_\tau$似乎是个很敏感的参数,网格、fvSchemes、fvSolution等设置对$u_\tau$结果都有影响,但平均风和雷诺应力总体区别不大。
最近在模拟《Kim, Y., I.P. Castro and Z. Xie, Divergence-free turbulence inflow conditions for large-eddy simulations with incompressible flow solvers. Computers & Fluids, 2013. 84: p. 56-68.》这篇文章工况,论文中的$u_\tau$沿着计算域的
时间和展向平均结果
如下所示,是非常光滑的:
我模拟的
时间和展向平均结果
为:
就类似 @学流体的小明 的模拟结果,即使用方法三,求整个计算域底面的
时间和空间平均wallShearStress
,也很难与$u_\tau$理论值完全对应上,都有个很小的偏差,因此我的模拟结果不光滑,是很参差。一直在想是否$u_\tau$的计算方法不同导致的。方法三:
通过paraview的filter - integrate variables - 查看 cellData,得到wallShearStress的和以及面积Area,计算固壁面上的wallShearStress平均值,再使用$$ {u_\tau } = \sqrt {\frac{{{\tau _w}}}{\rho }} $$
计算摩擦速度$ {u_\tau }$。注意不可压缩求解器中没有密度,则认为$\rho=1$。
结果是$u_{\tau } = 0.0066952$。 -
前期计算的$\left \langle u_\tau \right \rangle ^+$会出现参差的现象,原来是之前在of8计算复制了一个算例的
wallShearStress
文件,文件中设置executeControl writeTime;
这导致了最终计算的平均只有writeTime
次数,而不是每个timeStep
的结果。参考of2206一个算例的设置就没问题了
of2206中算例设置
wallShearStress { type wallShearStress; libs (fieldFunctionObjects); patches ( bottomWall topWall ); writePrecision 10; writeToFile yes; log yes; executeControl timeStep; executeInterval 1; writeControl writeTime; }