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 CoNum =
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 = max(UrCoNum, CoNum);
47 }
48 }
49
50 Info<< "Courant Number max: " << CoNum << endl;
Y[inertIndex] max(0.0)
PtrList< fvMesh > fluidRegions(fluidNames.size())
surfaceScalarField & phi
PtrList< twoPhaseSystem > phaseSystemFluid(fluidRegions.size())
surfaceScalarField & phi2
surfaceScalarField & phi1
rDeltaTY field()
engineTime & runTime
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:372
#define forAll(list, i)
Loop across all elements in list.
Definition: stdFoam.H:333