变量读取
-
在运行算例的时候,读取到m时 会显示错误:Selecting relativePermeability model => VanGenuchten --> FOAM FATAL ERROR: cannot find file "/home/dyfluid/OpenFOAM/dyfluid-v2006/run/drainage/0/m" From virtual Foam::autoPtr<Foam::ISstream> Foam::fileOperations::uncollatedFileOperation::readStream(Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const in file global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C at line 546. FOAM exiting
不是很懂它为什么会到0文件中去查找,是不是IOobject里定义的路径有关?感谢各位前辈的帮助~
-
@李东岳 谢老师回复~我想要的结果是读取m变量,m变量是借助Sb变量构造的(参考的是https://openfoam.top/programmingNote/#字典读取变量 中nu的定义)
nu_//nu_ 是用一个 dimensionedScalar 构造出来的。 ( IOobject ( name, U_.time().timeName(), U_.db(), IOobject::NO_READ, IOobject::NO_WRITE ), U_.mesh(), nu0_ )
我的case文件里transportProperties部分如下:
VanGenuchtenCoeffs { alpha.wettingminpc alpha.wettingminpc [0 0 0 0 0 0 0] 0; alpha.wettingmaxpc alpha.wettingmaxpc [0 0 0 0 0 0 0] 0.999; pc0 pc0 [1 -1 -2 0 0 0 0] 100; m 0.8; }
我需要的是把m读取到,
krVanGenuchtenCoeffs_(relativePermeabilityProperties.subDict(typeName + "Coeffs")), /*relativePermeabilityProperties指的是transportProperties,这个是在createFields里定义的,即krVanGenuchtenCoeffs_就是我们的VanGenuchtenCoeffs子字典*/ m_ ( IOobject ( "m", Sb_.time().timeName(), Sb_.db(), IOobject::READ_IF_PRESENT, IOobject::NO_WRITE ), Sb.mesh(), krVanGenuchtenCoeffs_.lookupOrDefault<scalar>("m",0)//在子字典中查找m ),
现在的问题是不知道为什么它的读取位置是在0文件里
-
CFD中文网2016-2023 | 京ICP备15017992号-2