并行计算能否直接引用到case的地址
-
串行计算的runTime.path()是本case的地址,而并行的runTime.path()是processor的地址。有没有某个命令,能让并行和串行都能识别并引用到case地址呢。
举例: 假如有这个命令是runTime.casePath(),对于串行
就返回的相当于是runTime.path()
,对于并行
返回的就是runTime.path()/..
主要是我在编写一个串行和并行通用的solver,需要一个都能识别的命令使其返回case的地址。。
我觉得这个命令应该是存在的,因为并行transportProperties文件并没有进入processor里面,而并行的却可以初始化它。。 -
Foam::singlePhaseTransportModel::singlePhaseTransportModel ( const volVectorField& U, const surfaceScalarField& phi ) : IOdictionary ( IOobject ( "transportProperties", U.time().constant(), U.db(), IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ) ), viscosityModelPtr_(viscosityModel::New("nu", *this, U, phi)) {}
IOdictinary初始化的时候用了U.time().constant()和 U.db(),但是我验证了下U.time().constant()还是返回的是processor里面的constant,U.db()没看懂返回的是什么,一串列表。。
CFD中文网2016-2023 | 京ICP备15017992号-2