createFields.H
Go to the documentation of this file.
1 #include "createRDeltaT.H"
2 
3 Info<< "Reading field p_rgh\n" << endl;
5 (
6  IOobject
7  (
8  "p_rgh",
9  runTime.timeName(),
10  mesh,
11  IOobject::MUST_READ,
12  IOobject::AUTO_WRITE
13  ),
14  mesh
15 );
16 
17 Info<< "Reading field U\n" << endl;
19 (
20  IOobject
21  (
22  "U",
23  runTime.timeName(),
24  mesh,
25  IOobject::MUST_READ,
26  IOobject::AUTO_WRITE
27  ),
28  mesh
29 );
30 
31 #include "createPhi.H"
32 
33 Info<< "Constructing twoPhaseMixtureThermo\n" << endl;
34 twoPhaseMixtureThermo mixture(U, phi);
35 
36 volScalarField& alpha1(mixture.alpha1());
37 volScalarField& alpha2(mixture.alpha2());
38 
39 Info<< "Reading thermophysical properties\n" << endl;
40 
41 const volScalarField& rho1 = mixture.thermo1().rho();
42 const volScalarField& rho2 = mixture.thermo2().rho();
43 
45 (
46  IOobject
47  (
48  "rho",
49  runTime.timeName(),
50  mesh,
51  IOobject::READ_IF_PRESENT,
52  IOobject::AUTO_WRITE
53  ),
55 );
56 
57 
59 (
60  "pMin",
62  mixture
63 );
64 
65 mesh.setFluxRequired(p_rgh.name());
66 mesh.setFluxRequired(alpha1.name());
67 
68 
69 #include "readGravitationalAcceleration.H"
70 #include "readhRef.H"
71 #include "gh.H"
72 
73 
74 // Mass flux
75 // Initialisation does not matter because rhoPhi is reset after the
76 // alpha1 solution before it is used in the U equation.
78 (
79  IOobject
80  (
81  "rhoPhi",
82  runTime.timeName(),
83  mesh,
84  IOobject::NO_READ,
85  IOobject::NO_WRITE
86  ),
88 );
89 
91 
92 #include "createAlphaFluxes.H"
93 
94 // Construct compressible turbulence model
95 compressibleInterPhaseTransportModel turbulence
96 (
97  rho,
98  U,
99  phi,
100  rhoPhi,
101  alphaPhi10,
102  mixture
103 );
104 
105 #include "createK.H"
106 
107 #include "createMRF.H"
108 #include "createFvOptions.H"
109 
110 // Overset specific
111 
112 // Add solver-specific interpolations
113 {
114  wordHashSet& nonInt =
115  const_cast<wordHashSet&>(Stencil::New(mesh).nonInterpolatedFields());
116 
117  nonInt.insert("HbyA");
118  nonInt.insert("grad(p_rgh)");
119  nonInt.insert("nHat");
120  nonInt.insert("surfaceIntegrate(phi)");
121  nonInt.insert("surfaceIntegrate(phiHbyA)");
122  nonInt.insert("cellMask");
123  nonInt.insert("cellDisplacement");
124  nonInt.insert("interpolatedCells");
125  nonInt.insert("cellInterpolationWeight");
126  nonInt.insert("pcorr");
127 }
128 
129 // Mask field for zeroing out contributions on hole cells
130 #include "createCellMask.H"
131 
133 (
134  localMin<scalar>(mesh).interpolate(cellMask)
135 );
136 
137 // Create bool field with interpolated cells
138 #include "createInterpolatedCells.H"
runTime
engineTime & runTime
Definition: createEngineTime.H:13
Foam::dimPressure
const dimensionSet dimPressure
gh.H
U
volVectorField U(IOobject("U", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), mesh, dimensionedVector(dimVelocity, Zero))
rho1
const dimensionedScalar & rho1
Definition: createFields.H:46
p_rgh
p_rgh
Definition: createFields.H:95
rhoPhi
surfaceScalarField & rhoPhi
Definition: createFields.H:118
turbulence
Info<< "Reading field U\n"<< endl;volVectorField U(IOobject("U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);volScalarField rho(IOobject("rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), thermo.rho());volVectorField rhoU(IOobject("rhoU", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *U);volScalarField rhoE(IOobject("rhoE", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *(e+0.5 *magSqr(U)));surfaceScalarField pos(IOobject("pos", runTime.timeName(), mesh), mesh, dimensionedScalar("pos", dimless, 1.0));surfaceScalarField neg(IOobject("neg", runTime.timeName(), mesh), mesh, dimensionedScalar("neg", dimless, -1.0));surfaceScalarField phi("phi", fvc::flux(rhoU));Info<< "Creating turbulence model\n"<< endl;autoPtr< compressible::turbulenceModel > turbulence(compressible::turbulenceModel::New(rho, U, phi, thermo))
Definition: createFields.H:94
createRDeltaT.H
rho
rho
Definition: createFields.H:81
faceMask
surfaceScalarField faceMask(localMin< scalar >(mesh).interpolate(cellMask))
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:369
Foam::fac::div
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Definition: facDiv.C:50
alpha1
volScalarField & alpha1(thermo->alpha1())
createFvOptions.H
rho2
const dimensionedScalar & rho2
Definition: createFields.H:47
Foam::Info
messageStream Info
Information stream (stdout output on master, null elsewhere)
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:42
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::volScalarField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:57
createK.H
alphaPhi10
surfaceScalarField alphaPhi10(alphaPhi10Header, phi *fvc::interpolate(alpha1))
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:6
Foam::New
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
Definition: DimensionedFieldReuseFunctions.H:105
Foam::volVectorField
GeometricField< vector, fvPatchField, volMesh > volVectorField
Definition: volFieldsFwd.H:62
createInterpolatedCells.H
Creates mask for interpolated cells.
Foam::surfaceScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Definition: surfaceFieldsFwd.H:54
createAlphaFluxes.H
readhRef.H
pMin
dimensionedScalar pMin("pMin", dimPressure, fluid)
Foam::HashSet::insert
bool insert(const Key &key)
Insert a new entry, not overwriting existing entries.
Definition: HashSet.H:191
createCellMask.H
Creates mask for blocked out cells.
Foam::wordHashSet
HashSet< word, Hash< word > > wordHashSet
A HashSet of words, uses string hasher.
Definition: HashSet.H:77
mixture
Info<< "Creating temperaturePhaseChangeTwoPhaseMixture\n"<< endl;autoPtr< temperaturePhaseChangeTwoPhaseMixture > mixture
Definition: createFields.H:39
alpha2
volScalarField & alpha2(thermo->alpha2())
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.