alphaEqnSubCycle.H
Go to the documentation of this file.
1{
3 (
4 IOobject
5 (
6 "alphaPhi",
7 runTime.timeName(),
8 mesh
9 ),
10 mesh,
11 dimensionedScalar(phi.dimensions(), Zero)
12 );
13
14 surfaceScalarField phir(fvc::flux(UdmModel.Udm()));
15
17 {
18 dimensionedScalar totalDeltaT = runTime.deltaT();
19 surfaceScalarField alphaPhiSum
20 (
21 IOobject
22 (
23 "alphaPhiSum",
24 runTime.timeName(),
25 mesh
26 ),
27 mesh,
28 dimensionedScalar(phi.dimensions(), Zero)
29 );
30
31 for
32 (
33 subCycle<volScalarField> alphaSubCycle(alpha1, nAlphaSubCycles);
34 !(++alphaSubCycle).end();
35 )
36 {
37 #include "alphaEqn.H"
38 alphaPhiSum += (runTime.deltaT()/totalDeltaT)*alphaPhi;
39 }
40
41 alphaPhi = alphaPhiSum;
42 }
43 else
44 {
45 #include "alphaEqn.H"
46 }
47
48 // Apply the diffusion term separately to allow implicit solution
49 // and boundedness of the explicit advection
50 {
51 fvScalarMatrix alpha1Eqn
52 (
53 fvm::ddt(alpha1) - fvc::ddt(alpha1)
54 - fvm::laplacian(turbulence->nut(), alpha1)
55 );
56
57 alpha1Eqn.solve(mesh.solver("alpha1Diffusion"));
58
59 alphaPhi += alpha1Eqn.flux();
60 alpha2 = 1.0 - alpha1;
61
62 Info<< "Phase-1 volume fraction = "
63 << alpha1.weightedAverage(mesh.Vsc()).value()
64 << " Min(" << alpha1.name() << ") = " << min(alpha1).value()
65 << " Max(" << alpha1.name() << ") = " << max(alpha1).value()
66 << endl;
67 }
68
70 rho = mixture.rho();
71}
Y[inertIndex] max(0.0)
rhoPhi
Definition: rhoEqn.H:10
surfaceScalarField & phi
const volScalarField & alpha1
volScalarField & rho2
const volScalarField & alpha2
volScalarField & rho1
dynamicFvMesh & mesh
engineTime & runTime
surfaceScalarField phir(fvc::flux(UdmModel.Udm()))
compressible::turbulenceModel & turbulence
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
fvMatrix< scalar > fvScalarMatrix
Definition: fvMatricesFwd.H:45
messageStream Info
Information stream (stdout output on master, null elsewhere)
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:372
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
Definition: hashSets.C:33
Info<< "Creating temperaturePhaseChangeTwoPhaseMixture\n"<< endl;autoPtr< temperaturePhaseChangeTwoPhaseMixture > mixture
Definition: createFields.H:39
label nAlphaSubCycles(alphaControls.get< label >("nAlphaSubCycles"))
surfaceScalarField alphaPhi(phi.name()+alpha1.name(), fvc::flux(phi, alpha1, alphaScheme))