buoyantPimpleFoam与rhosimpleFoam的密度场读写问题
-
大家好,
我目前想用查表法读取密度等场量,在constant里面有rho文件。
在rhosimpleFoam里面,rho这么定义:volScalarField rho ( IOobject ( "rho", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE ), thermo.rho() );
这种情况下,可以读取rho文件数据。在buoyantPimpleFoam中,rho:
IOobject::NO_READ, IOobject::NO_WRITE ), thermo.rho() );
这种情况下,rho不读取,不写入。我将其改成:
IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE
还是没有从文件中读取rho,而是显示了rho的internalfield为0,导致了printstack错误。
我想知道为什么同样的代码和文件配置,为什么会出现读取的差异呢?我在想会不会是因为psiThermo与rhoThermo中对rho的处理存在差异?
另外,在buoyantPimpleFoam中rho=thermo.rho()与 thermo.correct()哪个是更新密度呢?
谢谢大家。