1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
5 \\ / A nd | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation, either version 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
28 Thermal material properties for solids.
31 Hrvoje Jasak, Wikki Ltd. All rights reserved.
36 \*---------------------------------------------------------------------------*/
38 #ifndef thermalModel_H
39 #define thermalModel_H
41 #include "IOdictionary.H"
43 #include "runTimeSelectionTables.H"
44 #include "volFields.H"
46 #include "thermalLaw.H"
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54 /*---------------------------------------------------------------------------*\
55 Class thermalModel Declaration
56 \*---------------------------------------------------------------------------*/
64 //- Reference to temperature field
65 const volScalarField& T_;
68 autoPtr<thermalLaw> lawPtr_;
71 // Private Member Functions
73 //- Disallow copy construct
74 thermalModel(const thermalModel&);
76 //- Disallow default bitwise assignment
77 void operator=(const thermalModel&);
82 //- Runtime type information
83 TypeName("thermalModel");
87 //- Construct from dictionary
88 thermalModel(const volScalarField& T);
93 virtual ~thermalModel()
99 //- Return thermal law
100 const thermalLaw& law() const
105 //- Return specific heat capacity
106 tmp<volScalarField> C() const
111 //- Return thermal conductivity
112 tmp<volScalarField> k() const
117 //- Return thermal expansion coefficient
118 tmp<volScalarField> alpha() const
120 return lawPtr_->alpha();
123 //- Return reference temperature
124 tmp<volScalarField> T0() const
126 return lawPtr_->T0();
129 //- Correct the thermal model
135 //- Read thermalProperties dictionary
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 } // End namespace Foam
144 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 // ************************************************************************* //