Cantera  3.1.0a1
HighPressureGasTransport.h
Go to the documentation of this file.
1 /**
2  * @file HighPressureGasTransport.h
3  * Interface for class HighPressureGasTransport
4  */
5 
6 // This file is part of Cantera. See License.txt in the top-level directory or
7 // at https://cantera.org/license.txt for license and copyright information.
8 
9 #ifndef CT_HIGHPRESSUREGASTRAN_H
10 #define CT_HIGHPRESSUREGASTRAN_H
11 
12 // Cantera includes
13 #include "GasTransport.h"
16 
17 namespace Cantera
18 {
19 
20 //! Class MultiTransport implements transport properties for
21 //! high pressure gas mixtures.
22 /*!
23  * @attention This class currently does not have any test cases or examples. Its
24  * implementation may be incomplete, and future changes to %Cantera may
25  * unexpectedly cause this class to stop working. If you use this class,
26  * please consider contributing examples or test cases. In the absence of
27  * new tests or examples, this class may be deprecated and removed in a
28  * future version of %Cantera. See
29  * https://github.com/Cantera/cantera/issues/267 for additional information.
30  *
31  * The implementation employs a method of corresponding states, using the Takahashi
32  * @cite takahashi1975 approach for binary diffusion coefficients (using multicomponent
33  * averaging rules for the mixture properties), and the Lucas method for the viscosity
34  * of a high-pressure gas mixture. All methods are described in Poling et al.
35  * @cite poling2001 (viscosity in Ch. 9, thermal conductivity in Ch. 10, and diffusion
36  * coefficients in Ch. 11).
37  *
38  * @ingroup tranprops
39  */
41 {
42 protected:
43  //! default constructor
45 
46 public:
47  string transportModel() const override {
48  return "HighPressureGas";
49  }
50 
51  //! Return the thermal diffusion coefficients (kg/m/s)
52  /*!
53  * Currently not implemented for this model
54  */
55  void getThermalDiffCoeffs(double* const dt) override;
56 
57  double thermalConductivity() override;
58 
59  /**
60  * Returns the matrix of binary diffusion coefficients
61  *
62  * d[ld*j + i] = rp*m_bdiff(i,j)*(DP)_R;
63  *
64  * @param ld offset of rows in the storage
65  * @param d output vector of diffusion coefficients. Units of m**2 / s
66  */
67  void getBinaryDiffCoeffs(const size_t ld, double* const d) override;
68 
69  void getMultiDiffCoeffs(const size_t ld, double* const d) override;
70 
71  double viscosity() override;
72 
73  friend class TransportFactory;
74 
75 protected:
76  double Tcrit_i(size_t i);
77 
78  double Pcrit_i(size_t i);
79 
80  double Vcrit_i(size_t i);
81 
82  double Zcrit_i(size_t i);
83 
84  vector<double> store(size_t i, size_t nsp);
85 
86  double FQ_i(double Q, double Tr, double MW);
87 
88  double setPcorr(double Pr, double Tr);
89 };
90 }
91 #endif
Headers for the DenseMatrix object, which deals with dense rectangular matrices and description of th...
Interface for class MultiTransport.
Class MultiTransport implements transport properties for high pressure gas mixtures.
void getBinaryDiffCoeffs(const size_t ld, double *const d) override
Returns the matrix of binary diffusion coefficients.
double thermalConductivity() override
Returns the mixture thermal conductivity in W/m/K.
double viscosity() override
Viscosity of the mixture (kg /m /s)
void getThermalDiffCoeffs(double *const dt) override
Return the thermal diffusion coefficients (kg/m/s)
string transportModel() const override
Identifies the model represented by this Transport object.
void getMultiDiffCoeffs(const size_t ld, double *const d) override
Return the Multicomponent diffusion coefficients. Units: [m^2/s].
HighPressureGasTransport()=default
default constructor
Class MultiTransport implements multicomponent transport properties for ideal gas mixtures.
Factory class for creating new instances of classes derived from Transport.
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:564