Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef polynomialTransport_H
00037 #define polynomialTransport_H
00038
00039 #include <OpenFOAM/Polynomial.H>
00040
00041
00042
00043 namespace Foam
00044 {
00045
00046
00047
00048 template<class Thermo, int PolySize> class polynomialTransport;
00049
00050 template<class Thermo, int PolySize>
00051 inline polynomialTransport<Thermo, PolySize> operator+
00052 (
00053 const polynomialTransport<Thermo, PolySize>&,
00054 const polynomialTransport<Thermo, PolySize>&
00055 );
00056
00057 template<class Thermo, int PolySize>
00058 inline polynomialTransport<Thermo, PolySize> operator-
00059 (
00060 const polynomialTransport<Thermo, PolySize>&,
00061 const polynomialTransport<Thermo, PolySize>&
00062 );
00063
00064 template<class Thermo, int PolySize>
00065 inline polynomialTransport<Thermo, PolySize> operator*
00066 (
00067 const scalar,
00068 const polynomialTransport<Thermo, PolySize>&
00069 );
00070
00071 template<class Thermo, int PolySize>
00072 inline polynomialTransport<Thermo, PolySize> operator==
00073 (
00074 const polynomialTransport<Thermo, PolySize>&,
00075 const polynomialTransport<Thermo, PolySize>&
00076 );
00077
00078 template<class Thermo, int PolySize>
00079 Ostream& operator<<
00080 (
00081 Ostream&,
00082 const polynomialTransport<Thermo, PolySize>&
00083 );
00084
00085
00086
00087
00088
00089
00090 template<class Thermo, int PolySize>
00091 class polynomialTransport
00092 :
00093 public Thermo
00094 {
00095
00096
00097
00098
00099 Polynomial<PolySize> muPolynomial_;
00100
00101
00102
00103 Polynomial<PolySize> kappaPolynomial_;
00104
00105
00106
00107
00108
00109 inline polynomialTransport
00110 (
00111 const Thermo& t,
00112 const Polynomial<PolySize>& muPoly,
00113 const Polynomial<PolySize>& kappaPoly
00114 );
00115
00116
00117 public:
00118
00119
00120
00121
00122 inline polynomialTransport(const polynomialTransport&);
00123
00124
00125 inline polynomialTransport(const word&, const polynomialTransport&);
00126
00127
00128 polynomialTransport(Istream& is);
00129
00130
00131 inline autoPtr<polynomialTransport> clone() const;
00132
00133
00134 inline static autoPtr<polynomialTransport> New(Istream& is);
00135
00136
00137
00138
00139
00140 inline scalar mu(const scalar T) const;
00141
00142
00143 inline scalar kappa(const scalar T) const;
00144
00145
00146 inline scalar alpha(const scalar T) const;
00147
00148
00149
00150
00151
00152
00153
00154 inline polynomialTransport& operator=(const polynomialTransport&);
00155 inline void operator+=(const polynomialTransport&);
00156 inline void operator-=(const polynomialTransport&);
00157 inline void operator*=(const scalar);
00158
00159
00160
00161
00162 friend polynomialTransport operator+ <Thermo, PolySize>
00163 (
00164 const polynomialTransport&,
00165 const polynomialTransport&
00166 );
00167
00168 friend polynomialTransport operator- <Thermo, PolySize>
00169 (
00170 const polynomialTransport&,
00171 const polynomialTransport&
00172 );
00173
00174 friend polynomialTransport operator* <Thermo, PolySize>
00175 (
00176 const scalar,
00177 const polynomialTransport&
00178 );
00179
00180 friend polynomialTransport operator== <Thermo, PolySize>
00181 (
00182 const polynomialTransport&,
00183 const polynomialTransport&
00184 );
00185
00186
00187
00188
00189 friend Ostream& operator<< <Thermo, PolySize>
00190 (
00191 Ostream&,
00192 const polynomialTransport&
00193 );
00194 };
00195
00196
00197
00198
00199 }
00200
00201
00202
00203 #include "polynomialTransportI.H"
00204
00205 #ifdef NoRepository
00206 # include "polynomialTransport.C"
00207 #endif
00208
00209
00210
00211 #endif
00212
00213