underworld.scaling module¶
The scaling module provides units and scaling capabilities.
Module Summary¶
functions:¶
underworld.scaling.non_dimensionalise |
Non-dimensionalize (scale) provided quantity. |
underworld.scaling.dimensionalise |
Dimensionalise a value. |
underworld.scaling.get_coefficients |
Returns the global scaling dictionary. |
Module Details¶
functions:¶
-
underworld.scaling.
non_dimensionalise
(dimValue)[source]¶ Non-dimensionalize (scale) provided quantity.
This function uses pint to perform a dimension analysis and return a value scaled according to a set of scaling coefficients.
Parameters: dimValue (pint quantity) – Returns: - float (The scaled value.)
- Example
- ——–
- >>> import underworld as uw
- >>> u = uw.scaling.units
- >>> # Characteristic values of the system
- >>> half_rate = 0.5 * u.centimeter / u.year
- >>> model_height = 600e3 * u.meter
- >>> refViscosity = 1e24 * u.pascal * u.second
- >>> surfaceTemp = 0. * u.kelvin
- >>> baseModelTemp = 1330. * u.kelvin
- >>> baseCrustTemp = 550. * u.kelvin
- >>> KL_meters = model_height
- >>> KT_seconds = KL_meters / half_rate
- >>> KM_kilograms = refViscosity * KL_meters * KT_seconds
- >>> Kt_degrees = (baseModelTemp - surfaceTemp)
- >>> K_substance = 1. * u.mole
- >>> scaling_coefficients = uw.scaling.get_coefficients()
- >>> scaling_coefficients[“[time]”] = KT_seconds
- >>> scaling_coefficients[“[length]”] = KL_meters
- >>> scaling_coefficients[“[mass]”] = KM_kilograms
- >>> scaling_coefficients[“[temperature]”] = Kt_degrees
- >>> scaling_coefficients[“[substance]”] -= K_substance
- >>> # Get a scaled value
- >>> gravity = uw.scaling.non_dimensionalise(9.81 * u.meter / u.second**2)
-
underworld.scaling.
dimensionalise
(value, units)[source]¶ Dimensionalise a value.
Parameters: - value (float, int) – The value to be assigned units.
- units (pint units) – The units to be assigned.
Returns: pint quantity
Return type: dimensionalised value.
Example
>>> import underworld as uw >>> A = uw.scaling.dimensionalise(1.0, u.metre)