Cantera  2.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TransportData.h
Go to the documentation of this file.
1 //! @file TransportData.h
2 
3 #ifndef CT_TRANSPORTDATA_H
4 #define CT_TRANSPORTDATA_H
5 
6 #include "cantera/base/ct_defs.h"
7 #include "cantera/base/smart_ptr.h"
8 
9 namespace Cantera
10 {
11 
12 class Species;
13 class XML_Node;
14 
15 //! Base class for transport data for a single species
17 {
18 public:
19  TransportData() {}
20  virtual ~TransportData() {}
21 
22  virtual void validate(const Species& species) {}
23 };
24 
25 //! Transport data for a single gas-phase species which can be used in
26 //! mixture-averaged or multicomponent transport models.
28 {
29 public:
31 
32  //! Construct a GasTransportData object using MKS units for all parameters.
33  GasTransportData(const std::string& geometry, double diameter,
34  double well_depth, double dipole=0.0,
35  double polarizability=0.0, double rot_relax=0.0,
36  double acentric=0.0);
37 
38  //! Set the parameters using "customary" units: diameter in Angstroms, well
39  //! depth in Kelvin, dipole in Debye, and polarizability in Angstroms^3.
40  //! These are the units used in in CK-style input files.
41  void setCustomaryUnits(const std::string& geometry, double diameter,
42  double well_depth, double dipole=0.0,
43  double polarizability=0.0, double rot_relax=0.0,
44  double acentric=0.0);
45 
46  //! Check transport data for invalid parameters such as a geometry
47  //! inconsistent with the atomic composition, non-positive diameter, or
48  //! negative values for well depth, dipole, polarizability, or
49  //! rotational relaxation number.
50  virtual void validate(const Species& species);
51 
52  //! A string specifying the molecular geometry. One of `atom`, `linear`, or
53  //! `nonlinear`.
54  std::string geometry;
55 
56  //! The Lennard-Jones collision diameter [m]
57  double diameter;
58 
59  //! The Lennard-Jones well depth [J]
60  double well_depth;
61 
62  //! The permanent dipole moment of the molecule [Coulomb-m]. Default 0.0.
63  double dipole;
64 
65  //! The polarizability of the molecule [m^3]. Default 0.0.
67 
68  //! The rotational relaxation number (the number of collisions it takes to
69  //! equilibrate the rotational degrees of freedom with the temperature).
70  //! Default 0.0.
72 
73  //! Pitzer's acentric factor [dimensionless]. Default 0.0.
75 };
76 
77 //! Create a new TransportData object from a 'transport' XML_Node.
78 shared_ptr<TransportData> newTransportData(const XML_Node& transport_node);
79 
80 }
81 
82 #endif
Transport data for a single gas-phase species which can be used in mixture-averaged or multicomponent...
Definition: TransportData.h:27
Class XML_Node is a tree-based representation of the contents of an XML file.
Definition: xml.h:100
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:71
double well_depth
The Lennard-Jones well depth [J].
Definition: TransportData.h:60
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:57
Base class for transport data for a single species.
Definition: TransportData.h:16
double dipole
The permanent dipole moment of the molecule [Coulomb-m]. Default 0.0.
Definition: TransportData.h:63
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)
Set the parameters using "customary" units: diameter in Angstroms, well depth in Kelvin, dipole in Debye, and polarizability in Angstroms^3.
std::string geometry
A string specifying the molecular geometry.
Definition: TransportData.h:54
Contains data about a single chemical species.
Definition: Species.h:21
double polarizability
The polarizability of the molecule [m^3]. Default 0.0.
Definition: TransportData.h:66
double acentric_factor
Pitzer's acentric factor [dimensionless]. Default 0.0.
Definition: TransportData.h:74
shared_ptr< TransportData > newTransportData(const XML_Node &transport_node)
Create a new TransportData object from a 'transport' XML_Node.