Generates minplascalc JSON files for monatomic, diatomic and polyatomic species.#

Input data to generate the JSON files are loaded from the ./data/minplascalc/species_data.yaml file.

# Import the required libraries.
import rizer.misc.units as u
from rizer.io.minplascalc.generate_minplascalc_data import (
    _effective_electrons,
    _electron_cross_section_m2,
    _polarisability_m3,
    build_diatomic,
    build_polyatomic,
    generate_monoatomic_species,
    load_species_data,
    save_species,
)

# Load the species data.
data = load_species_data()

# Generate the JSON files for the monatomic species.
for record in data["monoatomic"]:
    if not record.get("enabled", True):
        continue
    save_species(
        generate_monoatomic_species(
            species=record["species"],
            ionisation_energy=record["ionisation_energy_eV"] * u.eV_to_J,
            spin_multiplicity=record["spin_multiplicity"],
            polarisability=_polarisability_m3(record),
            n_eff=_effective_electrons(record),
            electron_cross_section_m2=_electron_cross_section_m2(record),
        )
    )

# Generate the JSON files for the diatomic species.
for record in data["diatomic"]:
    save_species(build_diatomic(record, data))

# Generate the JSON files for the polyatomic species.
for record in data["polyatomic"]:
    save_species(build_polyatomic(record, data))