-
Notifications
You must be signed in to change notification settings - Fork 46
/
controlDict.populationBalance
92 lines (63 loc) · 1.96 KB
/
controlDict.populationBalance
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application pbeTransportFoam;
startFrom startTime;//latestTime;
startTime 0;
stopAt endTime;
endTime 5000;
deltaT 10;
writeControl adjustableRunTime;
writeInterval 10;
purgeWrite 10;
writeFormat binary;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 12;
runTimeModifiable true;
adjustTimeStep yes;
maxCo 0.9;
maxDeltaT 10;
functions
{
d43Average
{
type coded;
libs (libutilityFunctionObjects);
name d43VolumeAverage;
writeControl timeStep;
codeExecute
#{
const volScalarField& m3 =
mesh().lookupObject<volScalarField>("moment.3.populationBalance");
const volScalarField& m4 =
mesh().lookupObject<volScalarField>("moment.4.populationBalance");
volScalarField d43(m4/m3);
scalar volAverage = 0;
scalar totalVolume = 0;
forAll (d43, cellI)
{
totalVolume += mesh().V()[cellI];
}
forAll (d43, cellI)
{
volAverage += d43[cellI]*mesh().V()[cellI]/totalVolume;
}
Info<<"Volume averaged normalized d43: " << volAverage/(2.0e-6) << endl;
#};
}
}
// ************************************************************************* //