bluemira.base.constants
A collection of generic physical constants, conversions, and miscellaneous constants.
Attributes
Classes
CoilType Enum |
|
Bluemira UnitRegistry |
|
Random Seeds for necessary use cases |
Functions
|
Test if units are compatible. |
|
Raw unit converter |
|
Converts around Standard temperature and pressure for gas unit conversion. |
|
Convert a temperature in Kelvin to Celsius. |
|
Convert a temperature in Celsius to Kelvin. |
|
Check temperature is above absolute zero |
|
Convert a density in kg/m3 to g/cm3 |
|
Convert a density in g/cm3 to kg/m3 |
Module Contents
- class bluemira.base.constants.CoilType(*args, **kwds)
Bases:
enum.EnumCoilType Enum
- PF
- CS
- DUM
- NONE
- class bluemira.base.constants.BMUnitRegistry
Bases:
pint.UnitRegistryBluemira UnitRegistry
Extra conversions:
eV <-> Kelvin Pa m^3 <-> mol
Extra units:
displacements_per_atom (dpa) full_power_year (fpy) atomic_parts_per_million (appm) USD ($)
- _gas_flow_temperature = None
- _contexts_added = False
- _add_contexts(contexts: list[pint.Context] | None = None)
Add new contexts to registry
- Parameters:
contexts (list[pint.Context] | None)
- enable_contexts(*contexts: pint.Context, **kwargs)
Enable contexts
- Parameters:
contexts (pint.Context)
- _energy_temperature_context()
Converter between energy and temperature
temperature = energy / k_B
- Return type:
pint context
- _mass_energy_context()
Converter between mass and energy
energy = mass * speed-of-light^2
- Return type:
pint context
- property flow_conversion
Gas flow conversion factor R * T
- property gas_flow_temperature
Gas flow temperature in kelvin
If Quantity provided to setter it will convert units (naïvely)
- _flow_context()
Convert between flow in mol and Pa m^3
Pa m^3 = R * temperature * mol
https://en.wikipedia.org/wiki/Standard_temperature_and_pressure#Molar_volume_of_a_gas
- Return type:
pint context
- static _transform(context: pint.Context, units_from: str, units_to: str, forward_transform: collections.abc.Callable[[pint.UnitRegistry, complex | pint.Quantity], float], reverse_transform: collections.abc.Callable[[pint.UnitRegistry, complex | pint.Quantity], float]) pint.Context
- Parameters:
context (pint.Context)
units_from (str)
units_to (str)
forward_transform (collections.abc.Callable[[pint.UnitRegistry, complex | pint.Quantity], float])
reverse_transform (collections.abc.Callable[[pint.UnitRegistry, complex | pint.Quantity], float])
- Return type:
pint.Context
- bluemira.base.constants.ureg
- bluemira.base.constants.TIME
- bluemira.base.constants.LENGTH
- bluemira.base.constants.MASS
- bluemira.base.constants.CURRENT
- bluemira.base.constants.TEMP
- bluemira.base.constants.QUANTITY
- bluemira.base.constants.ANGLE
- bluemira.base.constants.DENSITY
- bluemira.base.constants.PART_DENSITY
- bluemira.base.constants.FLUX_DENSITY
- bluemira.base.constants.base_unit_defaults
- bluemira.base.constants.combined_unit_defaults
- bluemira.base.constants.combined_unit_dimensions
- bluemira.base.constants.ANGLE_UNITS = ['radian', 'turn', 'degree', 'arcminute', 'arcsecond', 'milliarcsecond', 'grade', 'steradian',...
- bluemira.base.constants.C_LIGHT
- bluemira.base.constants.MU_0
- bluemira.base.constants.EPS_0
- bluemira.base.constants.ELEMENTARY_CHARGE
- bluemira.base.constants.MU_0_2PI = 2e-07
- bluemira.base.constants.MU_0_4PI = 1e-07
- bluemira.base.constants.ONE_4PI
- bluemira.base.constants.GRAVITY
- bluemira.base.constants.N_AVOGADRO
- bluemira.base.constants.SIGMA_BOLTZMANN
- bluemira.base.constants.K_BOLTZMANN
- bluemira.base.constants.H_PLANCK
- bluemira.base.constants.E_CHARGE
- bluemira.base.constants.NEUTRON_MOLAR_MASS
- bluemira.base.constants.PROTON_MOLAR_MASS
- bluemira.base.constants.ELECTRON_MOLAR_MASS
- bluemira.base.constants.ELECTRON_MASS
- bluemira.base.constants.PROTON_MASS
- bluemira.base.constants.T_HALFLIFE = 12.312
- bluemira.base.constants.T_LAMBDA
- bluemira.base.constants.T_MOLAR_MASS
- bluemira.base.constants.D_MOLAR_MASS
- bluemira.base.constants.HE_MOLAR_MASS
- bluemira.base.constants.HE3_MOLAR_MASS
- bluemira.base.constants.ABS_ZERO_K = 0
- bluemira.base.constants.ABS_ZERO_C
- bluemira.base.constants.ABS_ZERO
- bluemira.base.constants.YR_TO_S
- bluemira.base.constants.S_TO_YR
- bluemira.base.constants.units_compatible(unit_1: str, unit_2: str) bool
Test if units are compatible.
- Parameters:
unit_1 (str) – unit 1 string
unit_2 (str) – unit 2 string
- Returns:
True if compatible, False otherwise
- Return type:
bool
- bluemira.base.constants.ArrayLike
- bluemira.base.constants.raw_uc(value: ArrayLike, unit_from: str | ureg, unit_to: str | ureg) ArrayLike
Raw unit converter
Converts a value from one unit to another
- Parameters:
value (ArrayLike) – value to convert
unit_from (str | ureg) – unit to convert from
unit_to (str | ureg) – unit to convert to
- Return type:
converted value
- bluemira.base.constants.gas_flow_uc(value: numpy.typing.ArrayLike, unit_from: str | ureg, unit_to: str | ureg, gas_flow_temperature: float | pint.Quantity | None = None) int | float | numpy.ndarray
Converts around Standard temperature and pressure for gas unit conversion. Accurate for Ideal gases.
https://en.wikipedia.org/wiki/Standard_temperature_and_pressure#Molar_volume_of_a_gas
- Parameters:
value (numpy.typing.ArrayLike) – value to convert
unit_from (str | ureg) – unit to convert from
unit_to (str | ureg) – unit to convert to
gas_flow_temperature (float | pint.Quantity | None) – Gas flow temperature if not provided is 273.15 K, if not a Quantity the units are assumed to be kelvin
- Return type:
converted value
- bluemira.base.constants.to_celsius(temp: numpy.typing.ArrayLike, unit: str | pint.Unit = ureg.kelvin) float | numpy.ndarray
Convert a temperature in Kelvin to Celsius.
- Parameters:
temp (numpy.typing.ArrayLike) – The temperature to convert, default [K]
unit (str | pint.Unit) – change the unit of the incoming value
- Return type:
The temperature [°C]
- bluemira.base.constants.to_kelvin(temp: numpy.typing.ArrayLike, unit: str | pint.Unit = ureg.celsius) float | numpy.ndarray
Convert a temperature in Celsius to Kelvin.
- Parameters:
temp (numpy.typing.ArrayLike) – The temperature to convert, default [°C]
unit (str | pint.Unit) – change the unit of the incoming value
- Return type:
The temperature [K]
- bluemira.base.constants._temp_check(unit: pint.Unit, val: complex | pint.Quantity)
Check temperature is above absolute zero
- Parameters:
unit (pint.Unit) – pint Unit
val (complex | pint.Quantity) – value to check
- Raises:
ValueError – if below absolute zero
- bluemira.base.constants.kgm3_to_gcm3(density: numpy.typing.ArrayLike) float | numpy.ndarray
Convert a density in kg/m3 to g/cm3
- Parameters:
density (numpy.typing.ArrayLike) – The density [kg/m3]
- Return type:
The density [g/cm3]
- bluemira.base.constants.gcm3_to_kgm3(density: numpy.typing.ArrayLike) float | numpy.ndarray
Convert a density in g/cm3 to kg/m3
- Parameters:
density (numpy.typing.ArrayLike) – The density [g/cm3]
- Return type:
The density [kg/m3]
- bluemira.base.constants.EPS
- bluemira.base.constants.E_IJK
- bluemira.base.constants.E_IJ
- bluemira.base.constants.E_I
- bluemira.base.constants.GREEK_ALPHABET = ['alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta', 'eta', 'theta', 'iota', 'kappa',...
- bluemira.base.constants.GREEK_ALPHABET_CAPS
- bluemira.base.constants.EXIT_COLOR = '\x1b[0m'
- bluemira.base.constants.ANSI_COLOR
- class bluemira.base.constants.RNGSeeds(*args, **kwds)
Bases:
enum.EnumRandom Seeds for necessary use cases
- equilibria_harmonics = 2944412338698111642
- timeline_tools_lognorm = 6613659347120864846
- timeline_tools_truncnorm = 9523110846560405221
- timeline_tools_expo = 15335509124046896388
- timeline_outages = 5876826953682921855