"""Typed results returned by the transport models.""" from __future__ import annotations from dataclasses import asdict, dataclass @dataclass(frozen=True, slots=True) class TransportProperties: eta: float temperature: float reduced_chemical_potential_ev: float carrier_density_cm3: float conductivity_s_cm: float mobility_cm2_v_s: float average_relaxation_time_fs: float seebeck_uv_k: float electronic_thermal_conductivity_w_m_k: float total_thermal_conductivity_w_m_k: float lorenz_number_w_ohm_k2: float power_factor_w_m_k2: float power_factor_uw_cm_k2: float zt: float def as_dict(self) -> dict[str, float]: return asdict(self) @dataclass(frozen=True, slots=True) class HallProperties: eta: float temperature: float reduced_chemical_potential_ev: float carrier_density_cm3: float conductivity_s_cm: float drift_mobility_cm2_v_s: float average_relaxation_time_fs: float hall_factor: float hall_coefficient_cm3_c: float classical_hall_coefficient_cm3_c: float hall_density_cm3: float hall_mobility_cm2_v_s: float def as_dict(self) -> dict[str, float]: return asdict(self) __all__ = ["TransportProperties", "HallProperties"]