createFluidFields.H
Go to the documentation of this file.
1 // Initialise fluid field pointer lists
2 PtrList<fluidReactionThermo> thermoFluid(fluidRegions.size());
3 PtrList<volScalarField> rhoFluid(fluidRegions.size());
4 PtrList<volVectorField> UFluid(fluidRegions.size());
5 PtrList<surfaceScalarField> phiFluid(fluidRegions.size());
6 PtrList<uniformDimensionedVectorField> gFluid(fluidRegions.size());
7 PtrList<uniformDimensionedScalarField> hRefFluid(fluidRegions.size());
8 PtrList<uniformDimensionedScalarField> pRefFluid(fluidRegions.size());
9 PtrList<volScalarField> ghFluid(fluidRegions.size());
10 PtrList<surfaceScalarField> ghfFluid(fluidRegions.size());
11 PtrList<compressible::momentumTransportModel>
13 PtrList<fluidReactionThermophysicalTransportModel>
15 PtrList<combustionModel> reactionFluid(fluidRegions.size());
16 PtrList<volScalarField> p_rghFluid(fluidRegions.size());
17 PtrList<volScalarField> KFluid(fluidRegions.size());
18 PtrList<volScalarField> dpdtFluid(fluidRegions.size());
19 PtrList<multivariateSurfaceInterpolationScheme<scalar>::fieldTable>
20  fieldsFluid(fluidRegions.size());
21 
22 List<scalar> initialMassFluid(fluidRegions.size());
23 
24 PtrList<IOMRFZoneList> MRFfluid(fluidRegions.size());
25 PtrList<Foam::fvModels> fvModelsFluid(fluidRegions.size());
26 PtrList<fvConstraints> fvConstraintsFluid(fluidRegions.size());
27 
28 // Populate fluid field pointer lists
30 {
31  Info<< "*** Reading fluid mesh thermophysical properties for region "
32  << fluidRegions[i].name() << nl << endl;
33 
34  Info<< " Adding to thermoFluid\n" << endl;
36 
37  Info<< " Adding to rhoFluid\n" << endl;
38  rhoFluid.set
39  (
40  i,
41  new volScalarField
42  (
43  IOobject
44  (
45  "rho",
46  runTime.timeName(),
47  fluidRegions[i],
48  IOobject::NO_READ,
49  IOobject::AUTO_WRITE
50  ),
51  thermoFluid[i].rho()
52  )
53  );
54 
55  Info<< " Adding to UFluid\n" << endl;
56  UFluid.set
57  (
58  i,
59  new volVectorField
60  (
61  IOobject
62  (
63  "U",
64  runTime.timeName(),
65  fluidRegions[i],
66  IOobject::MUST_READ,
67  IOobject::AUTO_WRITE
68  ),
69  fluidRegions[i]
70  )
71  );
72 
73  Info<< " Adding to phiFluid\n" << endl;
74  phiFluid.set
75  (
76  i,
78  (
79  IOobject
80  (
81  "phi",
82  runTime.timeName(),
83  fluidRegions[i],
84  IOobject::READ_IF_PRESENT,
85  IOobject::AUTO_WRITE
86  ),
88  & fluidRegions[i].Sf()
89  )
90  );
91 
92  Info<< " Adding to gFluid\n" << endl;
93  gFluid.set
94  (
95  i,
97  (
98  IOobject
99  (
100  "g",
101  runTime.constant(),
102  fluidRegions[i],
103  IOobject::MUST_READ,
104  IOobject::NO_WRITE
105  )
106  )
107  );
108 
109  Info<< " Adding to hRefFluid\n" << endl;
110  hRefFluid.set
111  (
112  i,
114  (
115  IOobject
116  (
117  "hRef",
118  runTime.constant(),
119  fluidRegions[i],
120  IOobject::READ_IF_PRESENT,
121  IOobject::NO_WRITE
122  ),
124  )
125  );
126 
127  Info<< " Adding to pRefFluid\n" << endl;
128  pRefFluid.set
129  (
130  i,
132  (
133  IOobject
134  (
135  "pRef",
136  runTime.constant(),
137  fluidRegions[i],
138  IOobject::READ_IF_PRESENT,
139  IOobject::NO_WRITE
140  ),
142  )
143  );
144 
145  dimensionedScalar ghRef(- mag(gFluid[i])*hRefFluid[i]);
146 
147  Info<< " Adding to ghFluid\n" << endl;
148  ghFluid.set
149  (
150  i,
151  new volScalarField
152  (
153  "gh",
154  (gFluid[i] & fluidRegions[i].C()) - ghRef
155  )
156  );
157 
158  Info<< " Adding to ghfFluid\n" << endl;
159  ghfFluid.set
160  (
161  i,
163  (
164  "ghf",
165  (gFluid[i] & fluidRegions[i].Cf()) - ghRef
166  )
167  );
168 
169  Info<< " Adding to turbulenceFluid\n" << endl;
170  turbulenceFluid.set
171  (
172  i,
174  (
175  rhoFluid[i],
176  UFluid[i],
177  phiFluid[i],
178  thermoFluid[i]
179  ).ptr()
180  );
181 
182  Info<< " Adding to thermophysicalTransport\n" << endl;
184  (
185  i,
187  (
188  turbulenceFluid[i],
189  thermoFluid[i]
190  ).ptr()
191  );
192 
193  Info<< " Adding to reactionFluid\n" << endl;
194  reactionFluid.set
195  (
196  i,
198  );
199 
200  p_rghFluid.set
201  (
202  i,
203  new volScalarField
204  (
205  IOobject
206  (
207  "p_rgh",
208  runTime.timeName(),
209  fluidRegions[i],
210  IOobject::MUST_READ,
211  IOobject::AUTO_WRITE
212  ),
213  fluidRegions[i]
214  )
215  );
216 
217  fluidRegions[i].schemes().setFluxRequired(p_rghFluid[i].name());
218 
220 
221  Info<< " Adding to KFluid\n" << endl;
222  KFluid.set
223  (
224  i,
225  new volScalarField
226  (
227  "K",
228  0.5*magSqr(UFluid[i])
229  )
230  );
231 
232  Info<< " Adding to dpdtFluid\n" << endl;
233  dpdtFluid.set
234  (
235  i,
236  new volScalarField
237  (
238  IOobject
239  (
240  "dpdt",
241  runTime.timeName(),
242  fluidRegions[i]
243  ),
244  fluidRegions[i],
246  (
247  thermoFluid[i].p().dimensions()/dimTime,
248  0
249  )
250  )
251  );
252 
253  Info<< " Adding to fieldsFluid\n" << endl;
254  fieldsFluid.set
255  (
256  i,
257  new multivariateSurfaceInterpolationScheme<scalar>::fieldTable
258  );
259  forAll(thermoFluid[i].composition().Y(), j)
260  {
261  fieldsFluid[i].add(thermoFluid[i].composition().Y()[j]);
262  }
263  fieldsFluid[i].add(thermoFluid[i].he());
264 
265  Info<< " Adding MRF\n" << endl;
266  MRFfluid.set
267  (
268  i,
269  new IOMRFZoneList(fluidRegions[i])
270  );
271 
272  Info<< " Adding fvModelsFluid\n" << endl;
273  fvModelsFluid.set
274  (
275  i,
277  );
278 
279  Info<< " Adding fvConstraintsFluid\n" << endl;
281  (
282  i,
284  );
285 
286  turbulenceFluid[i].validate();
287 }
PtrList< uniformDimensionedScalarField > pRefFluid(fluidRegions.size())
PtrList< fluidReactionThermophysicalTransportModel > thermophysicalTransportFluid(fluidRegions.size())
PtrList< uniformDimensionedVectorField > gFluid(fluidRegions.size())
PtrList< volVectorField > UFluid(fluidRegions.size())
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
PtrList< IOMRFZoneList > MRFfluid(fluidRegions.size())
UniformDimensionedField< vector > uniformDimensionedVectorField
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > linearInterpolate(const GeometricField< Type, fvPatchField, volMesh > &vf)
Definition: linear.H:108
basicSpecieMixture & composition
PtrList< Foam::fvModels > fvModelsFluid(fluidRegions.size())
const dimensionSet dimPressure
PtrList< volScalarField > p_rghFluid(fluidRegions.size())
PtrList< uniformDimensionedScalarField > hRefFluid(fluidRegions.size())
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:251
dimensioned< Type > domainIntegrate(const GeometricField< Type, fvPatchField, volMesh > &vf)
PtrList< fluidReactionThermo > thermoFluid(fluidRegions.size())
GeometricField< vector, fvPatchField, volMesh > volVectorField
Definition: volFieldsFwd.H:59
UniformDimensionedField< scalar > uniformDimensionedScalarField
const dimensionSet dimLength
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:58
List< scalar > initialMassFluid(fluidRegions.size())
PtrList< volScalarField > ghFluid(fluidRegions.size())
const dimensionSet dimTime
Foam::fvConstraints & fvConstraints
PtrList< volScalarField > KFluid(fluidRegions.size())
PtrList< fvConstraints > fvConstraintsFluid(fluidRegions.size())
PtrList< combustionModel > reactionFluid(fluidRegions.size())
Finite volume models.
Definition: fvModels.H:60
PtrList< volScalarField > dpdtFluid(fluidRegions.size())
PtrList< multivariateSurfaceInterpolationScheme< scalar >::fieldTable > fieldsFluid(fluidRegions.size())
PtrList< fvMesh > fluidRegions(fluidNames.size())
PtrList< compressible::momentumTransportModel > turbulenceFluid(fluidRegions.size())
dimensioned< scalar > magSqr(const dimensioned< Type > &)
PtrList< surfaceScalarField > ghfFluid(fluidRegions.size())
static const char nl
Definition: Ostream.H:260
thermo he()
forAll(fluidRegions, i)
word name(const complex &)
Return a string representation of a complex.
Definition: complex.C:47
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
PtrList< volScalarField > & Y
messageStream Info
dimensioned< scalar > mag(const dimensioned< Type > &)
volScalarField & p
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
PtrList< surfaceScalarField > phiFluid(fluidRegions.size())
PtrList< volScalarField > rhoFluid(fluidRegions.size())