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 }
scalar icAlpha(alphaControls.getOrDefault< scalar >("icAlpha", 0))
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
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.
volScalarField & rho1
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Definition: facDiv.C:43
engineTime & runTime
interfaceProperties interface(alpha1, U, thermo->transportPropertiesDict())
const volScalarField & alpha2
volScalarField divU(mesh.moving() ? fvc::div(phi+mesh.phi()) :fvc::div(phi))
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:81
dynamicFvMesh & mesh
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
Definition: stdFoam.H:201
volScalarField & rho2
surfaceScalarField phic(mixture.cAlpha() *mag(alphaPhic/mesh.magSf()))
label nAlphaSubCycles(alphaControls.get< label >("nAlphaSubCycles"))
U
Definition: pEqn.H:72
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
rhoPhi
Definition: rhoEqn.H:10
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:127
const volScalarField & alpha1