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"
14#include "cantera/numerics/DenseMatrix.h"
15#include "cantera/transport/MultiTransport.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 */
38 class HighPressureGasTransport : public MultiTransport
39{
40 protected:
41 //! default constructor
42 /*!
43 * @param thermo Optional parameter for the pointer to the ThermoPhase object
44 */
45 HighPressureGasTransport(ThermoPhase* thermo=0);
46
47 public:
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
75 protected:
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
DenseMatrix.h
Headers for the DenseMatrix object, which deals with dense rectangular matrices and description of th...
GasTransport.h
MultiTransport.h
Interface for class MultiTransport.
Cantera::HighPressureGasTransport
Class MultiTransport implements transport properties for high pressure gas mixtures.
Definition: HighPressureGasTransport.h:39
Cantera::HighPressureGasTransport::getThermalDiffCoeffs
virtual void getThermalDiffCoeffs(doublereal *const dt)
Return the thermal diffusion coefficients (kg/m/s)
Definition: HighPressureGasTransport.cpp:124
Cantera::HighPressureGasTransport::getMultiDiffCoeffs
virtual void getMultiDiffCoeffs(const size_t ld, doublereal *const d)
Return the Multicomponent diffusion coefficients. Units: [m^2/s].
Definition: HighPressureGasTransport.cpp:192
Cantera::HighPressureGasTransport::getBinaryDiffCoeffs
virtual void getBinaryDiffCoeffs(const size_t ld, doublereal *const d)
Definition: HighPressureGasTransport.cpp:135
Cantera::HighPressureGasTransport::HighPressureGasTransport
HighPressureGasTransport(ThermoPhase *thermo=0)
default constructor
Definition: HighPressureGasTransport.cpp:29
Cantera::HighPressureGasTransport::transportType
virtual std::string transportType() const
Identifies the Transport object type.
Definition: HighPressureGasTransport.h:48
Cantera::HighPressureGasTransport::thermalConductivity
virtual double thermalConductivity()
Returns the mixture thermal conductivity in W/m/K.
Definition: HighPressureGasTransport.cpp:34
Cantera::HighPressureGasTransport::viscosity
virtual doublereal viscosity()
Viscosity of the mixture (kg /m /s)
Definition: HighPressureGasTransport.cpp:276
Cantera::MultiTransport
Class MultiTransport implements multicomponent transport properties for ideal gas mixtures.
Definition: MultiTransport.h:27
Cantera::ThermoPhase
Base class for a phase with thermodynamic properties.
Definition: ThermoPhase.h:102
Cantera::TransportFactory
Factory class for creating new instances of classes derived from Transport.
Definition: TransportFactory.h:31
Cantera::Transport::thermo
ThermoPhase & thermo()
Definition: TransportBase.h:170
Cantera
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:557
Cantera::vector_fp
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