Cantera  2.4.0
TransportData.h
Go to the documentation of this file.
1 //! @file TransportData.h
2 
3 // This file is part of Cantera. See License.txt in the top-level directory or
4 // at http://www.cantera.org/license.txt for license and copyright information.
5 
6 #ifndef CT_TRANSPORTDATA_H
7 #define CT_TRANSPORTDATA_H
8 
9 #include "cantera/base/ct_defs.h"
10 
11 namespace Cantera
12 {
13 
14 class Species;
15 class XML_Node;
16 
17 //! Base class for transport data for a single species
19 {
20 public:
21  TransportData() {}
22  virtual ~TransportData() {}
23 
24  virtual void validate(const Species& species) {}
25 };
26 
27 //! Transport data for a single gas-phase species which can be used in
28 //! mixture-averaged or multicomponent transport models.
30 {
31 public:
33 
34  //! Construct a GasTransportData object using MKS units for all parameters.
35  GasTransportData(const std::string& geometry, double diameter,
36  double well_depth, double dipole=0.0,
37  double polarizability=0.0, double rot_relax=0.0,
38  double acentric=0.0, double dispersion=0.0,
39  double quad_polar=0.0);
40 
41  //! Set the parameters using "customary" units: diameter in Angstroms, well
42  //! depth in Kelvin, dipole in Debye, and polarizability in Angstroms^3.
43  //! These are the units used in in CK-style input files.
44  void setCustomaryUnits(const std::string& geometry, double diameter,
45  double well_depth, double dipole=0.0,
46  double polarizability=0.0, double rot_relax=0.0,
47  double acentric=0.0, double dispersion=0.0,
48  double quad_polar=0.0);
49 
50  //! Check transport data for invalid parameters such as a geometry
51  //! inconsistent with the atomic composition, non-positive diameter, or
52  //! negative values for well depth, dipole, polarizability, or
53  //! rotational relaxation number.
54  virtual void validate(const Species& species);
55 
56  //! A string specifying the molecular geometry. One of `atom`, `linear`, or
57  //! `nonlinear`.
58  std::string geometry;
59 
60  //! The Lennard-Jones collision diameter [m]
61  double diameter;
62 
63  //! The Lennard-Jones well depth [J]
64  double well_depth;
65 
66  //! The permanent dipole moment of the molecule [Coulomb-m]. Default 0.0.
67  double dipole;
68 
69  //! The polarizability of the molecule [m^3]. Default 0.0.
71 
72  //! The rotational relaxation number (the number of collisions it takes to
73  //! equilibrate the rotational degrees of freedom with the temperature).
74  //! Default 0.0.
76 
77  //! Pitzer's acentric factor [dimensionless]. Default 0.0.
79 
80  //! dispersion normalized by e^2. [m^5] Default 0.0.
82 
83  //! quadrupole. Default 0.0.
85 };
86 
87 //! Create a new TransportData object from a 'transport' XML_Node.
88 shared_ptr<TransportData> newTransportData(const XML_Node& transport_node);
89 
90 }
91 
92 #endif
Transport data for a single gas-phase species which can be used in mixture-averaged or multicomponent...
Definition: TransportData.h:29
double quadrupole_polarizability
quadrupole. Default 0.0.
Definition: TransportData.h:84
void setCustomaryUnits(const std::string &geometry, double diameter, double well_depth, double dipole=0.0, double polarizability=0.0, double rot_relax=0.0, double acentric=0.0, double dispersion=0.0, double quad_polar=0.0)
Set the parameters using "customary" units: diameter in Angstroms, well depth in Kelvin, dipole in Debye, and polarizability in Angstroms^3.
Class XML_Node is a tree-based representation of the contents of an XML file.
Definition: xml.h:97
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
double rotational_relaxation
The rotational relaxation number (the number of collisions it takes to equilibrate the rotational deg...
Definition: TransportData.h:75
double well_depth
The Lennard-Jones well depth [J].
Definition: TransportData.h:64
virtual void validate(const Species &species)
Check transport data for invalid parameters such as a geometry inconsistent with the atomic compositi...
double diameter
The Lennard-Jones collision diameter [m].
Definition: TransportData.h:61
double dispersion_coefficient
dispersion normalized by e^2. [m^5] Default 0.0.
Definition: TransportData.h:81
Base class for transport data for a single species.
Definition: TransportData.h:18
double dipole
The permanent dipole moment of the molecule [Coulomb-m]. Default 0.0.
Definition: TransportData.h:67
std::string geometry
A string specifying the molecular geometry.
Definition: TransportData.h:58
Contains data about a single chemical species.
Definition: Species.h:24
double polarizability
The polarizability of the molecule [m^3]. Default 0.0.
Definition: TransportData.h:70
double acentric_factor
Pitzer&#39;s acentric factor [dimensionless]. Default 0.0.
Definition: TransportData.h:78
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:8
shared_ptr< TransportData > newTransportData(const XML_Node &transport_node)
Create a new TransportData object from a &#39;transport&#39; XML_Node.