关于compressibleInterFoam中压力方程的疑问
-
p_rghEqnComp1 = pos(alpha1) *( ( fvc::ddt(alpha1, rho1) + fvc::div(alphaPhi1*rho1f) - (fvOptions(alpha1, mixture.thermo1().rho())&rho1) )/rho1 - fvc::ddt(alpha1) - fvc::div(alphaPhi1) + (alpha1*psi1/rho1)*correction(fvm::ddt(p_rgh)) );
根据压力修正方程
$$\nabla\cdot U + \frac{\alpha_1}{\rho_1} \frac{D\rho_1}{Dt} + \frac{\alpha_2}{\rho_2} \frac{D\rho_2}{Dt} = 0$$
这里p_rghEqnComp1应该是
$$\frac{\alpha_1}{\rho_1} \frac{D\rho_1}{Dt}$$
代码的前面部分,即pos(alpha1) *( ( fvc::ddt(alpha1, rho1) + fvc::div(alphaPhi1*rho1f) - (fvOptions(alpha1, mixture.thermo1().rho())&rho1) )/rho1 - fvc::ddt(alpha1) - fvc::div(alphaPhi1)
经过简化就已经是$\frac{\alpha_1}{\rho_1} \frac{D\rho_1}{Dt}$了,所以后面的(alpha1*psi1/rho1)*correction(fvm::ddt(p_rgh))是哪里来的呢,特别是Foam::correction这个函数不太理解,看了fvMatrix.H源码也不甚清楚,我的理解后面这段代码就是
$$\frac{\alpha_1 \psi_1}{\rho_1} \frac{\partial p_{rgh}}{\partial t} = \frac{\alpha_1 }{\rho_1} \frac{\partial \rho_1}{\partial t}$$
这样的话岂不是重复了?