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中如何实现?
@OF九月九
请参考(并未和你的方程对应):
const dimensionedVector F("F", ((2.0*Omega) & gHat)*gHat);//科氏力项,OpenFOAM中的定义
fvVectorMatrix hUEqn ( fvm::ddt(hU)//公式(15)左边第一项 + fvm::div(phiv, hU)//公式(15)左边第二项 ); solve(hUEqn + (F ^ hU) == xxx;//科氏力
OpenFOAM习惯的做法为略去此项,并添加到压力方程中。
你这个可以参考:
把右边第1,2项去掉组件fvVectorMatrix UEqn
然后
solve(laplacian(rAU, p) == 2*phi(Omega^U) - phi(g)
其中phi()表示转换后的面矢量。
更新科氏力源项:f×U=2Ωsinλ×U,其中f表示科氏力参数,一些文献会直接给出f的值。如果绕z旋转,那么f在z方向存在值。在这种情况下,f×U的值为: (1)f×U=[f2u3−f3u2f3u1−f1u3f1u2−f2u1 ]=[−f3u2f3u10 ] 如果进一步考虑速度方向是x方向的,那么变为: (2)f×U=[0f3u10 ] 可以看出如果地球绕z旋转,对于x方向的速度,科氏力导致y方向的偏离。
Ω表示地球旋转速率,单位为[弧度/s]=1/s,λ表示维度[无单位]。因此f的单位为[1/s]
4/4
2023年9月4日 07:40