@浪迹天大 老师您好,按照这个方法,我需要更改controlDict中的maxDeltaT。但是会发现文件更新不起作用。
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2012                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version         2.0;
    format          ascii;
    class           dictionary;
    location        "system";
    object          controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application     interFlowVb1;
startFrom       latestTime;
startTime       0;
stopAt          endTime;
endTime         0.3;
deltaT          0.00005;
writeControl    adjustableRunTime;
writeInterval   0.05;
purgeWrite      0;
writeFormat     binary;
writePrecision  8;
writeCompression off;
timeFormat      general;
timePrecision   8;
runTimeModifiable yes;
adjustTimeStep  yes;
maxCo           0.5;
maxAlphaCo      0.5;
maxCapillaryNum 10; // stability criteria is 1
 maxDeltaT       2e-5;//controlDict.a;
// maxDeltaT       1e-5;//controlDict.b;
// maxDeltaT       5e-6;//controlDict.c;
functions
{
    fileUpdate1
    {
        type              timeActivatedFileUpdate;
        libs              ("libutilityFunctionObjects.so");
        writeControl      timeStep;
        writeInterval     1;
        fileToUpdate      "$FOAM_CASE/system/controlDict";
        timeVsFile
        (
            (-1 "$FOAM_CASE/system/controlDict.a")
            (1e-4 "$FOAM_CASE/system/controlDict.b")
            (2e-4 "$FOAM_CASE/system/controlDict.c")
        );
    }
}
三个文件只有maxDeltaT有差别,请老师捞捞@李东岳 @浪迹天大
运行后结果提示:
timeActivatedFileUpdate: copying file
"~/orifice3Da/system/controlDict.c"
to:
"~/orifice3Da/system/controlDict"
Courant Number mean: 2.0171174e-08 max: 0.3369988
Interface Courant Number mean: 2.978204e-10 max: 0.22052861
Capillary Number: 2.4526254
deltaT = 2e-05
Time = 0.00022
文件有更新,并且maxDeltaT也更新为了1e-5; 但是它没有发挥作用,可以看到文件更新后的deltaT 依然是 2e-05,如果是我自己运行过程中手动改小maxDeltaT,它会马上从deltaT = 2e-05,便为deltaT = 1e-05。