feat: electromagnetism.h updated to IEC80000-6-2022

This commit is contained in:
Mateusz Pusz
2025-02-11 16:53:40 +01:00
parent fa482c9246
commit 9fb08e3c95
2 changed files with 117 additions and 97 deletions

View File

@ -228,103 +228,112 @@ static_assert(verify(isq::dew_point_temperature, scalar, K));
// electromagnetism
static_assert(verify(isq::electric_current, scalar, A));
static_assert(verify(isq::electric_charge, scalar, C));
static_assert(verify(isq::electric_charge_density, scalar, C / m3));
static_assert(verify(isq::volume_electric_charge, scalar, C / m3));
static_assert(verify(isq::surface_density_of_electric_charge, scalar, C / m2));
static_assert(verify(isq::areic_electric_charge, scalar, C / m2));
static_assert(verify(isq::linear_density_of_electric_charge, scalar, C / m));
static_assert(verify(isq::lineic_electric_charge, scalar, C / m));
static_assert(verify(isq::electric_dipole_moment, vector, C* m));
static_assert(verify(isq::electric_polarization, vector, C / m2));
static_assert(verify(isq::electric_charge, scalar, C, A* s));
static_assert(verify(isq::elementary_charge, scalar, C, A* s));
static_assert(verify(isq::electric_charge_density, scalar, C / m3, s* A / m3));
static_assert(verify(isq::volume_electric_charge, scalar, C / m3, s* A / m3));
static_assert(verify(isq::volumic_charge, scalar, C / m3, s* A / m3));
static_assert(verify(isq::surface_density_of_electric_charge, scalar, C / m2, s* A / m2));
static_assert(verify(isq::areic_electric_charge, scalar, C / m2, s* A / m2));
static_assert(verify(isq::areic_charge, scalar, C / m2, s* A / m2));
static_assert(verify(isq::linear_density_of_electric_charge, scalar, C / m, s* A / m));
static_assert(verify(isq::lineic_electric_charge, scalar, C / m, s* A / m));
static_assert(verify(isq::lineic_charge, scalar, C / m, s* A / m));
static_assert(verify(isq::electric_dipole_moment, vector, C* m, m* s* A));
static_assert(verify(isq::electric_polarization, vector, C / m2, s* A / m2));
static_assert(verify(isq::electric_current_density, vector, A / m2));
static_assert(verify(isq::areic_electric_current, vector, A / m2));
static_assert(verify(isq::linear_electric_current_density, vector, A / m));
static_assert(verify(isq::lineic_electric_current, vector, A / m));
static_assert(verify(isq::electric_field_strength, vector, V / m, N / C));
static_assert(verify(isq::electric_potential, scalar, V));
static_assert(verify(isq::electric_potential_difference, scalar, V));
static_assert(verify(isq::voltage, scalar, V));
static_assert(verify(isq::electric_tension, scalar, V));
static_assert(verify(isq::electric_flux_density, vector, C / m2));
static_assert(verify(isq::electric_displacement, vector, C / m2));
static_assert(verify(isq::capacitance, scalar, F));
static_assert(verify(isq::electric_constant, scalar, F / m, C / (V * m)));
static_assert(verify(isq::permittivity_of_vacuum, scalar, F / m, C / (V * m)));
static_assert(verify(isq::permittivity, scalar, F / m, C / (V * m)));
static_assert(verify(isq::electric_field_strength, vector, V / m, kg* m / (s3 * A)));
static_assert(verify(isq::electric_potential, scalar, V, kg* m2 / (s3 * A)));
static_assert(verify(isq::electric_potential_difference, scalar, V, kg* m2 / (s3 * A)));
static_assert(verify(isq::voltage, scalar, V, kg* m2 / (s3 * A)));
static_assert(verify(isq::electric_tension, scalar, V, kg* m2 / (s3 * A)));
static_assert(verify(isq::induced_voltage, scalar, V, kg* m2 / (s3 * A)));
static_assert(verify(isq::electric_flux_density, vector, C / m2, s* A / m2));
static_assert(verify(isq::electric_displacement, vector, C / m2, s* A / m2));
static_assert(verify(isq::capacitance, scalar, F, pow<4>(s) * square(A) / (kg * m2)));
static_assert(verify(isq::electric_constant, scalar, F / m, pow<4>(s) * square(A) / (kg * m3)));
static_assert(verify(isq::permittivity_of_vacuum, scalar, F / m, pow<4>(s) * square(A) / (kg * m3)));
static_assert(verify(isq::permittivity, scalar, F / m, pow<4>(s) * square(A) / (kg * m3)));
static_assert(verify(isq::relative_permittivity, scalar, one));
static_assert(verify(isq::electric_susceptibility, scalar, one));
static_assert(verify(isq::electric_flux, scalar, C));
static_assert(verify(isq::electric_flux, scalar, C, s* A));
static_assert(verify(isq::displacement_current_density, vector, A / m2));
static_assert(verify(isq::displacement_current, scalar, A));
static_assert(verify(isq::total_current, scalar, A));
static_assert(verify(isq::total_current_density, vector, A / m2));
static_assert(verify(isq::magnetic_flux_density, vector, T, N / (A * m), Wb / m2));
static_assert(verify(isq::magnetic_flux, scalar, Wb));
static_assert(verify(isq::linked_flux, scalar, Wb));
static_assert(verify(isq::magnetic_flux_density, vector, T, kg / (s2 * A)));
static_assert(verify(isq::magnetic_flux, scalar, Wb, kg* m2 / (s2 * A)));
static_assert(verify(isq::protoflux, scalar, Wb, kg* m2 / (s2 * A)));
static_assert(verify(isq::linked_magnetic_flux, scalar, Wb, kg* m2 / (s2 * A)));
static_assert(verify(isq::total_magnetic_flux, scalar, Wb, kg* m2 / (s2 * A)));
static_assert(verify(isq::magnetic_moment, vector, A* m2));
static_assert(verify(isq::magnetic_area_moment, vector, A* m2));
static_assert(verify(isq::magnetization, vector, A / m));
static_assert(verify(isq::magnetic_field_strength, vector, A / m));
static_assert(verify(isq::magnetizing_field, vector, A / m));
static_assert(verify(isq::magnetic_constant, scalar, H / m, V* s / (A * m)));
static_assert(verify(isq::permeability_of_vacuum, scalar, H / m, V* s / (A * m)));
static_assert(verify(isq::permeability, scalar, H / m, V* s / (A * m)));
static_assert(verify(isq::magnetic_constant, scalar, H / m, kg* m / (s2 * square(A))));
static_assert(verify(isq::permeability_of_vacuum, scalar, H / m, kg* m / (s2 * square(A))));
static_assert(verify(isq::permeability, scalar, H / m, kg* m / (s2 * square(A))));
static_assert(verify(isq::relative_permeability, scalar, one));
static_assert(verify(isq::magnetic_susceptibility, scalar, one));
static_assert(verify(isq::magnetic_polarization, vector, T));
static_assert(verify(isq::magnetic_dipole_moment, vector, Wb* m));
static_assert(verify(isq::magnetic_polarization, vector, T, Wb / m2, kg / (s2 * A)));
static_assert(verify(isq::magnetic_dipole_moment, vector, Wb* m, kg* m3 / (s2 * A)));
static_assert(verify(isq::coercivity, scalar, A / m));
static_assert(verify(isq::magnetic_vector_potential, vector, Wb / m));
static_assert(verify(isq::electromagnetic_energy_density, scalar, J / m3));
static_assert(verify(isq::volumic_electromagnetic_energy, scalar, J / m3));
static_assert(verify(isq::Poynting_vector, vector, W / m2));
static_assert(verify(isq::coercive_field_strength, scalar, A / m));
static_assert(verify(isq::magnetic_vector_potential, vector, J / (A * m), kg* m / (s2 * A)));
static_assert(verify(isq::electromagnetic_energy_density, scalar, J / m3, kg / (m * s2)));
static_assert(verify(isq::Poynting_vector, vector, W / m2, kg / s3));
static_assert(verify(isq::phase_speed_of_electromagnetic_waves, scalar, m / s));
static_assert(verify(isq::speed_of_light_in_vacuum, scalar, m / s));
static_assert(verify(isq::light_speed_in_vacuum, scalar, m / s));
static_assert(verify(isq::source_voltage, scalar, V));
static_assert(verify(isq::source_tension, scalar, V));
static_assert(verify(isq::scalar_magnetic_potential, scalar, A));
static_assert(verify(isq::luminal_speed, scalar, m / s));
static_assert(verify(isq::source_voltage, scalar, V, kg* m2 / (s3 * A)));
static_assert(verify(isq::source_tension, scalar, V, kg* m2 / (s3 * A)));
static_assert(verify(isq::magnetic_potential, scalar, A));
static_assert(verify(isq::magnetic_tension, scalar, A));
static_assert(verify(isq::magnetomotive_force, scalar, A));
static_assert(verify(isq::current_linkage, scalar, A));
static_assert(verify(isq::number_of_turns_in_a_winding, scalar, one));
static_assert(verify(isq::reluctance, scalar, one / H));
static_assert(verify(isq::permeance, scalar, H));
static_assert(verify(isq::inductance, scalar, H));
static_assert(verify(isq::self_inductance, scalar, H));
static_assert(verify(isq::mutual_inductance, scalar, H));
static_assert(verify(isq::reluctance, scalar, one / H, s2* square(A) / (kg * m2)));
static_assert(verify(isq::permeance, scalar, H, kg* m2 / (s2 * square(A))));
static_assert(verify(isq::inductance, scalar, H, kg* m2 / (s2 * square(A))));
static_assert(verify(isq::self_inductance, scalar, H, kg* m2 / (s2 * square(A))));
static_assert(verify(isq::mutual_inductance, scalar, H, kg* m2 / (s2 * square(A))));
static_assert(verify(isq::coupling_factor, scalar, one));
static_assert(verify(isq::leakage_factor, scalar, one));
static_assert(verify(isq::conductivity, scalar, S / m));
static_assert(verify(isq::resistivity, scalar, Ω* m));
static_assert(verify(isq::electromagnetism_power, scalar, W));
static_assert(verify(isq::instantaneous_power, scalar, W));
static_assert(verify(isq::resistance, scalar, Ω));
static_assert(verify(isq::conductance, scalar, S));
static_assert(verify(isq::phase_difference, scalar, rad));
static_assert(verify(isq::conductivity, scalar, S / m, s3* square(A) / (kg * m3)));
static_assert(verify(isq::resistivity, scalar, Ω* m, kg* m3 / (s3 * square(A))));
static_assert(verify(isq::electromagnetism_power, scalar, W, kg* m2 / s3));
static_assert(verify(isq::instantaneous_power, scalar, W, kg* m2 / s3));
static_assert(verify(isq::resistance, scalar, Ω, kg* m2 / (s3 * square(A))));
static_assert(verify(isq::conductance, scalar, S, s3* square(A) / (kg * m2)));
static_assert(verify(isq::phase_difference, scalar, rad, one));
static_assert(verify(isq::electric_current_phasor, complex, A));
static_assert(verify(isq::voltage_phasor, complex, V));
static_assert(verify(isq::impedance, scalar, Ω));
static_assert(verify(isq::complex_impedance, scalar, Ω));
static_assert(verify(isq::resistance_to_alternating_current, scalar, Ω));
static_assert(verify(isq::reactance, scalar, Ω));
static_assert(verify(isq::modulus_of_impedance, scalar, Ω));
static_assert(verify(isq::admittance, scalar, S));
static_assert(verify(isq::complex_admittance, scalar, S));
static_assert(verify(isq::conductance_for_alternating_current, scalar, S));
static_assert(verify(isq::susceptance, scalar, S));
static_assert(verify(isq::modulus_of_admittance, scalar, S));
static_assert(verify(isq::voltage_phasor, complex, V, kg* m2 / (s3 * A)));
static_assert(verify(isq::electric_tension_phasor, complex, V, kg* m2 / (s3 * A)));
static_assert(verify(isq::impedance, scalar, Ω, kg* m2 / (s3 * square(A))));
static_assert(verify(isq::complex_impedance, scalar, Ω, kg* m2 / (s3 * square(A))));
static_assert(verify(isq::impedance_of_vacuum, scalar, V / A, kg* m2 / (s3 * square(A))));
static_assert(verify(isq::wave_impedance_in_vacuum, scalar, V / A, kg* m2 / (s3 * square(A))));
static_assert(verify(isq::resistance_to_alternating_current, scalar, Ω, kg* m2 / (s3 * square(A))));
static_assert(verify(isq::reactance, scalar, Ω, kg* m2 / (s3 * square(A))));
static_assert(verify(isq::apparent_impedance, scalar, Ω, kg* m2 / (s3 * square(A))));
static_assert(verify(isq::admittance, scalar, S, s3* square(A) / (kg * m2)));
static_assert(verify(isq::complex_admittance, scalar, S, s3* square(A) / (kg * m2)));
static_assert(verify(isq::admittance_of_vacuum, scalar, A / V, s3* square(A) / (kg * m2)));
static_assert(verify(isq::conductance_for_alternating_current, scalar, S, s3* square(A) / (kg * m2)));
static_assert(verify(isq::susceptance, scalar, S, s3* square(A) / (kg * m2)));
static_assert(verify(isq::apparent_admittance, scalar, S, s3* square(A) / (kg * m2)));
static_assert(verify(isq::quality_factor, scalar, one));
static_assert(verify(isq::loss_factor, scalar, one));
static_assert(verify(isq::loss_angle, scalar, rad));
static_assert(verify(isq::active_power, scalar, W));
static_assert(verify(isq::apparent_power, scalar, V* A));
static_assert(verify(isq::loss_angle, scalar, rad, one));
static_assert(verify(isq::active_power, scalar, W, kg* m2 / s3));
static_assert(verify(isq::apparent_power, scalar, V* A, kg* m2 / s3));
static_assert(verify(isq::power_factor, scalar, one));
static_assert(verify(isq::complex_power, complex, V* A));
static_assert(verify(isq::reactive_power, scalar, V* A));
static_assert(verify(isq::non_active_power, scalar, V* A));
static_assert(verify(isq::active_energy, scalar, J, W* h));
static_assert(verify(isq::complex_power, complex, V* A, kg* m2 / s3));
static_assert(verify(isq::reactive_power, scalar, var, V* A, kg* m2 / s3));
static_assert(verify(isq::non_active_power, scalar, V* A, kg* m2 / s3));
static_assert(verify(isq::active_energy, scalar, J, W* s, kg* m2 / s2));
// light and radiation
static_assert(verify(isq::speed_of_light_in_a_medium, scalar, m / s));