Cantera  2.3.0
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 http://www.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
32  * Takahashi approach for binary diffusion coefficients, (using multicomponent
33  * averaging rules for the mixture properties, and the Lucas method for the
34  * viscosity of a high-pressure gas mixture.
35  *
36  * @ingroup tranprops
37  */
39 {
40 protected:
41  //! default constructor
42  /*!
43  * @param thermo Optional parameter for the pointer to the ThermoPhase object
44  */
46 
47 public:
48  virtual int model() const {
49  warn_deprecated("HighPressureGasTransport::model",
50  "To be removed after Cantera 2.3.");
51  if (m_mode == CK_Mode) {
52  throw CanteraError("HighPressureGasTransport::model",
53  "CK_Mode not accepted");
54  } else {
55  return cHighP;
56  }
57  }
58 
59  virtual std::string transportType() const {
60  return "HighPressureGas";
61  }
62 
63  //! Return the thermal diffusion coefficients (kg/m/s)
64  /*!
65  * Currently not implemented for this model
66  */
67  virtual void getThermalDiffCoeffs(doublereal* const dt);
68 
69  virtual double thermalConductivity();
70 
71  /*! Returns the matrix of binary diffusion coefficients
72  *
73  * d[ld*j + i] = rp*m_bdiff(i,j)*(DP)_R;
74  *
75  * @param ld offset of rows in the storage
76  * @param d output vector of diffusion coefficients. Units of m**2 / s
77  */
78  virtual void getBinaryDiffCoeffs(const size_t ld, doublereal* const d);
79 
80  virtual void getMultiDiffCoeffs(const size_t ld, doublereal* const d);
81 
82  virtual doublereal viscosity();
83 
84  friend class TransportFactory;
85 
86 protected:
87  virtual doublereal Tcrit_i(size_t i);
88 
89  virtual doublereal Pcrit_i(size_t i);
90 
91  virtual doublereal Vcrit_i(size_t i);
92 
93  virtual doublereal Zcrit_i(size_t i);
94 
95  vector_fp store(size_t i, size_t nsp);
96 
97  virtual doublereal FQ_i(doublereal Q, doublereal Tr, doublereal MW);
98 
99  virtual doublereal setPcorr(doublereal Pr, doublereal Tr);
100 };
101 }
102 #endif
HighPressureGasTransport(thermo_t *thermo=0)
default constructor
virtual void getThermalDiffCoeffs(doublereal *const dt)
Return the thermal diffusion coefficients (kg/m/s)
Factory class for creating new instances of classes derived from Transport.
Interface for class MultiTransport.
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
Definition: global.cpp:54
Base class for a phase with thermodynamic properties.
Definition: ThermoPhase.h:93
int m_mode
Type of the polynomial fits to temperature.
Definition: GasTransport.h:259
Class MultiTransport implements transport properties for high pressure gas mixtures.
virtual void getBinaryDiffCoeffs(const size_t ld, doublereal *const d)
virtual double thermalConductivity()
Returns the mixture thermal conductivity in W/m/K.
Base class for exceptions thrown by Cantera classes.
Definition: ctexceptions.h:65
virtual int model() const
Transport model.
thermo_t & thermo()
virtual void getMultiDiffCoeffs(const size_t ld, doublereal *const d)
Return the Multicomponent diffusion coefficients. Units: [m^2/s].
Class MultiTransport implements multicomponent transport properties for ideal gas mixtures...
virtual std::string transportType() const
Identifies the Transport object type.
virtual doublereal viscosity()
Viscosity of the mixture (kg /m /s)
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
Definition: ct_defs.h:157
Headers for the DenseMatrix object, which deals with dense rectangular matrices and description of th...
Namespace for the Cantera kernel.
Definition: application.cpp:29