自适应输出间隔

自适应输出间隔

controlDict 中加入如下代码:

functions
{
fileUpdate1
{
type timeActivatedFileUpdate;
libs ("libutilityFunctionObjects.so");
writeControl timeStep;
writeInterval 1;
fileToUpdate "$FOAM_CASE/system/controlDict";
timeVsFile
(
(0.2 "$FOAM_CASE/system/controlDict1")
(0.4 "$FOAM_CASE/system/controlDict2")
(0.6 "$FOAM_CASE/system/controlDict3")
);
}
}

然后复制几份 controlDict

cp system/controlDict system/controlDict1
cp system/controlDict system/controlDict2
cp system/controlDict system/controlDict3

从 0.2 开始,用的是 controlDict1 里的设置。
从 0.4 开始,用的是 controlDict2 里的设置。
从 0.6 开始,用的是 controlDict3 里的设置。
我们可以在这三个 controlDict 里设置不同的输出时间间隔。
这样就能随意操控输出间隔了。
当然了,还可以控制其它参数,请自行探索。
timeActivatedFileUpdate 这个功能还可以用于其他文件,请自行探索。

OpenFOAM 自带的 timeActivatedFileUpdate 不支持发动机算例。
因为在算例里边,发动机里边的 Time 是按照曲轴转角来计算的。
但是在代码中仍然是按照秒来计算的。
我修改了一下官方代码,现在已支持发动机算例!
代码地址

文章作者: Yan Zhang
文章链接: https://openfoam.top/adjustableWrite/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 OpenFOAM 成长之路
您的肯定会给我更大动力~