代码实现?
-
tau是
,需要用Bousinessq假定来计算,参考 http://47.93.231.95/doku.php#boussinesq_approximation -
@izumi
不建议这么实现,参考rhoCentralFoam的实现,应该是把转置项显式离散,非转置项按laplacian隐式离散。因为OF本身的限制,转置项会有各个分量间的耦合,所以必须显式离散,非转置项不用。
隐式的部分越多,时间步限制通常也越弱一些,所以OF一般实践上喜欢把粘性项拆拆拆之后尽可能多地采用隐式离散。实在不能隐式离散的源项、交叉项才用显式离散。
参考:https://chengdi123000.github.io/2018/01/05/rhoCentralFoam解析/#粘性应力项
-
@程迪
谢谢!看rhoCentralFoam时没看懂,看了你的链接清楚一些了。
我主要是想在能量方程中添加 ,然后计算耗散函数 。
根据CFD中的能量方程, 好像没法展开成可以隐式离散的项。
看rhoCentralFoam中的能量方程,除时间项外,用的都是显式离散。所以,对于能量方程来说,是不是不必拆项并使用隐式格式?
至于动量方程中的 ,对于一般的求解器,应该是包含在UEqn.H里的turbulence->divDevRhoReff(U)吧,不用我们自己定义。rhoCentralFoam中的能量方程:
surfaceScalarField sigmaDotU ( "sigmaDotU", ( fvc::interpolate(muEff)*mesh.magSf()*fvc::snGrad(U) + fvc::dotInterpolate(mesh.Sf(), tauMC) ) & (a_pos*U_pos + a_neg*U_neg) ); solve ( fvm::ddt(rhoE) + fvc::div(phiEp) - fvc::div(sigmaDotU) );
2017年10月27日 03:31
15/15
2018年1月8日 05:49