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),
60  zeroGradientFvPatchSymmTensorField::typeName
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  }
runTime
engineTime & runTime
Definition: createEngineTime.H:13
Foam::dimensionedSymmTensor
dimensioned< symmTensor > dimensionedSymmTensor
Dimensioned tensor obtained from generic dimensioned type.
Definition: dimensionedSymmTensor.H:50
Foam::Zero
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
forAll
forAll(solidRegions, i)
Definition: createSolidFields.H:10
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:369
Foam::PtrList::set
const T * set(const label i) const
Return const pointer to element (can be nullptr),.
Definition: PtrList.H:138
betavSolidIO
IOobject betavSolidIO("betavSolid", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE)
solidHeatSources
PtrList< fv::options > solidHeatSources(solidRegions.size())
radiations
PtrList< radiation::radiationModel > radiations(solidRegions.size())
Foam::volSymmTensorField
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
Definition: volFieldsFwd.H:65
Foam::Info
messageStream Info
Information stream (stdout output on master, null elsewhere)
coordinates
PtrList< coordinateSystem > coordinates(solidRegions.size())
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:42
Foam::volScalarField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:57
T
const volScalarField & T
Definition: createFieldRefs.H:2
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
aniAlphas
PtrList< volSymmTensorField > aniAlphas(solidRegions.size())
Foam::nl
constexpr char nl
Definition: Ostream.H:404
solidRegions
PtrList< fvMesh > solidRegions(solidNames.size())
betavSolid
PtrList< volScalarField > betavSolid(solidRegions.size())
Foam::dimless
const dimensionSet dimless
Dimensionless.
Definition: dimensionSets.C:189
thermos
PtrList< solidThermo > thermos(solidRegions.size())