ENH: autoLayerDriver: better layering information message
[OpenFOAM-2.0.x.git] / src / thermophysicalModels / specie / transport / const / constTransport.H
blobca3fbef82926354c97f289539853eed4290e0467
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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.
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.
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/>.
24 Class
25     Foam::constTransport
27 Description
28     Constant properties Transport package.
29     Templated into a given thermodynamics package (needed for thermal
30     conductivity).
32 SourceFiles
33     constTransportI.H
34     constTransport.C
36 \*---------------------------------------------------------------------------*/
38 #ifndef constTransport_H
39 #define constTransport_H
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 namespace Foam
46 // Forward declaration of friend functions and operators
48 template<class Thermo> class constTransport;
50 template<class Thermo>
51 inline constTransport<Thermo> operator+
53     const constTransport<Thermo>&,
54     const constTransport<Thermo>&
57 template<class Thermo>
58 inline constTransport<Thermo> operator-
60     const constTransport<Thermo>&,
61     const constTransport<Thermo>&
64 template<class Thermo>
65 inline constTransport<Thermo> operator*
67     const scalar,
68     const constTransport<Thermo>&
71 template<class Thermo>
72 inline constTransport<Thermo> operator==
74     const constTransport<Thermo>&,
75     const constTransport<Thermo>&
78 template<class Thermo>
79 Ostream& operator<<
81     Ostream&,
82     const constTransport<Thermo>&
86 /*---------------------------------------------------------------------------*\
87                            Class constTransport Declaration
88 \*---------------------------------------------------------------------------*/
90 template<class Thermo>
91 class constTransport
93     public Thermo
95     // Private data
97         //- Constant dynamic viscosity [Pa.s]
98         scalar mu_;
100         //- Reciprocal Prandtl Number []
101         scalar rPr_;
104     // Private Member Functions
106         //- Construct from components
107         inline constTransport
108         (
109             const Thermo& t,
110             const scalar mu,
111             const scalar Pr
112         );
115 public:
117     // Constructors
119         //- Construct as named copy
120         inline constTransport(const word&, const constTransport&);
122         //- Construct from Istream
123         constTransport(Istream&);
125         //- Construct from dictionary
126         constTransport(const dictionary& dict);
129     // Member functions
131         //- Dynamic viscosity [kg/ms]
132         inline scalar mu(const scalar T) const;
134         //- Thermal conductivity [W/mK]
135         inline scalar kappa(const scalar T) const;
137         //- Thermal diffusivity for enthalpy [kg/ms]
138         inline scalar alpha(const scalar T) const;
140         // Species diffusivity
141         //inline scalar D(const scalar T) const;
143         //- Write to Ostream
144         void write(Ostream& os) const;
147     // Member operators
149         inline constTransport& operator=
150         (
151             const constTransport&
152         );
155     // Friend operators
157         friend constTransport operator+ <Thermo>
158         (
159             const constTransport&,
160             const constTransport&
161         );
163         friend constTransport operator- <Thermo>
164         (
165             const constTransport&,
166             const constTransport&
167         );
169         friend constTransport operator* <Thermo>
170         (
171             const scalar,
172             const constTransport&
173         );
175         friend constTransport operator== <Thermo>
176         (
177             const constTransport&,
178             const constTransport&
179         );
182     // Ostream Operator
184         friend Ostream& operator<< <Thermo>
185         (
186             Ostream&,
187             const constTransport&
188         );
192 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
194 } // End namespace Foam
196 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
198 #include "constTransportI.H"
200 #ifdef NoRepository
201 #   include "constTransport.C"
202 #endif
204 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206 #endif
208 // ************************************************************************* //