Source code for cfspopcon.formulas.energy_confinement.plasma_stored_energy

"""Calculate the plasma stored energy."""

from ...algorithm_class import Algorithm
from ...unit_handling import Unitfull, convert_units, ureg


[docs] @Algorithm.register_algorithm(return_keys=["plasma_stored_energy"]) def calc_plasma_stored_energy( average_electron_density: Unitfull, average_electron_temp: Unitfull, average_ion_density: Unitfull, summed_impurity_density: Unitfull, average_ion_temp: Unitfull, plasma_volume: Unitfull, ) -> Unitfull: """Calculates the plasma thermal stored energy. Args: average_electron_density: :term:`glossary link<average_electron_density>` average_electron_temp: :term:`glossary link<average_electron_temp>` average_ion_density: :term:`glossary link<average_ion_density>` summed_impurity_density: :term:`glossary link<summed_impurity_density>` average_ion_temp: :term:`glossary link<average_ion_temp>` plasma_volume: :term:`glossary link<plasma_volume>` Returns: :term:`plasma_stored_energy` """ Wp = ( (3.0 / 2.0) * ((average_electron_density * average_electron_temp) + ((average_ion_density + summed_impurity_density) * average_ion_temp)) * plasma_volume ) return convert_units(Wp, ureg.MJ)