PISO算法讨论
-
fvm::ddt(U) + fvm::div(phi , U) + MRF.DDt(U) + turbulence->divDevSigma(U) == fvModels.source(U)
solve(UEqn == -fvc::grad(p))
这是icoFoam里的速度方程
fvm::ddt(U) + fvm::div(phi , U) - fvm::laplacian(nu , U)
solve(UEqn == -fvc::grad(p))
比较不难发现,pisoFoam里的速度方程多了
MRF.DDt(U)
,turbulence->divDevSigma(U)
和== fvModels.source(U)
,少了fvm::laplacian(nu , U)
。MRF.DDt(U)
是和旋转结构有关,在cavityRAS这个案例中用不到。1.
turbulence->divDevSigma(U)
应该是这个案例中用到的K-epsilon方程,这个方程的具体代码在哪个文件里可以看到呢?fvModels.source(U)
就是fvm::laplacian(nu , U)
吗?2.
第一段代码中已经有
==
了,第二段代码又有一个==
,从逻辑上讲,应该将fvModels.source(U)
移到等号左边,再等于-fvc::grad(p)
,这是C++语法特点吗? -
- icoFoam是不能用湍流模型的,fvm::laplacian(nu , U)是动量方程右边的粘性项。pisoFoam用湍流模型把粘性项模化turbulence->divDevSigma(U)。fvModels.source(U)是源项。
2.solve(UEqn == -fvc::grad(p))是momentumPredictor里面的,不开的话是用不上的,我感觉你是不是把它理解成求解了?
谢谢您的回复。
1.“pisoFoam用湍流模型把粘性项模化turbulence->divDevSigma(U)”具体是咋模化的呢?
2.“fvModels.source(U)是源项”是哪个源项?是体积力、电场力这种?
3.假设我打开了动量预测,这俩==该咋理解呢? - icoFoam是不能用湍流模型的,fvm::laplacian(nu , U)是动量方程右边的粘性项。pisoFoam用湍流模型把粘性项模化turbulence->divDevSigma(U)。fvModels.source(U)是源项。