Line data Source code
1 : #ifndef MODEL_GAS_TRANSPORT_H_
2 : #define MODEL_GAS_TRANSPORT_H_
3 :
4 : #include <vector>
5 : #include <memory>
6 : #include <cmath>
7 : #include "Set/Set.H"
8 :
9 : namespace Model {
10 : namespace Gas {
11 : namespace Transport {
12 :
13 : class Transport {
14 : protected:
15 :
16 : public:
17 8 : Transport () {} ;
18 8 : virtual ~Transport() = default;
19 : virtual const char* model_name() const = 0;
20 :
21 : // Mixture dynamic viscosity, Pa-s
22 : virtual double dynamic_viscosity(double T, Set::Patch<const Set::Scalar>& X, int i, int j, int k) const = 0;
23 : // Mixture thermal conductivity coefficient, W/(m-K)
24 : virtual double thermal_conductivity(double T, Set::Patch<const Set::Scalar>& X, int i, int j, int k) const = 0;
25 : // Mixture species diffusion coefficients, m^2/s
26 : virtual void diffusion_coeffs(
27 : Set::Patch<Set::Scalar>& DKM, double T, double P,
28 : Set::Patch<const Set::Scalar>& X, int i, int j, int k) = 0;
29 :
30 : }; // class Transport
31 :
32 : } // namespace Transport
33 : } // namespace Gas
34 : } // namespace Model
35 :
36 : #endif
|