Cantera
2.5.1
|
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... | |
Units & | operator*= (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 |
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).
|
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().
|
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().
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().
|
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().
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.
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().
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().
|
inlineprivate |
Scale the unit by the factor k
Definition at line 60 of file Units.h.
References Units::m_factor.
Referenced by Units::Units().
|
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().
|
private |
pseudo-dimension to track explicit pressure units
Definition at line 69 of file Units.h.
Referenced by Units::operator*=(), and Units::Units().
|
private |
pseudo-dimension to track explicit energy units
Definition at line 70 of file Units.h.
Referenced by Units::operator*=(), and Units::Units().