compressibleMultiRegionCourantNo.H
Go to the documentation of this file.
1  scalar CoNum = -GREAT;
2 
3  forAll(fluidRegions, regioni)
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;
runTime
engineTime & runTime
Definition: createEngineTime.H:13
Foam::fvc::surfaceSum
tmp< GeometricField< Type, fvPatchField, volMesh > > surfaceSum(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Definition: fvcSurfaceIntegrate.C:135
Foam::scalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Definition: primitiveFieldsFwd.H:52
phi1
surfaceScalarField & phi1
Definition: setRegionFluidFields.H:12
phaseSystemFluid
PtrList< twoPhaseSystem > phaseSystemFluid(fluidRegions.size())
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:369
phi2
surfaceScalarField & phi2
Definition: setRegionFluidFields.H:16
Foam::Info
messageStream Info
Information stream (stdout output on master, null elsewhere)
field
rDeltaTY field()
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::max
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
Definition: hashSets.C:47
CoNum
scalar CoNum
Definition: compressibleMultiRegionCourantNo.H:1
fluidRegions
PtrList< fvMesh > fluidRegions(fluidNames.size())
Foam::surfaceScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Definition: surfaceFieldsFwd.H:54
forAll
forAll(fluidRegions, regionI)
Definition: compressibleMultiRegionCourantNo.H:2
Foam::mag
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
Foam::gMax
Type gMax(const FieldField< Field, Type > &f)
Definition: FieldFieldFunctions.C:592