关于修改湍流模型中非线性雷诺应力项的问题
-
@李东岳 谢谢老师对我问题的指导,理解了针对“动量方程”雷诺应力项的修改就是通过修改linearViscousStress.C。
我先介绍下我的研究方向:模拟三层液态金属组成的电池的不稳定性,随着电压增加时三层流体会发生不稳定性即湍流,目前组里采用DNS计算消耗计算资源太大,所以我需要采用湍流模型来尝试一下这个发生过程,我采用了基于磁流体修改后的K-omega模型,其需要加入磁动能源项与各项异性的雷诺应力,以下是我需要修改的非线性雷诺应力项:
我的问题是:雷诺应力也包含在kOmega.H中如下:tmp<volTensorField> tgradU = fvc::grad(U); volScalarField G ( this->GName(), nut*(tgradU() && dev(twoSymm(tgradU()))) ); tgradU.clear(); tmp<fvScalarMatrix> omegaEqn ( fvm::ddt(alpha, rho, omega_) + fvm::div(alphaRhoPhi, omega_) - fvm::laplacian(alpha*rho*DomegaEff(), omega_) == gamma_*alpha*rho*G*omega_/k_ - fvm::SuSp(((2.0/3.0)*gamma_)*alpha*rho*divU, omega_) - fvm::Sp(beta_*alpha*rho*omega_, omega_) + fvOptions(alpha, rho, omega_) + fvm::SuSp(Comg_*S/k_, omega_) );
其中G中包含线性雷诺应力,针对这个非线性雷诺应力是不是我需要同时:
1、修改动量方程中的,即通过修改linearViscousStress.C;
2、修改kOmega模型中的,即也要修改上面的G。初学openfoam见识浅薄,希望各位老师和同学能不吝赐教。
-
可以按照这个形式,把你需要植入的东西高亮一下么
-
-
你可以把公式翻译成我那种矢量的形式么 这是在openfoam里面做植入的第一步
-
尤其是那个$S_k^{Diss}$,这个还看不出来能怎么写。不过要是这么植入的话,也可以,就是感觉有点硬植入的风格
-
比如$\bfS=\nabla\bfU+\nabla\bfU^T$,$S_{ik}S_{ki}=\bfS\cdot\bfS$,其他的你得自己写一下,比如这个$\boldsymbol{\tau}$怎么用$\bfS, \bfU$等表示出来
-
@李东岳
十分感谢老师的耐心回答!回复不及时请见谅,明白老师的意思了,方程转换好了(在编辑中稍等一会给您发过来),就您说的源项部分我单纯定义了一个标量场(语言基础差点),自己在尝试,请老师见谅。 -
@chen_hao 嗯,你这种就是我说的类似硬植入,看起来有点那什么。如果Sdiff能转化就不需要这么植入了,如果不能转化那就这样了。就是看起来这种植入一般来说不多。
-
-
-
@李东岳
谢谢老师夸奖。您的意思是,只需要更换KOmega中的G,目的是求解更精准的$ν_t$,从而作用到动量方程的U求解,故不需要再修改动量方程中的雷诺应力项,就可以达到效果。不知道理解的对不对,我一直在思考既然修改的话,需要两个地方统一变换,才能达到效果,希望老师能解答这个迷惑。 -
只需要更换KOmega中的G,目的是求解更精准的ν, 从而作用到动量方程的U求解,故不需要再修改动量方程中的雷诺应力项,就可以达到效果
湍流模型的作用就是更改$\nu_t$这个值,所以你的理解是正确的,其他的不用改
-
@李东岳
理解了,谢谢老师的耐心回答 -
@chen_hao
你可以看看 src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/ShihQuadraticKE 这个湍流模型
这是一个非线性的湍流模型而且也只考虑了二阶非线性项,跟你要实现的那个类似。
这类模型除了修改 $\nu_t$ ,还需要把雷诺应力的非线性部分加上。 -
对。
-
你要是动kOmega模型,可以把$G$换成你的$\tau$,在linearStress.C那面还要处理一下devTau函数,要把非线性的贡献加上($\tau$减去线性部分)。
-
你要是动非线性类模型如ShihQuadraticKE,把$G$换成你的$\tau$。这样不需要特为处理devTau函数了。但要处理下omega方程(如果没有的话)。
-
-
@xpqiu 谢谢老师的回答,ShihQuadraticKE模型是一个很好的参考!
这类模型除了修改 νt ,还需要把雷诺应力的非线性部分加上。
您所指的加上雷诺应力非线性部分就是UEqn.H中turbulence->divDevRhoReff(rho, U)项的修改对吗?
-
@chen_hao 在 关于修改湍流模型中非线性雷诺应力项的问题 中说:
您所指的加上雷诺应力非线性部分就是UEqn.H中turbulence->divDevRhoReff(rho, U)项的修改对吗?
不是,不需要修改这个函数,你仔细看看 ShihQuadraticKE 这个模型的继承关系,它继承的是 nonLinearEddyViscousity 类。这个类计算雷诺应力的方式不一样,除了线性项还有一个 nonLinearStress 项。你只要按照这个框架去写,把你的非线性项赋值给 nonLinearStress 就行了。
-
@李东岳
我会采用老师提供的第一种思路进行修改,感激不尽~
论坛登录问题反馈可联系 li.dy@dyfluid.com