Adding cfMesh-v1.0 into the repository
[foam-extend-3.2.git] / src / solidModels / thermalModel / thermalLaws / constantThermal / constantThermal.H
blob639d5c16a583773d22daaba8831e366354fa941e
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     |
5     \\  /    A nd           | For copyright notice see file Copyright
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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/>.
24 Class
25     constantThermal
27 Description
28     Constant thermal properties
30 Author
31     Hrvoje Jasak, Wikki Ltd.  All rights reserved.
33 SourceFiles
34     constantThermal.C
36 \*---------------------------------------------------------------------------*/
38 #ifndef constantThermal_H
39 #define constantThermal_H
41 #include "thermalLaw.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 namespace Foam
48 /*---------------------------------------------------------------------------*\
49                          Class constantThermal Declaration
50 \*---------------------------------------------------------------------------*/
52 class constantThermal
54     public thermalLaw
56     // Private data
58         //- Specific heat capacity
59         dimensionedScalar C_;
61         //- Thermal conductivity
62         dimensionedScalar k_;
64         //- Thermal expansion coefficient
65         dimensionedScalar alpha_;
67         //- Reference temperature
68         dimensionedScalar T0_;
71     // Private Member Functions
73         //- Disallow default bitwise copy construct
74         constantThermal(const constantThermal&);
76         //- Disallow default bitwise assignment
77         void operator=(const constantThermal&);
80 public:
82     //- Runtime type information
83     TypeName("constant");
85     // Static data members
88     // Constructors
90         //- Construct from dictionary
91         constantThermal
92         (
93             const word& name,
94             const volScalarField& T,
95             const dictionary& dict
96         );
99     // Destructor
101         virtual ~constantThermal();
104     // Member Functions
106         //- Return specific heat capacity
107         virtual tmp<volScalarField> C() const;
109         //- Return thermal conductivity
110         virtual tmp<volScalarField> k() const;
112         //- Return thermal expansion coefficient
113         virtual tmp<volScalarField> alpha() const;
115         //- Return reference temperature
116         virtual tmp<volScalarField> T0() const;
118         virtual void correct()
119         {}
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125 } // End namespace Foam
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129 #endif
131 // ************************************************************************* //