constAnisoSolidThermo.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::constAnisoSolidThermo
26 
27 Description
28  Uniform or non-uniform constant anisotropic solid thermodynamic properties
29 
30  Each physical property can specified as either \c uniform in which case the
31  value entry is read, \c zonal in which case the value entry and zone list
32  are read or \c file in which case the field file in read from the constant
33  directory. The thermal conductivity \c Kappa is anisotropic and read as a
34  diagonal tensor or diagonal tensor field provided in the form of a vector
35  or vector field.
36 
37 Usage
38  Example of uniform constant solid properties specification:
39  \verbatim
40  thermoType constAnisoSolidThermo;
41 
42  rho
43  {
44  type uniform;
45  value 8940;
46  }
47 
48  Cv
49  {
50  type uniform;
51  value 385;
52  }
53 
54  Kappa
55  {
56  type uniform;
57  value (380 100 100);
58  }
59  \endverbatim
60 
61  Example of zonal constant solid properties specification where Kappa is
62  different in different zones:
63  \verbatim
64  thermoType constSolidThermo;
65 
66  rho
67  {
68  type uniform;
69  value 8940;
70  }
71 
72  Cv
73  {
74  type uniform;
75  value 385;
76  }
77 
78  Kappa
79  {
80  type zonal;
81  value (380 380 380);
82 
83  zones
84  {
85  heater (560 560 560);
86  insulation (10 100 100);
87  }
88  }
89  \endverbatim
90 
91  Example of non-uniform constant solid properties specification:
92  \verbatim
93  thermoType constAnisoSolidThermo;
94 
95  rho
96  {
97  type file;
98  }
99 
100  Cv
101  {
102  type file;
103  }
104 
105  Kappa
106  {
107  type file;
108  }
109  \endverbatim
110  where each of the field files are read from the constant directory.
111 
112 SourceFiles
113  constAnisoSolidThermo.C
114 
115 \*---------------------------------------------------------------------------*/
116 
117 #ifndef constAnisoSolidThermo_H
118 #define constAnisoSolidThermo_H
119 
120 #include "constSolidThermo.H"
121 
122 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
123 
124 namespace Foam
125 {
126 
127 /*---------------------------------------------------------------------------*\
128  Class constAnisoSolidThermo Declaration
129 \*---------------------------------------------------------------------------*/
130 
132 :
133  public constSolidThermo
134 {
135  // Private data
136 
137  //- Anisotropic thermal conductivity [W/m/K]
138  volVectorField Kappa_;
139 
140 
141 public:
142 
143  //- Runtime type information
144  TypeName("constAnisoSolidThermo");
145 
146 
147  // Constructors
148 
149  //- Construct from mesh and phase name
151  (
152  const fvMesh&,
153  const word& phaseName = word::null
154  );
155 
156 
157  //- Destructor
158  virtual ~constAnisoSolidThermo();
159 
160 
161  // Member Functions
162 
163  // Transport state
164 
165  //- Return false as the thermal conductivity is anisotropic
166  virtual bool isotropic() const
167  {
168  return false;
169  }
170 
171  //- Isotropic thermal conductivity [W/m/K]
172  // Not implemented
173  virtual const volScalarField& kappa() const;
174 
175  //- Anisotropic thermal conductivity [W/m/K]
176  virtual const volVectorField& Kappa() const;
177 };
178 
179 
180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181 
182 } // End namespace Foam
183 
184 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
185 
186 #endif
187 
188 // ************************************************************************* //
Generic GeometricField class.
virtual const word & phaseName() const
Phase name.
Definition: basicThermo.H:502
Uniform or non-uniform constant anisotropic solid thermodynamic properties.
virtual ~constAnisoSolidThermo()
Destructor.
virtual const volScalarField & kappa() const
Isotropic thermal conductivity [W/m/K].
virtual bool isotropic() const
Return false as the thermal conductivity is anisotropic.
TypeName("constAnisoSolidThermo")
Runtime type information.
virtual const volVectorField & Kappa() const
Anisotropic thermal conductivity [W/m/K].
constAnisoSolidThermo(const fvMesh &, const word &phaseName=word::null)
Construct from mesh and phase name.
Uniform or non-uniform constant solid thermodynamic properties.
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:99
A class for handling words, derived from string.
Definition: word.H:62
static const word null
An empty word.
Definition: word.H:77
Namespace for OpenFOAM.