| Cantera 3.0.0

Loading...
Searching...
No Matches
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 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 */
40 class HighPressureGasTransport : public MultiTransport
41{
42 protected:
43 //! default constructor
44 /*!
45 * @param thermo Optional parameter for the pointer to the ThermoPhase object
46 */
47 HighPressureGasTransport(ThermoPhase* thermo=0);
48
49 public:
50 string transportModel() const override {
51 return "HighPressureGas";
52 }
53
54 //! Return the thermal diffusion coefficients (kg/m/s)
55 /*!
56 * Currently not implemented for this model
57 */
58 void getThermalDiffCoeffs(double* const dt) override;
59
60 double thermalConductivity() override;
61
62 /**
63 * Returns the matrix of binary diffusion coefficients
64 *
65 * d[ld*j + i] = rp*m_bdiff(i,j)*(DP)_R;
66 *
67 * @param ld offset of rows in the storage
68 * @param d output vector of diffusion coefficients. Units of m**2 / s
69 */
70 void getBinaryDiffCoeffs(const size_t ld, double* const d) override;
71
72 void getMultiDiffCoeffs(const size_t ld, double* const d) override;
73
74 double viscosity() override;
75
76 friend class TransportFactory;
77
78 protected:
79 double Tcrit_i(size_t i);
80
81 double Pcrit_i(size_t i);
82
83 double Vcrit_i(size_t i);
84
85 double Zcrit_i(size_t i);
86
87 vector<double> store(size_t i, size_t nsp);
88
89 double FQ_i(double Q, double Tr, double MW);
90
91 double setPcorr(double Pr, double Tr);
92};
93}
94#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:41
Cantera::HighPressureGasTransport::getBinaryDiffCoeffs
void getBinaryDiffCoeffs(const size_t ld, double *const d) override
Returns the matrix of binary diffusion coefficients.
Definition HighPressureGasTransport.cpp:128
Cantera::HighPressureGasTransport::thermalConductivity
double thermalConductivity() override
Returns the mixture thermal conductivity in W/m/K.
Definition HighPressureGasTransport.cpp:27
Cantera::HighPressureGasTransport::viscosity
double viscosity() override
Viscosity of the mixture (kg /m /s)
Definition HighPressureGasTransport.cpp:269
Cantera::HighPressureGasTransport::getThermalDiffCoeffs
void getThermalDiffCoeffs(double *const dt) override
Return the thermal diffusion coefficients (kg/m/s)
Definition HighPressureGasTransport.cpp:117
Cantera::HighPressureGasTransport::transportModel
string transportModel() const override
Identifies the model represented by this Transport object.
Definition HighPressureGasTransport.h:50
Cantera::HighPressureGasTransport::getMultiDiffCoeffs
void getMultiDiffCoeffs(const size_t ld, double *const d) override
Return the Multicomponent diffusion coefficients. Units: [m^2/s].
Definition HighPressureGasTransport.cpp:185
Cantera::MultiTransport
Class MultiTransport implements multicomponent transport properties for ideal gas mixtures.
Definition MultiTransport.h:26
Cantera::ThermoPhase
Base class for a phase with thermodynamic properties.
Definition ThermoPhase.h:390
Cantera::TransportFactory
Factory class for creating new instances of classes derived from Transport.
Definition TransportFactory.h:31
Cantera::Transport::thermo
ThermoPhase & thermo()
Phase object.
Definition Transport.h:192
Cantera
Namespace for the Cantera kernel.
Definition AnyMap.cpp:564