import sympy.physics.units as u
u.find_unit('cm') # --> 'cm' found
u.find_unit('km') # --> 'km' found
# so I can do
float(u.convert_to(2 * u.cm, u.km) / u.km)
Now I would like to register nF (nano-farads), pF (pico-farads), and uF (micro-farads)
so I can do quick conversions like this (and in other complex calculations):
float(u.convert_to(2 * u.uF, u.nF) / u.nF)
One idea I have is to do this:
u.uF = 1e-6 * u.F
u.nF = 1e-9 * u.F
float(u.convert_to(36 * u.uF, u.nF) / u.nF)
Is there any harm in this? One issue I see is that if I keep the unit, it will only be represented in the base (F). Also I'd need to check to ensure I'm not overwriting any attibutes of u. Further, u.find_unit("nF") returns a blank list.
There aren't many good references on how to apply prefixes in our units.