MULES算法中的const RhoType &rho
-
MULES算法中的const RhoType &rho 参数是如何使用的?接受volScalarField类型吗?
-
@李东岳
你好!我是想要用MULES求解这个式子
可以直接用MULES::explicitSolve ( rho, alpha, phi, alphaPhi, zeroField(), zeroField(), 1, 0 );
还是要在MULES.C中加一个函数
void Foam::MULES::explicitSolve ( const RhoType &rho, volScalarField& psi, const surfaceScalarField& phi, surfaceScalarField& phiPsi, const scalar psiMax, const scalar psiMin ) { explicitSolve ( rho, psi, phi, phiPsi, zeroField(), zeroField(), psiMax, psiMin ); }
因为我看MULES.C中只有一个这个函数
void Foam::MULES::explicitSolve ( volScalarField& psi, const surfaceScalarField& phi, surfaceScalarField& phiPsi, const scalar psiMax, const scalar psiMix) { explicitSolve ( geometricOneField(), psi, phi, phiPsi, zeroField(), zeroField(), psiMax, psiMin ); }
-
这个可以在包含
MULES.H
头文件后直接用的。注意到
MULES.C
中的函数实现是一个重载版本,有6个参数:void explicitSolve ( volScalarField& psi, const surfaceScalarField& phiBD, surfaceScalarField& phiPsi, const scalar psiMax, const scalar psiMin );
而
MULES.H
里有几个函数模板,其中一个有8个参数:template<class RhoType, class SpType, class SuType> void explicitSolve ( const RhoType& rho, volScalarField& psi, const surfaceScalarField& phiBD, surfaceScalarField& phiPsi, const SpType& Sp, const SuType& Su, const scalar psiMax, const scalar psiMin );
因此只需要包含头文件
MULES.H
,就能以如下方式使用MULES::explicitSolve
函数:MULES::explicitSolve ( rho, alpha, phi, alphaPhi, zeroField(), zeroField(), 1, 0 );