heSolidThermo.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9  Copyright (C) 2017 OpenCFD Ltd
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::heSolidThermo
29 
30 Description
31  Energy for a solid mixture
32 
33 SourceFiles
34  heSolidThermo.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef heSolidThermo_H
39 #define heSolidThermo_H
40 
41 #include "heThermo.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 /*---------------------------------------------------------------------------*\
49  Class heSolidThermo Declaration
50 \*---------------------------------------------------------------------------*/
51 
52 template<class BasicSolidThermo, class MixtureType>
53 class heSolidThermo
54 :
55  public heThermo<BasicSolidThermo, MixtureType>
56 {
57  // Private Member Functions
58 
59  //- Calculate the thermo variables
60  void calculate();
61 
62  //- Construct as copy (not implemented)
64 
65 
66 public:
67 
68  //- Runtime type information
69  TypeName("heSolidThermo");
70 
71 
72  // Constructors
73 
74  //- Construct from mesh and phase name
76  (
77  const fvMesh&,
78  const word& phaseName
79  );
80 
81  //- Construct from mesh, dictionary and phase name
83  (
84  const fvMesh&,
85  const dictionary&,
86  const word& phaseName
87  );
88 
89  //- Construct from mesh, dictionary name and phase name
91  (
92  const fvMesh&,
93  const word& phaseName,
94  const word& dictName
95  );
96 
97 
98  //- Destructor
99  virtual ~heSolidThermo();
100 
101 
102  // Member functions
103 
104  //- Update properties
105  virtual void correct();
106 
107 
108  // Derived thermal properties
109 
110  //- Anisotropic thermal conductivity [W/m/K]
111  virtual tmp<volVectorField> Kappa() const;
112 
113  //- Return true if thermal conductivity is isotropic
114  virtual bool isotropic() const
115  {
116  return MixtureType::thermoType::isotropic;
117  }
118 
119 
120  // Per patch calculation
121 
122  //- Anisotropic thermal conductivity [W/m/K]
123  virtual tmp<vectorField> Kappa(const label patchi) const;
124 };
125 
126 
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
128 
129 } // End namespace Foam
130 
131 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
132 
133 #ifdef NoRepository
134  #include "heSolidThermo.C"
135 #endif
136 
137 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138 
139 #endif
140 
141 // ************************************************************************* //
Foam::heThermo
Enthalpy/Internal energy for a mixture.
Definition: heThermo.H:52
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::heSolidThermo::correct
virtual void correct()
Update properties.
Definition: heSolidThermo.C:206
dictName
const word dictName("faMeshDefinition")
Foam::heSolidThermo::isotropic
virtual bool isotropic() const
Return true if thermal conductivity is isotropic.
Definition: heSolidThermo.H:113
Foam::heSolidThermo::~heSolidThermo
virtual ~heSolidThermo()
Destructor.
Definition: heSolidThermo.C:199
Foam::heSolidThermo::Kappa
virtual tmp< volVectorField > Kappa() const
Anisotropic thermal conductivity [W/m/K].
Definition: heSolidThermo.C:218
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam::heSolidThermo
Energy for a solid mixture.
Definition: heSolidThermo.H:52
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:85
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::heSolidThermo::TypeName
TypeName("heSolidThermo")
Runtime type information.
heSolidThermo.C
heThermo.H