Cantera 2.6.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 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
17namespace 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{
40protected:
41 //! default constructor
42 /*!
43 * @param thermo Optional parameter for the pointer to the ThermoPhase object
44 */
46
47public:
48 virtual std::string transportType() const {
49 return "HighPressureGas";
50 }
51
52 //! Return the thermal diffusion coefficients (kg/m/s)
53 /*!
54 * Currently not implemented for this model
55 */
56 virtual void getThermalDiffCoeffs(doublereal* const dt);
57
58 virtual double thermalConductivity();
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 virtual void getBinaryDiffCoeffs(const size_t ld, doublereal* const d);
68
69 virtual void getMultiDiffCoeffs(const size_t ld, doublereal* const d);
70
71 virtual doublereal viscosity();
72
73 friend class TransportFactory;
74
75protected:
76 virtual doublereal Tcrit_i(size_t i);
77
78 virtual doublereal Pcrit_i(size_t i);
79
80 virtual doublereal Vcrit_i(size_t i);
81
82 virtual doublereal Zcrit_i(size_t i);
83
84 vector_fp store(size_t i, size_t nsp);
85
86 virtual doublereal FQ_i(doublereal Q, doublereal Tr, doublereal MW);
87
88 virtual doublereal setPcorr(doublereal Pr, doublereal 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.
virtual void getThermalDiffCoeffs(doublereal *const dt)
Return the thermal diffusion coefficients (kg/m/s)
virtual void getMultiDiffCoeffs(const size_t ld, doublereal *const d)
Return the Multicomponent diffusion coefficients. Units: [m^2/s].
virtual void getBinaryDiffCoeffs(const size_t ld, doublereal *const d)
HighPressureGasTransport(ThermoPhase *thermo=0)
default constructor
virtual std::string transportType() const
Identifies the Transport object type.
virtual double thermalConductivity()
Returns the mixture thermal conductivity in W/m/K.
virtual doublereal viscosity()
Viscosity of the mixture (kg /m /s)
Class MultiTransport implements multicomponent transport properties for ideal gas mixtures.
Base class for a phase with thermodynamic properties.
Definition: ThermoPhase.h:102
Factory class for creating new instances of classes derived from Transport.
ThermoPhase & thermo()
Namespace for the Cantera kernel.
Definition: AnyMap.h:29
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:184