alphaEqnSubCycle.H
Go to the documentation of this file.
1 {
2  // Standard face-flux compression coefficient
3  surfaceScalarField phic(interface.cAlpha()*mag(phi/mesh.magSf()));
4 
5  // Add the optional isotropic compression contribution
6  if (icAlpha > 0)
7  {
8  phic *= (1.0 - icAlpha);
9  phic += (interface.cAlpha()*icAlpha)*fvc::interpolate(mag(U));
10  }
11 
13  (
14  mesh.moving()
15  ? fvc::div(phi + mesh.phi())
16  : fvc::div(phi)
17  );
18 
19  if (nAlphaSubCycles > 1)
20  {
21  dimensionedScalar totalDeltaT = runTime.deltaT();
22  surfaceScalarField rhoPhiSum
23  (
24  IOobject
25  (
26  "rhoPhiSum",
27  runTime.timeName(),
28  mesh
29  ),
30  mesh,
31  dimensionedScalar(rhoPhi.dimensions(), Zero)
32  );
33 
34  for
35  (
36  subCycle<volScalarField> alphaSubCycle(alpha1, nAlphaSubCycles);
37  !(++alphaSubCycle).end();
38  )
39  {
40  #include "alphaEqn.H"
41  rhoPhiSum += (runTime.deltaT()/totalDeltaT)*rhoPhi;
42  }
43 
44  rhoPhi = rhoPhiSum;
45  }
46  else
47  {
48  #include "alphaEqn.H"
49  }
50 
51  rho == alpha1*rho1 + alpha2*rho2;
52 }
runTime
engineTime & runTime
Definition: createEngineTime.H:13
rhoPhi
rhoPhi
Definition: rhoEqn.H:10
Foam::Zero
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
alpha2
const volScalarField & alpha2
Definition: setRegionFluidFields.H:9
interface
interfaceProperties interface(alpha1, U, thermo->transportPropertiesDict())
alphaEqn.H
alpha1
const volScalarField & alpha1
Definition: setRegionFluidFields.H:8
nAlphaSubCycles
label nAlphaSubCycles(alphaControls.get< label >("nAlphaSubCycles"))
rho
rho
Definition: alphaEqnSubCycle.H:70
Foam::fac::div
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Definition: facDiv.C:50
phic
surfaceScalarField phic(mixture.cAlpha() *mag(alphaPhic/mesh.magSf()))
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:42
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
rho2
volScalarField & rho2
Definition: setRegionFluidFields.H:30
Foam::volScalarField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:57
rho1
volScalarField & rho1
Definition: setRegionFluidFields.H:27
icAlpha
scalar icAlpha(alphaControls.getOrDefault< scalar >("icAlpha", 0))
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:6
stdFoam::end
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
Definition: stdFoam.H:121
U
U
Definition: pEqn.H:72
Foam::surfaceScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Definition: surfaceFieldsFwd.H:54
Foam::mag
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
divU
volScalarField divU(mesh.moving() ? fvc::div(phi+mesh.phi()) :fvc::div(phi))
Foam::fac::interpolate
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate(const GeometricField< Type, faPatchField, areaMesh > &tvf, const edgeScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.