Unit conversion and constants

kuibit has a module, unitconv, that with physical/astronomical constants and with helper functions to convert between different unit systems. Reference on kuibit.unitconv

Physical and astrophysical units

unitconv defined multiple constants in the SI unit system:

Variable

Constant

C_SI

Speed of light in vacuum

G_SI

Gravitational constant

M_SOL_SI

Solar mass

M_SUN_SI

Solar mass

PARSEC_SI

Parsec

MEGAPARSEC_SI

Megaparsec

GIGAPARSEC_SI

Gigaparsec

LIGHTYEAR_SI

Light year

H0_SI

Hubble’s constant

You can use these units as follows:

import kuibit.unitconv as uc

print(f"1 Parsec is {uc.PARSEC_SI}")

Convert between geometrized units and SI

Numerical relativity simulations are typically performed in geometrized units with \(G = c = M = 1\), where \(M\) is some mass scale. Often, we need to convert these units to physical units. unitconv provides to tools for that. The class Units is defined in unitconv. Objects of the type Units are initialized providing a length, time and mass scales, then derived units are automatically computed. For geometrized units, the simplest way to perform unit conversion is initializing an Units object with geom_umass_msun:

import kuibit.unitconv as uc

# CU stands for Computational Units
# Here we initialize a Units object for geometrized units with M = 65 M_sun
CU = uc.geom_umass_msun(65)

The object CU can now convert from geometrized units to SI, for instance

d = 100 # M
d_SI = d * CU.length

energy = 5 # M
energy_SI = energy * CU.energy

In case you need to use different unit systems you can instantiate directly a Units providing the length, time, and mass scales.

CGS = uc.Units(1e-2, 1, 1)

The functions geom_umass(SCALE) and geom_ulength(SCALE) return Units objects in which mass (or length) are set to SCALE. The difference between geom_umass and geom_umass_msun is that the latter assumes that SCALE is in solar mass, the former in kilograms.

Units objects know of a lot of quantities:

Variable

Dimensions

length

[L]

time

[T]

mass

[M]

freq

1/[T]

velocity

[L]/[T]

accel

[L]/[T]^2

force

[M][L]/[T]^2

area

[L]^2

volume

[L]^3

density

[M]/[L]^3

pressure

[M]/([L][T]^2)

power

[M][L]^2/[T]^3

energy

[M][L]^2/[T]^2

energy_density

[M]/([L][T]^2)

angular_moment

[M][L]^2/[T]

moment_inertia

[M][L]^2