antioch-0.4.0
List of all members | Public Member Functions | Protected Attributes | Friends
Antioch::TransportSpecies< CoeffType > Class Template Reference

Class to encapsulate data relevant for transport for each chemical species. More...

#include <transport_species.h>

Public Member Functions

 TransportSpecies (const Species name, const CoeffType LJ_depth, const CoeffType LJ_diameter, const CoeffType dipole_moment, const CoeffType polarizability, const CoeffType rot_relax, const CoeffType mass)
 Constructor. More...
 
 TransportSpecies ()
 Default constructor. More...
 
 ~TransportSpecies ()
 Destructor. More...
 
Species species () const
 returns a descriptive name for this species. More...
 
CoeffType LJ_depth () const
 returns the Lennard-Jones depth in (K), this is $\frac{\epsilon}{\mathrm{k_B}}$. More...
 
CoeffType LJ_diameter () const
 returns the Lennard-Jones diameter in (Angström). More...
 
LennardJonesPotential
< CoeffType > & 
LJ () const
 return Lennard-Jones potential More...
 
CoeffType dipole_moment () const
 returns dipole moment in units of [D] More...
 
CoeffType polarizability () const
 Returns polarizability in units of [Angström^3]. More...
 
CoeffType rotational_relaxation () const
 Returns rotational relaxation collision number at 298 K, no unit. More...
 
CoeffType M () const
 Returns molecular mass in kg. More...
 
bool polar () const
 boolean testing polarity More...
 
void print (std::ostream &os=std::cout) const
 Formatted print. More...
 

Protected Attributes

const Species _name
 chemical species More...
 
LennardJonesPotential< CoeffType > _LJ
 Lennard-Jones potential. More...
 
CoeffType _dipole_moment
 Dipole moment in units of [D]. More...
 
CoeffType _polarizability
 Polarizability in units of [Angström^3]. More...
 
CoeffType _rotational_relaxation
 Rotational relaxation. More...
 
CoeffType _mass
 molar mass in kg/mol More...
 

Friends

std::ostream & operator<< (std::ostream &os, const TransportSpecies< CoeffType > &species)
 Formatted print. More...
 

Detailed Description

template<typename CoeffType = double>
class Antioch::TransportSpecies< CoeffType >

Class to encapsulate data relevant for transport for each chemical species.

This class is designed to store information relevant to the transport of a chemical species. All the data stored is constant for each species, so we store const for each variable. The idea is that this will be placed inside TransportMixture, which will be a singleton, dependant of ChemicalMixture.

Definition at line 58 of file transport_species.h.

Constructor & Destructor Documentation

template<typename CoeffType >
Antioch::TransportSpecies< CoeffType >::TransportSpecies ( const Species  name,
const CoeffType  LJ_depth,
const CoeffType  LJ_diameter,
const CoeffType  dipole_moment,
const CoeffType  polarizability,
const CoeffType  rot_relax,
const CoeffType  mass 
)
inline

Constructor.

Definition at line 207 of file transport_species.h.

214  : _name (name),
219  _mass (mass)
220  {
221  return;
222  }
CoeffType LJ_depth() const
returns the Lennard-Jones depth in (K), this is .
CoeffType polarizability() const
Returns polarizability in units of [Angström^3].
CoeffType dipole_moment() const
returns dipole moment in units of [D]
CoeffType _mass
molar mass in kg/mol
CoeffType _polarizability
Polarizability in units of [Angström^3].
const Species _name
chemical species
CoeffType LJ_diameter() const
returns the Lennard-Jones diameter in (Angström).
CoeffType _rotational_relaxation
Rotational relaxation.
LennardJonesPotential< CoeffType > _LJ
Lennard-Jones potential.
CoeffType rotational_relaxation() const
Returns rotational relaxation collision number at 298 K, no unit.
CoeffType _dipole_moment
Dipole moment in units of [D].
template<typename CoeffType >
Antioch::TransportSpecies< CoeffType >::TransportSpecies ( )
inline

Default constructor.

This is technically required for any std::map value type (or operator[] breaks, at least). But, we never actually want to create a SpeciesChemistry implicitly, so we throw an error if this is ever used.

Definition at line 227 of file transport_species.h.

References antioch_error.

228  : _name(-1),
229  _LJ(0.,0.),
230  _polarizability(0.),
232  {
233  antioch_error();
234  return;
235  }
#define antioch_error()
CoeffType _polarizability
Polarizability in units of [Angström^3].
const Species _name
chemical species
CoeffType _rotational_relaxation
Rotational relaxation.
LennardJonesPotential< CoeffType > _LJ
Lennard-Jones potential.
template<typename CoeffType >
Antioch::TransportSpecies< CoeffType >::~TransportSpecies ( )
inline

Destructor.

Definition at line 240 of file transport_species.h.

241  {
242  return;
243  }

Member Function Documentation

template<typename CoeffType >
CoeffType Antioch::TransportSpecies< CoeffType >::dipole_moment ( ) const
inline

returns dipole moment in units of [D]

Definition at line 180 of file transport_species.h.

181  { return _dipole_moment; }
CoeffType _dipole_moment
Dipole moment in units of [D].
template<typename CoeffType >
LennardJonesPotential< CoeffType > & Antioch::TransportSpecies< CoeffType >::LJ ( ) const
inline

return Lennard-Jones potential

