Cantera  2.0
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Unit Class Reference

Unit conversion utility. More...

#include <units.h>

Collaboration diagram for Unit:
[legend]

Public Member Functions

virtual ~Unit ()
 Empty Destructor.
 
doublereal actEnergyToSI (std::string units)
 Return the multiplier required to convert an activation energy to SI units.
 
doublereal toSI (std::string units)
 Return the multiplier required to convert a dimensional quantity with units specified by string 'units' to SI units.
 

Static Public Member Functions

static Unitunits ()
 Initialize the static Unit class.
 
static void deleteUnit ()
 Destroy the static Unit class.
 

Private Member Functions

 Unit ()
 Units class constructor, containing the default mappings between strings and units.
 

Private Attributes

std::map< std::string, doublereal > m_u
 Map between a string and a units double value.
 
std::map< std::string, doublereal > m_act_u
 Map between a string and a units double value for activation energy units.
 

Static Private Attributes

static Units_u = 0
 pointer to the single instance of Unit
 
static mutex_t units_mutex
 Decl for static locker for Units singleton.
 

Detailed Description

Unit conversion utility.

Definition at line 28 of file units.h.

Constructor & Destructor Documentation

virtual ~Unit ( )
inlinevirtual

Empty Destructor.

Definition at line 54 of file units.h.

Unit ( )
inlineprivate

Units class constructor, containing the default mappings between strings and units.

Definition at line 173 of file units.h.

References Cantera::Avogadro, Cantera::GasConstant, Unit::m_act_u, and Unit::m_u.

Referenced by Unit::units().

Member Function Documentation

static Unit* units ( )
inlinestatic

Initialize the static Unit class.

Definition at line 33 of file units.h.

References Unit::s_u, Unit::Unit(), and Unit::units_mutex.

Referenced by Unit::actEnergyToSI(), Application::Application(), and Unit::toSI().

static void deleteUnit ( )
inlinestatic

Destroy the static Unit class.

Note this can't be done in a destructor.

Definition at line 45 of file units.h.

References Unit::s_u, and Unit::units_mutex.

doublereal actEnergyToSI ( std::string  units)
inline

Return the multiplier required to convert an activation energy to SI units.

Parameters
unitsactivation energy units

Definition at line 61 of file units.h.

References Unit::m_act_u, Unit::toSI(), and Unit::units().

doublereal toSI ( std::string  units)
inline

Return the multiplier required to convert a dimensional quantity with units specified by string 'units' to SI units.

The list of recognized units is stored as a stl map <string, doublereal>called m_u[] and m_act_u for activity coefficients. These maps are initialized with likely values.

Parameters
unitsString containing the units description

Definition at line 78 of file units.h.

References Unit::m_u, Cantera::npos, and Unit::units().

Referenced by Unit::actEnergyToSI().

Member Data Documentation

Unit * s_u = 0
staticprivate

pointer to the single instance of Unit

Definition at line 151 of file units.h.

Referenced by Unit::deleteUnit(), and Unit::units().

std::map<std::string, doublereal> m_u
private

Map between a string and a units double value.

This map maps the dimension string to the units value adjustment. Example

  • m_u["m"] = 1.0;
  • m_u["cm"] = 0.01;

Definition at line 159 of file units.h.

Referenced by Unit::toSI(), and Unit::Unit().

std::map<std::string, doublereal> m_act_u
private

Map between a string and a units double value for activation energy units.

This map maps the dimension string to the units value adjustment. Example

  • m_act_u["K"] = GasConstant;

Definition at line 166 of file units.h.

Referenced by Unit::actEnergyToSI(), and Unit::Unit().

mutex_t units_mutex
staticprivate

Decl for static locker for Units singleton.

Definition at line 169 of file units.h.

Referenced by Unit::deleteUnit(), and Unit::units().


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