createSolidFields.H
Go to the documentation of this file.
1  // Initialise solid field pointer lists
2  PtrList<coordinateSystem> coordinates(solidRegions.size());
3  PtrList<solidThermo> thermos(solidRegions.size());
4  PtrList<radiation::radiationModel> radiations(solidRegions.size());
5  PtrList<fv::options> solidHeatSources(solidRegions.size());
6  PtrList<volScalarField> betavSolid(solidRegions.size());
7  PtrList<volSymmTensorField> aniAlphas(solidRegions.size());
8 
9  // Populate solid field pointer lists
11  {
12  Info<< "*** Reading solid mesh thermophysical properties for region "
13  << solidRegions[i].name() << nl << endl;
14 
15  Info<< " Adding to thermos\n" << endl;
17 
18  Info<< " Adding to radiations\n" << endl;
20 
21  Info<< " Adding fvOptions\n" << endl;
23  (
24  i,
25  new fv::options(solidRegions[i])
26  );
27 
28  if (!thermos[i].isotropic())
29  {
30  Info<< " Adding coordinateSystems\n" << endl;
32  (
33  i,
35  (
36  solidRegions[i],
37  thermos[i],
38  coordinateSystem::typeName
39  )
40  );
41 
42  tmp<volVectorField> tkappaByCp =
43  thermos[i].Kappa()/thermos[i].Cp();
44 
45  aniAlphas.set
46  (
47  i,
49  (
50  IOobject
51  (
52  "Anialpha",
53  runTime.timeName(),
54  solidRegions[i],
55  IOobject::NO_READ,
56  IOobject::NO_WRITE
57  ),
58  solidRegions[i],
59  dimensionedSymmTensor(tkappaByCp().dimensions(), Zero),
61  )
62  );
63 
64  aniAlphas[i].primitiveFieldRef() =
65  coordinates[i].transformPrincipal
66  (
67  solidRegions[i].cellCentres(),
68  tkappaByCp()
69  );
70  aniAlphas[i].correctBoundaryConditions();
71 
72  }
73 
74  IOobject betavSolidIO
75  (
76  "betavSolid",
77  runTime.timeName(),
78  solidRegions[i],
79  IOobject::MUST_READ,
80  IOobject::AUTO_WRITE
81  );
82 
83  if (betavSolidIO.typeHeaderOk<volScalarField>(true))
84  {
85  betavSolid.set
86  (
87  i,
89  );
90  }
91  else
92  {
93  betavSolid.set
94  (
95  i,
96  new volScalarField
97  (
98  IOobject
99  (
100  "betavSolid",
101  runTime.timeName(),
102  solidRegions[i],
103  IOobject::NO_READ,
104  IOobject::NO_WRITE
105  ),
106  solidRegions[i],
107  dimensionedScalar("1", dimless, scalar(1))
108  )
109  );
110  }
111  }
PtrList< volScalarField > betavSolid(solidRegions.size())
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
Definition: volFieldsFwd.H:85
const word zeroGradientType
A zeroGradient patch field type.
constexpr char nl
The newline &#39;\n&#39; character (0x0a)
Definition: Ostream.H:50
engineTime & runTime
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:531
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
PtrList< fvMesh > solidRegions(solidNames.size())
const dimensionSet dimless
Dimensionless.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:81
PtrList< fv::options > solidHeatSources(solidRegions.size())
PtrList< solidThermo > thermos(solidRegions.size())
const T * set(const label i) const
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie...
Definition: PtrList.H:159
IOobject betavSolidIO("betavSolid", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE)
PtrList< volSymmTensorField > aniAlphas(solidRegions.size())
dimensioned< symmTensor > dimensionedSymmTensor
Dimensioned tensor obtained from generic dimensioned type.
const volScalarField & T
forAll(solidRegions, i)
PtrList< coordinateSystem > coordinates(solidRegions.size())
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
messageStream Info
Information stream (stdout output on master, null elsewhere)
PtrList< radiation::radiationModel > radiations(solidRegions.size())
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:127