Pack of physical constants.

# This module provides physical constants in uniform format.

## [C], electron charge.

q_e = 1.60217662e-19

h = 6.62e-34

c = 299792458

## [kg], electron mass.

m_e = 9.10938356e-31

r_o = 2.8179403267e-15

## [K], room temperature

t_room = 273 + 23

## [J / K], Boltzmann constant

k_b = 1.38064852e-23

## [F / m] = [A2 * s4 / (kg * m3)], permittivity of free space

eps_0: float = 8.85418781e-12

## [eV / J] energy converter

Joule_to_eV: float = 6.241509e18

## Converts temperature from [deg C] to [deg K]

def cels_to_kelv(cels: float) -> float: return cels + 273.15

## floating point infinity

inf = float('inf')

## linear interpolation

def interpolate(x_prev: float, x_tgt: float, x_next: float, y_prev: float, y_next: float) -> float:
return y_prev + (y_next - y_prev) * (x_tgt - x_prev) / (x_next - x_prev)


## linear interpolation in array

def interpolate_arr(x_arr: list[float], y_arr: list[float], x: float) -> float:
...


def rad_to_deg(deg: float) -> float:
return deg * 180 / math.pi


def deg_to_rad(deg: float) -> float:
return deg * math.pi / 180


## angle between two vectors. Result from 0 to 2Pi.

def vector_angle(first_x: float, first_y: float, second_x: float, second_y: float) -> float:
angle = math.atan2(second_y - first_y, second_x - first_x)
if angle < 0:
angle += math.tau
return angle


## integrate array by trapz

def integrate(x_arr: list[float], y_arr: list[float]) -> float:
...


## Project details

Uploaded source