Definition at line 173 of file transport_species.h.

174  {
175  return _LJ;
176  }
LennardJonesPotential< CoeffType > _LJ
Lennard-Jones potential.
template<typename CoeffType >
CoeffType Antioch::TransportSpecies< CoeffType >::LJ_depth ( ) const
inline

returns the Lennard-Jones depth in (K), this is $\frac{\epsilon}{\mathrm{k_B}}$.

Definition at line 163 of file transport_species.h.

164  { return _LJ.depth(); }
LennardJonesPotential< CoeffType > _LJ
Lennard-Jones potential.
template<typename CoeffType >
CoeffType Antioch::TransportSpecies< CoeffType >::LJ_diameter ( ) const
inline

returns the Lennard-Jones diameter in (Angström).

Definition at line 168 of file transport_species.h.

169  { return _LJ.diameter(); }
LennardJonesPotential< CoeffType > _LJ
Lennard-Jones potential.
template<typename CoeffType >
CoeffType Antioch::TransportSpecies< CoeffType >::M ( ) const
inline

Returns molecular mass in kg.

Definition at line 195 of file transport_species.h.

196  { return _mass; }
CoeffType _mass
molar mass in kg/mol
template<typename CoeffType >
bool Antioch::TransportSpecies< CoeffType >::polar ( ) const
inline

boolean testing polarity

Definition at line 200 of file transport_species.h.

201  {
202  return (_dipole_moment > std::numeric_limits<CoeffType>::epsilon());
203  }
CoeffType _dipole_moment
Dipole moment in units of [D].
template<typename CoeffType >
CoeffType Antioch::TransportSpecies< CoeffType >::polarizability ( ) const
inline

Returns polarizability in units of [Angström^3].

Definition at line 185 of file transport_species.h.

186  { return _polarizability; }
CoeffType _polarizability
Polarizability in units of [Angström^3].
template<typename CoeffType >
void Antioch::TransportSpecies< CoeffType >::print ( std::ostream &  os = std::cout) const
inline

Formatted print.

Defaults to std::cout.

Definition at line 248 of file transport_species.h.

249  {
250  os << " -----------------------------\n"
251  << "| Species enum " << this->species() << '\n'
252  << "| Transport data " << '\n'
253  << " -----------------------------\n"
254  << std::scientific
255  << " LJ depth = " << this->LJ_depth() << '\n'
256  << " LJ diameter = " << this->LJ_diameter() << '\n'
257  << " polarizability = " << this->polarizability() << '\n'
258  << " rot relax = " << this->rotational_relaxation() << '\n';
259 
260  os << '\n';
261 
262  return;
263  }
CoeffType LJ_depth() const
returns the Lennard-Jones depth in (K), this is .
CoeffType polarizability() const
Returns polarizability in units of [Angström^3].
CoeffType LJ_diameter() const
returns the Lennard-Jones diameter in (Angström).
CoeffType rotational_relaxation() const
Returns rotational relaxation collision number at 298 K, no unit.
Species species() const
returns a descriptive name for this species.
template<typename CoeffType >
CoeffType Antioch::TransportSpecies< CoeffType >::rotational_relaxation ( ) const
inline

Returns rotational relaxation collision number at 298 K, no unit.

Definition at line 190 of file transport_species.h.

191  { return _rotational_relaxation; }
CoeffType _rotational_relaxation
Rotational relaxation.
template<typename CoeffType >
Species Antioch::TransportSpecies< CoeffType >::species ( ) const
inline

returns a descriptive name for this species.

Definition at line 158 of file transport_species.h.

159  { return _name; }
const Species _name
chemical species

Friends And Related Function Documentation

template<typename CoeffType = double>
std::ostream& operator<< ( std::ostream &  os,
const TransportSpecies< CoeffType > &  species 
)
friend

Formatted print.

Allows you to do std::cout << object << std::endl;

Definition at line 120 of file transport_species.h.

122  {
123  species.print(os);
124  return os;
125  }
Species species() const
returns a descriptive name for this species.

Member Data Documentation

template<typename CoeffType = double>
CoeffType Antioch::TransportSpecies< CoeffType >::_dipole_moment
protected

Dipole moment in units of [D].

Definition at line 136 of file transport_species.h.

template<typename CoeffType = double>
LennardJonesPotential<CoeffType> Antioch::TransportSpecies< CoeffType >::_LJ
protected

Lennard-Jones potential.

Definition at line 133 of file transport_species.h.

template<typename CoeffType = double>
CoeffType Antioch::TransportSpecies< CoeffType >::_mass
protected

molar mass in kg/mol

Definition at line 145 of file transport_species.h.

template<typename CoeffType = double>
const Species Antioch::TransportSpecies< CoeffType >::_name
protected

chemical species

Definition at line 130 of file transport_species.h.

template<typename CoeffType = double>
CoeffType Antioch::TransportSpecies< CoeffType >::_polarizability
protected

Polarizability in units of [Angström^3].

Definition at line 139 of file transport_species.h.

template<typename CoeffType = double>
CoeffType Antioch::TransportSpecies< CoeffType >::_rotational_relaxation
protected

Rotational relaxation.

Definition at line 142 of file transport_species.h.


The documentation for this class was generated from the following file:

Generated on Thu Jul 7 2016 11:09:50 for antioch-0.4.0 by  doxygen 1.8.8