quantities module is extended to the
Usually you may start with
from irfpy.util import unitq as u
See how to use the quantities module https://github.com/python-quantities/python-quantities
Below, extended use of
irfpy.util.unitq is explained.
Also refer to
Getting used to¶
A simple use flow is as follows.
> from irfpy.util import unitq as u > vel = 50 * u.au / (200 * u.hour) > print(vel) # Gives (internal expression of) quantities 0.25 au/h > print(vel.n) # Gives a value with unit of internal expression 0.25 > print(vel.s) # With ``.s``, reference unit (default: MKSA) is returned. 10388741.020208333 m/s > print(vel.ns) # ``.ns``, value in reference unit is returned. 10388741.020208333 > print(vel.us) # ``.us`` returns the unit of the reference m/s > u.use('cgs') # ``.use`` can change the refernce unit system. > print(vel.s) 1038874102.0208334 cm/s > print(vel.r(u.km / u.s)) # ``.r`` rescales the unit. 10388.741020208332 km/s > print(vel.r(u.c)) # In this case speed-of-light is a unit :) 0.034653109986537194 c > print(vel.nr(u.c)) # ``.nr`` will return the rescaled number. 0.034653109986537194
Sometimes it is usuful if you just instance quantities from string.
u.nit will provide this functionality.
> from irfpy.util import unitq as u > w = u.nit('3 kg') > print w 3.0 kg > g = u.nit('9.8 kg m/s^2') > print g 9.8 kg*m/s**2
identify the undefined unit in a form of
SI-prefixed known units.
Take an example of “pC”, pico-coulomb.
> 'pC' in u.known_unit # Pico-Coulomb is not defined. False > print u.nit('pC') # But using u.nit "pC" is guessed as "p"+"C" 1e-12 C > 'pC' in u.known_unit # Now it is found in the definition list True > print u.pC # And even access with a usual way!! 1 pC
The ‘pC’ will be forgotten after the exit of the python interpreter. It may be a good idea to call u.nit(‘pC’) just after the import statement if you use ‘pC’ frequently.
Sometimes, it is useful if formula can handle the unit.
This will help dimension check during the step-by-step calculation.
It is supported with a simple way in
See the above link.