Cantera  2.5.1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
Units Class Reference

A representation of the units associated with a dimensional quantity. More...

#include <Units.h>

Public Member Functions

 Units (double factor=1.0, double mass=0, double length=0, double time=0, double temperature=0, double current=0, double quantity=0)
 Create a Units object with the specified dimensions. More...
 
 Units (const std::string &name)
 Create an object with the specified dimensions. More...
 
bool convertible (const Units &other) const
 Returns true if the specified Units are dimensionally consistent. More...
 
double factor () const
 Return the factor for converting from this unit to Cantera's base units. More...
 
Unitsoperator*= (const Units &other)
 Multiply two Units objects, combining their conversion factors and dimensions. More...
 
std::string str () const
 Provide a string representation of these Units. More...
 
Units pow (double expoonent) const
 Raise these Units to a power, changing both the conversion factor and the dimensions of these Units. More...
 

Private Member Functions

void scale (double k)
 Scale the unit by the factor k More...
 

Private Attributes

double m_factor
 conversion factor to Cantera base units More...
 
double m_mass_dim
 
double m_length_dim
 
double m_time_dim
 
double m_temperature_dim
 
double m_current_dim
 
double m_quantity_dim
 
double m_pressure_dim
 pseudo-dimension to track explicit pressure units More...
 
double m_energy_dim
 pseudo-dimension to track explicit energy units More...
 

Friends

class UnitSystem
 

Detailed Description

A representation of the units associated with a dimensional quantity.

Used for converting quantities between unit systems and checking for dimensional consistency. Units objects are mainly used within UnitSystem class to convert values from a user-specified Unit system to Cantera's base units (SI + kmol).

Definition at line 29 of file Units.h.

Constructor & Destructor Documentation

◆ Units() [1/2]

Units ( double  factor = 1.0,
double  mass = 0,
double  length = 0,
double  time = 0,
double  temperature = 0,
double  current = 0,
double  quantity = 0 
)
explicit

Create a Units object with the specified dimensions.

Definition at line 107 of file Units.cpp.

References Units::m_energy_dim, and Units::m_pressure_dim.

Referenced by Units::pow().

◆ Units() [2/2]

Units ( const std::string &  name)
explicit

Create an object with the specified dimensions.

Definition at line 131 of file Units.cpp.

References Cantera::fpValueCheck(), Cantera::npos, Units::pow(), Units::scale(), and Cantera::trimCopy().

Member Function Documentation

◆ convertible()

bool convertible ( const Units other) const

Returns true if the specified Units are dimensionally consistent.

Definition at line 188 of file Units.cpp.

Referenced by UnitSystem::convertActivationEnergy(), UnitSystem::setDefaultActivationEnergy(), and UnitSystem::setDefaults().

◆ factor()

double factor ( ) const
inline

Return the factor for converting from this unit to Cantera's base units.

Definition at line 45 of file Units.h.

References Units::m_factor.

Referenced by UnitSystem::convertActivationEnergy(), UnitSystem::setDefaultActivationEnergy(), and UnitSystem::setDefaults().

◆ operator*=()

Units & operator*= ( const Units other)

Multiply two Units objects, combining their conversion factors and dimensions.

Definition at line 198 of file Units.cpp.

References Units::m_energy_dim, Units::m_factor, and Units::m_pressure_dim.

◆ str()

std::string str ( ) const

Provide a string representation of these Units.

Definition at line 222 of file Units.cpp.

References Units::m_factor.

Referenced by UnitSystem::setDefaults().

◆ pow()

Units pow ( double  expoonent) const

Raise these Units to a power, changing both the conversion factor and the dimensions of these Units.

Definition at line 212 of file Units.cpp.

References Units::m_factor, and Units::Units().

Referenced by Units::Units().

◆ scale()

void scale ( double  k)
inlineprivate

Scale the unit by the factor k

Definition at line 60 of file Units.h.

References Units::m_factor.

Referenced by Units::Units().

Member Data Documentation

◆ m_factor

double m_factor
private

conversion factor to Cantera base units

Definition at line 62 of file Units.h.

Referenced by Units::factor(), Units::operator*=(), Units::pow(), Units::scale(), and Units::str().

◆ m_pressure_dim

double m_pressure_dim
private

pseudo-dimension to track explicit pressure units

Definition at line 69 of file Units.h.

Referenced by Units::operator*=(), and Units::Units().

◆ m_energy_dim

double m_energy_dim
private

pseudo-dimension to track explicit energy units

Definition at line 70 of file Units.h.

Referenced by Units::operator*=(), and Units::Units().


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