paramak
paramak copied to clipboard
Do we need more plasma source examples
Looking through the examples I couldn't find a good plasma source one.
Perhaps we sould include something like this in the neutronics utils
"""
This is a simple wrapper for the parametric plasma source that converts it into
an openmc.Source() object
"""
import openmc
from parametric_plasma_source import PlasmaSource, SOURCE_SAMPLING_PATH
def openmc_plasma_source(
elongation,
ion_density_origin,
ion_density_peaking_factor,
ion_density_pedestal,
ion_density_separatrix,
ion_temperature_origin,
ion_temperature_peaking_factor,
ion_temperature_pedestal,
ion_temperature_separatrix,
major_radius,
minor_radius,
pedestal_radius,
plasma_id,
shafranov_shift,
triangularity,
ion_temperature_beta,
):
my_plasma = PlasmaSource(
elongation=elongation,
ion_density_origin=ion_density_origin,
ion_density_peaking_factor=ion_density_peaking_factor,
ion_density_pedestal=ion_density_pedestal,
ion_density_separatrix=ion_density_separatrix,
ion_temperature_origin=ion_temperature_origin,
ion_temperature_peaking_factor=ion_temperature_peaking_factor,
ion_temperature_pedestal=ion_temperature_pedestal,
ion_temperature_separatrix=ion_temperature_separatrix,
major_radius=major_radius,
minor_radius=minor_radius,
pedestal_radius=pedestal_radius,
plasma_id=plasma_id,
shafranov_shift=shafranov_shift,
triangularity=triangularity,
ion_temperature_beta=ion_temperature_beta,
)
source = openmc.Source()
source.library = SOURCE_SAMPLING_PATH
source.parameters = str(my_plasma)
return source