Cantera  2.1.2
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. More...
 
doublereal actEnergyToSI (const std::string &units_)
 Return the multiplier required to convert an activation energy to SI units. More...
 
doublereal toSI (const std::string &units_)
 Return the multiplier required to convert a dimensional quantity with units specified by string 'units' to SI units. More...
 

Static Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Static Private Attributes

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

Detailed Description

Unit conversion utility.

Definition at line 25 of file units.h.

Constructor & Destructor Documentation

virtual ~Unit ( )
inlinevirtual

Empty Destructor.

Definition at line 50 of file units.h.

Unit ( )
inlineprivate

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

Definition at line 168 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 29 of file units.h.

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

Referenced by Application::Application().

static void deleteUnit ( )
inlinestatic

Destroy the static Unit class.

Note this can't be done in a destructor.

Definition at line 41 of file units.h.

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

doublereal actEnergyToSI ( const std::string &  units_)
inline

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

Parameters
units_activation energy units

Definition at line 57 of file units.h.

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

doublereal toSI ( const 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
units_String containing the units description

Definition at line 74 of file units.h.

References Unit::m_u, and Cantera::npos.

Referenced by Unit::actEnergyToSI().

Member Data Documentation

Unit * s_u = 0
staticprivate

pointer to the single instance of Unit

Definition at line 146 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 154 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 161 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 164 of file units.h.

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


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