paramak icon indicating copy to clipboard operation
paramak copied to clipboard

Do we need more plasma source examples

Open shimwell opened this issue 4 years ago • 0 comments

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

shimwell avatar Jan 19 '21 18:01 shimwell