fusion-energy / openmc-plasma-source

Creates a plasma source as an openmc.source object from input parameters that describe the plasma
MIT License
26 stars 11 forks source link

Plotting module #17

Closed RemDelaporteMathurin closed 2 years ago

RemDelaporteMathurin commented 2 years ago

This PR adds some basic plotting functions to help inspect the TokamakSource

Usage

from openmc_plasma_source import plotting, TokamakSource
import matplotlib.pyplot as plt

my_plasma = TokamakSource(
    elongation=1.557,
    ion_density_centre=1.09e20,
    ion_density_peaking_factor=1,
    ion_density_pedestal=1.09e20,
    ion_density_separatrix=3e19,
    ion_temperature_centre=45.9,
    ion_temperature_peaking_factor=8.06,
    ion_temperature_pedestal=6.09,
    ion_temperature_separatrix=0.1,
    major_radius=9.06,
    minor_radius=2.92258,
    pedestal_radius=0.8 * 2.92258,
    mode="H",
    shafranov_factor=0.44789,
    triangularity=0.270,
    ion_temperature_beta=6,
    )

plotting.plot_tokamak_source_3D(my_plasma, quantity="neutron_source_density", alpha=0.3)
plt.savefig("out.png")

out

from openmc_plasma_source import plotting, TokamakSource
import matplotlib.pyplot as plt

my_plasma = TokamakSource(
    elongation=1.557,
    ion_density_centre=1.09e20,
    ion_density_peaking_factor=1,
    ion_density_pedestal=1.09e20,
    ion_density_separatrix=3e19,
    ion_temperature_centre=45.9,
    ion_temperature_peaking_factor=8.06,
    ion_temperature_pedestal=6.09,
    ion_temperature_separatrix=0.1,
    major_radius=9.06,
    minor_radius=2.92258,
    pedestal_radius=0.8 * 2.92258,
    mode="H",
    shafranov_factor=0.44789,
    triangularity=0.270,
    ion_temperature_beta=6,
    )

plotting.scatter_tokamak_source(my_plasma, quantity="neutron_source_density")
plt.savefig("out.png")

out

codecov[bot] commented 2 years ago

Codecov Report

Merging #17 (1a06715) into develop (530fae2) will increase coverage by 9.26%. The diff coverage is 100.00%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop      #17      +/-   ##
===========================================
+ Coverage    82.75%   92.02%   +9.26%     
===========================================
  Files            4        6       +2     
  Lines          145      163      +18     
===========================================
+ Hits           120      150      +30     
+ Misses          25       13      -12     
Impacted Files Coverage Δ
openmc_plasma_source/tokamak_source.py 94.68% <ø> (+10.13%) :arrow_up:
openmc_plasma_source/plotting/__init__.py 100.00% <100.00%> (ø)
...enmc_plasma_source/plotting/plot_tokamak_source.py 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 530fae2...1a06715. Read the comment docs.