时间平均与脉动统计:结果诊断与可信度验证
给出 fieldAverage 的 timeStart/timeEnd 与 prime2Mean 配置,讲清均值、RMS、雷诺应力的离散形式,并用独立样本数把统计窗口长度换算成可判定的标准误阈值。
OpenFOAMfieldAverage结果诊断与可信度验证时间平均与脉动统计专题
时间平均与脉动统计:结果诊断与可信度验证
fieldAverage 的 timeStart 决定统计窗口从哪里开始,选错会把启动瞬变算进平均值。本文给出 fieldAverage 的完整配置、均值与 RMS 的离散形式、由雷诺应力收缩求湍动能的手算,以及用独立样本数把窗口长度换算成可判定阈值的做法。
fieldAverage 配置与 prime2Mean
functions
{
fieldAverage
{
type fieldAverage;
libs ("libfieldFunctionObjects.so");
timeStart 2;
timeEnd 10;
writeArea false;
fields
(
U
{
mean on;
prime2Mean on;
base time;
}
p
{
mean on;
}
);
}
}
timeStart 2 表示 的启动段不参与平均,timeEnd 10 关闭统计,窗口长度 。prime2Mean 输出的是 的六个分量,即雷诺应力;base time 表示按时间加权而非按样本数加权。
均值、RMS 与雷诺应力
prime2Mean 给的是最后一个式子。湍动能由它收缩得到:
某算例得到 、、,则 。取 ,湍流强度 。
统计收敛的定量判定
均值标准误:
以 、积分时间尺度 得 。若 ,则 ,相对 为 1.06%。
判定收敛的实用做法是把窗口对半切,比较前后两半的均值。某尾流算例前半均值 8.42 m/s、后半 8.61 m/s,差 0.19 m/s,是 的 0.9 倍,判定收敛;若差值超过 5%,应延长窗口。
postProcess -func "fieldMinMax(fields=(UMean UPrime2Mean))" -time 10
postProcess -func "patchAverage(patch=outlet,fields=(UMean))" -time 10
第一条命令确认均值场与脉动场都已生成,第二条给出出口面上的时间平均速度,用于与实验或基准比对。
启动段与采样控制
timeStart必须晚于流场进入统计平稳的时刻。圆柱绕流在 时约 5~10 个脱落周期后平稳,即 。- 平均要求每个时间步都落盘,否则时间加权失真;
writeControl timeStep; writeInterval 1;是标准配置。 - 统计状态写在
uniform/time/下,重启后从该目录续算,不会丢失窗口。
失败模式
| 现象 | 根因 | 判定试验 |
|---|---|---|
| 平均值偏向初值 | timeStart 太早、含启动段 |
把 timeStart 后移 2 s 重算,看均值是否平移 |
| RMS 比文献小 30% | 采样稀疏、高频脉动被平均掉 | 改 writeInterval 1 并提高输出频率 |
prime2Mean 全为 0 |
只开了 mean on |
在字段子字典里加 prime2Mean on |
| 重启后均值突变 | 统计目录 uniform/time/ 未随算例迁移 |
确认重启时该目录存在且时间一致 |
| 均值随窗口线性漂移 | 流场未统计平稳 | 对半切窗口比对前后均值 |
参考文献
- S. B. Pope, Turbulent Flows, Cambridge University Press, 2000.
- G. K. Batchelor, The Theory of Homogeneous Turbulence, Cambridge University Press, 1953.
- H. Tennekes, J. L. Lumley, A First Course in Turbulence, MIT Press, 1972.
- OpenFOAM Foundation, OpenFOAM User Guide, §“fieldAverage”.
- P. Bradshaw, An Introduction to Turbulence and its Measurement, Pergamon Press, 1971.