使用版本fe40,求解器interFoam,求解中途暂停后无法继续运算
-
各位大佬们好!如题,我在使用interFoam计算时中止,后继续终端报错如下:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 4.0 | | \\ / A nd | Web: http://www.foam-extend.org | | \\/ M anipulation | For copyright notice see file Copyright | \*---------------------------------------------------------------------------*/ Build : 4.0-268bb07d15d8 Exec : interFoam Date : Jul 02 2024 Time : 11:56:39 Host : gunther-All-Series PID : 5817 CtrlDict : "/home/gunther/TANHAO/interFoam/ras/cylinder/system/controlDict" Case : /home/gunther/TANHAO/interFoam/ras/cylinder nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 64 PIMPLE: Operating solver in PISO mode Reading g Reading field pd --> FOAM FATAL IO ERROR: wrong token type - expected word found on line 9453 the punctuation token '(' file: /home/gunther/TANHAO/interFoam/ras/cylinder/64/pd::boundaryField::in::rAU at line 9453. From function operator>>(Istream&, word&) in file primitives/strings/word/wordIO.C at line 76. FOAM exiting
其中“64”文件夹中"pd"文件对应内容如下:
我特意去查询interFoam的pEqn.H代码,其中rAU定义如下:
volScalarField rUA = 1.0/UEqn.A(); surfaceScalarField rUAf = fvc::interpolate(rUA); U = rUA*UEqn.H();
参照链接关于laplacian((1/A(U)),p)的疑惑与icoFoam.dep文件的疑惑大佬中的回答,
rAU的名称通过量纲以及符号运算得到,1.0/UEqn.A()的名称为(1|A(U))。
因此,想不出本问题对应的解决办法,希望各位大佬帮忙答疑解惑,不甚感激!!!
(PS:吐槽一句,如果我中途不暂停,下一时间步需要读取之前时间的数据,为啥就不报错呢。。。)
-
最新进展:我将0文件中的pd边界条件进行了修改,可以实现中断后继续运算,但原问题依旧不知该如何解决。
代码如下:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 4.0 | | \\ / A nd | Web: http://www.foam-extend.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; object pd; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -2 0 0 0 0]; internalField uniform 0; boundaryField { out { //type zeroGradient; type fixedValue; value $internalField; } "(sym1|sym2)" { type symmetryPlane; } in { //type fixedFluxPressure; //value $interField; type zeroGradient; } cylinder { //type fixedFluxPressure; //value $interField; type zeroGradient; } "(front|back)" { type empty; } } // ************************************************************************* //