用fieldAverage函数取时间平均,结果好像对不上
-
求解器:dsmcFoam
对dsmcRhoN(dsmc粒子数)这个量,给它做时间平均。第2个时间步的dsmcRhoNMean应该是第1个时间步t1和第2两个时间步t2的两个dsmcRhoN的平均值吧?但是输出的结果不是这样的。
比如wedge15Ma5这个算例,t1时刻dsmcRhoN=12,t2时刻dsmcRhoN=10,但t2时刻dsmcRhoNMean却是11.28
文件输出间隔和时间步大小相同。
/*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 9 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application dsmcFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 1e-5; deltaT 1e-6; writeControl runTime; writeInterval 1e-6; purgeWrite 0; writeFormat ascii; writePrecision 10; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable true; adjustTimeStep no; functions { fieldAverage1 { #includeEtc "caseDicts/postProcessing/fields/fieldAverage.cfg" fields ( rhoN rhoM dsmcRhoN momentum linearKE internalE iDof q fD ); } dsmcFields1 { type dsmcFields; libs ("liblagrangianFunctionObjects.so"); writeControl writeTime; } } // ************************************************************************* //
-
请问题主解决此问题了吗?