createFields.H
Go to the documentation of this file.
1#include "createRDeltaT.H"
2
3Info<< "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
17Info<< "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
33Info<< "Reading transportProperties\n" << endl;
34immiscibleIncompressibleTwoPhaseMixture mixture(U, phi);
35
38
39const dimensionedScalar& rho1 = mixture.rho1();
40const dimensionedScalar& rho2 = mixture.rho2();
41
42// Need to store rho for ddt(rho, U)
44(
45 IOobject
46 (
47 "rho",
48 runTime.timeName(),
49 mesh,
50 IOobject::READ_IF_PRESENT,
51 IOobject::AUTO_WRITE
52 ),
54);
55rho.oldTime();
56
57// Need to store mu as incompressibleTwoPhaseMixture does not store it
59(
60 IOobject
61 (
62 "mu",
63 runTime.timeName(),
64 mesh,
65 IOobject::READ_IF_PRESENT
66 ),
67 mixture.mu(),
68 calculatedFvPatchScalarField::typeName
69);
70
71
72// Mass flux
74(
75 IOobject
76 (
77 "rhoPhi",
78 runTime.timeName(),
79 mesh,
80 IOobject::NO_READ,
81 IOobject::NO_WRITE
82 ),
83 fvc::interpolate(rho)*phi
84);
85
86#include "readGravitationalAcceleration.H"
87#include "readhRef.H"
88#include "gh.H"
89
91(
92 IOobject
93 (
94 "p",
95 runTime.timeName(),
96 mesh,
97 IOobject::NO_READ,
98 IOobject::AUTO_WRITE
99 ),
100 p_rgh + rho*gh
101);
102
103label pRefCell = 0;
104scalar pRefValue = 0.0;
106(
107 p,
108 p_rgh,
109 mesh.solutionDict().subDict("PIMPLE"),
110 pRefCell,
112);
113
114if (p_rgh.needReference())
115{
117 (
118 "p",
119 p.dimensions(),
121 );
122 p_rgh = p - rho*gh;
123}
124
125mesh.setFluxRequired(p_rgh.name());
126mesh.setFluxRequired(alpha1.name());
127
128// alphac must be constructed before the cloud
129// so that the drag-models can find it
130volScalarField alphac
131(
132 IOobject
133 (
134 "alphac",
135 runTime.timeName(),
136 mesh,
137 IOobject::READ_IF_PRESENT,
138 IOobject::AUTO_WRITE
139 ),
140 mesh,
141 dimensionedScalar(dimless, Zero),
143);
144alphac.oldTime();
145
146volScalarField alphacRho(alphac*rho);
147alphacRho.oldTime();
148
149Info<< "Constructing kinematicCloud " << endl;
150basicKinematicCloud kinematicCloud
151(
152 "kinematicCloud",
153 rho,
154 U,
155 mu,
156 g
157);
158
159// Particle fraction upper limit
160scalar alphacMin
161(
162 1.0
163 - (
164 kinematicCloud.particleProperties().subDict("constantProperties")
165 .get<scalar>("alphaMax")
166 )
167);
168
169// Update alphac from the particle locations
170alphac = max(1.0 - kinematicCloud.theta(), alphacMin);
171alphac.correctBoundaryConditions();
172
173surfaceScalarField alphacf("alphacf", fvc::interpolate(alphac));
174
175// Phase mass flux
176surfaceScalarField alphaRhoPhic("alphaRhoPhic", alphacf*rhoPhi);
177
178// Volumetric phase flux
179surfaceScalarField alphaPhic("alphaPhic", alphacf*phi);
180
181autoPtr
182<
183 PhaseCompressibleTurbulenceModel
184 <
185 immiscibleIncompressibleTwoPhaseMixture
186 >
188(
189 PhaseCompressibleTurbulenceModel
190 <
191 immiscibleIncompressibleTwoPhaseMixture
192 >::New
193 (
194 alphac,
195 rho,
196 U,
197 alphaRhoPhic,
198 rhoPhi,
199 mixture
200 )
201);
202
203#include "createMRF.H"
Y[inertIndex] max(0.0)
rhoPhi
Definition: rhoEqn.H:10
const uniformDimensionedVectorField & g
volScalarField & p_rgh
surfaceScalarField & phi
const scalar pRefValue
const label pRefCell
const volScalarField & gh
const volScalarField & alpha1
volScalarField & rho2
const volScalarField & alpha2
volScalarField & rho1
Cloud class to introduce kinematic parcels.
U
Definition: pEqn.H:72
volScalarField & p
const volScalarField & mu
dynamicFvMesh & mesh
engineTime & runTime
compressible::turbulenceModel & turbulence
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
GeometricField< vector, fvPatchField, volMesh > volVectorField
Definition: volFieldsFwd.H:83
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:82
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
scalar getRefCellValue(const volScalarField &field, const label refCelli)
Return the current value of field in the reference cell.
Definition: findRefCell.C:134
setRefCell(p, pimple.dict(), pRefCell, pRefValue)
Info<< "Creating temperaturePhaseChangeTwoPhaseMixture\n"<< endl;autoPtr< temperaturePhaseChangeTwoPhaseMixture > mixture
Definition: createFields.H:39
static const char *const typeName
The type name used in ensight case files.