Loading...
Searching...
No Matches
compressibleMultiRegionCourantNo.H
Go to the documentation of this file.
1 scalar CoNum = -GREAT;
2
4 {
5 if (fluidRegions[regioni].nInternalFaces())
6 {
7 const surfaceScalarField& phi =
8 phaseSystemFluid[regioni].phi();
9
10 scalarField sumPhi
11 (
12 fvc::surfaceSum(mag(phi))().primitiveField()
13 );
14
15 const surfaceScalarField& phi1 =
16 phaseSystemFluid[regioni].phase1().phiRef();
17
18 const surfaceScalarField& phi2 =
19 phaseSystemFluid[regioni].phase2().phiRef();
20
21 sumPhi = max
22 (
23 sumPhi,
24 fvc::surfaceSum(mag(phi1))().primitiveField()
25 );
26
27 sumPhi = max
28 (
29 sumPhi,
30 fvc::surfaceSum(mag(phi2))().primitiveField()
31 );
32
33
34 scalar regionCoNum =
35 0.5*gMax
36 (
37 sumPhi/fluidRegions[regioni].V().field()
38 )*runTime.deltaTValue();
39
40 scalar UrCoNum = 0.5*gMax
41 (
42 fvc::surfaceSum(mag(phi1 - phi2))().primitiveField()
43 / fluidRegions[regioni].V().field()
44 )*runTime.deltaTValue();
45
46 CoNum = Foam::max(CoNum, Foam::max(regionCoNum, UrCoNum));
47 }
48 }
49
50 Info<< "Courant Number max: " << CoNum << endl;
PtrList< fvMesh > fluidRegions(fluidNames.size())
PtrList< twoPhaseSystem > phaseSystemFluid(fluidRegions.size())
surfaceScalarField & phi2
surfaceScalarField & phi1
rDeltaTY field()
engineTime & runTime
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
Definition hashSets.C:40
messageStream Info
Information stream (stdout output on master, null elsewhere).
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition Ostream.H:519
scalar CoNum
#define forAll(list, i)
Loop across all elements in list.
Definition stdFoam.H:299