Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions process/core/io/plot/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ def sankey(mfile, format_):
"Variables will be plotted in order of input"
),
)
def plot_scans_cli(
def plot_scans_cli( # noqa: PLR0917
mfiles,
output_names,
output_names2,
Expand Down Expand Up @@ -235,22 +235,22 @@ def plot_scans_cli(
list(filter(None, output_names)),
list(filter(None, output_names2)),
outputdir,
term_output,
save_format,
axis_font_size,
axis_tick_size,
x_axis_percent,
list(map(float, filter(None, x_axis_max))),
list(map(float, filter(None, x_axis_range))),
y_axis_percent,
list(map(float, filter(None, y_axis_max))),
list(map(float, filter(None, y_axis_range))),
y_axis_percent2,
list(map(float, filter(None, y_axis2_max))),
list(map(float, filter(None, y_axis_range2))),
label_name,
twod_contour,
stack_plots,
x_axis_percent=x_axis_percent,
y_axis_percent=y_axis_percent,
y_axis_percent2=y_axis_percent2,
term_output=term_output,
twod_contour=twod_contour,
stack_plots=stack_plots,
)


Expand Down
13 changes: 7 additions & 6 deletions process/core/io/plot/scans.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,20 +174,21 @@ def plot_scan(
output_names: Sequence[str] = (),
output_names2: Sequence[str] = (),
outputdir: Path | None = None,
term_output: bool = False,
save_format: str = "pdf",
axis_font_size: float = 18,
axis_tick_size: float = 16,
x_axis_percent: bool = False,
x_axis_max: Sequence[float] = (),
x_axis_range: Sequence[float] = (),
y_axis_percent: bool = False,
y_axis_max: Sequence[float] = (),
y_axis_range: Sequence[float] = (),
y_axis_percent2: bool = False,
y_axis2_max: Sequence[float] = (),
x_axis_range: Sequence[float] = (),
y_axis_range: Sequence[float] = (),
y_axis_range2: Sequence[float] = (),
label_name: Sequence[str] = (),
*,
x_axis_percent: bool = False,
y_axis_percent: bool = False,
y_axis_percent2: bool = False,
term_output: bool = False,
twod_contour: bool = False,
stack_plots: bool = False,
):
Expand Down
117 changes: 57 additions & 60 deletions process/models/build.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Module containing routines for build calculations"""

import logging
from dataclasses import dataclass
from enum import IntEnum, unique

import numpy as np
Expand All @@ -24,6 +25,14 @@
logger = logging.getLogger(__name__)


@dataclass
class RZPoint:
"""A generic container for data that has r and z components"""

r: float
z: float


@unique
class FwBlktVVShape(IntEnum):
"""Enum for first wall, blanket, and vacuum vessel shape options."""
Expand Down Expand Up @@ -593,21 +602,15 @@ def plate_sin(l_div_plate, theta, beta):
thetao=thetao,
rco=rco,
rci=rci,
rxpt=rxpt,
zxpt=zxpt,
rspi=rspi,
zspi=zspi,
xpt=RZPoint(r=rxpt, z=zxpt),
spi=RZPoint(r=rspi, z=zspi),
zspo=zspo,
# Position of inner strike points
rplti=rspi + inner_plte_cos,
rplbi=rspi - inner_plte_cos,
zplti=zplti,
zplbi=zplbi,
plti=RZPoint(r=rspi + inner_plte_cos, z=zplti),
plbi=RZPoint(r=rspi - inner_plte_cos, z=zplbi),
# Position of outer plate ends
rplto=self.data.build.rspo - outer_plte_cos,
rplbo=self.data.build.rspo + outer_plte_cos,
zplto=zplto,
zplbo=zplbo,
plto=RZPoint(r=self.data.build.rspo - outer_plte_cos, z=zplto),
plbo=RZPoint(r=self.data.build.rspo + outer_plte_cos, z=zplbo),
)

return divht
Expand All @@ -621,19 +624,13 @@ def divertor_geom_output(
thetao,
rco,
rci,
rxpt,
zxpt,
rspi,
zspi,
xpt,
spi,
zspo,
rplti,
rplbi,
zplti,
zplbi,
rplto,
rplbo,
zplto,
zplbo,
plti,
plbi,
plto,
plbo,
):
"""Divertor geometry output"""
po.oheadr(self.outfile, "Divertor build and plasma position")
Expand Down Expand Up @@ -668,8 +665,8 @@ def divertor_geom_output(
),
("Plasma outer arc radius of curvature (m)", "(rco)", rco),
("Plasma inner arc radius of curvature (m)", "(rci)", rci),
("Plasma lower X-pt, radial (m)", "(rxpt)", rxpt),
("Plasma lower X-pt, vertical (m)", "(zxpt)", zxpt),
("Plasma lower X-pt, radial (m)", "(rxpt)", xpt.r),
("Plasma lower X-pt, vertical (m)", "(zxpt)", xpt.z),
(
"Poloidal plane angle between vertical and inner leg (rad)",
"(thetai)",
Expand Down Expand Up @@ -702,18 +699,18 @@ def divertor_geom_output(
),
("Inner divertor plate length (m)", "(plleni)", self.data.build.plleni),
("Outer divertor plate length (m)", "(plleno)", self.data.build.plleno),
("Inner strike point, radial (m)", "(rspi)", rspi),
("Inner strike point, vertical (m)", "(zspi)", zspi),
("Inner plate top, radial (m)", "(rplti)", rplti),
("Inner plate top, vertical (m)", "(zplti)", zplti),
("Inner plate bottom, radial (m)", "(rplbi)", rplbi),
("Inner plate bottom, vertical (m)", "(zplbi)", zplbi),
("Inner strike point, radial (m)", "(rspi)", spi.r),
("Inner strike point, vertical (m)", "(zspi)", spi.z),
("Inner plate top, radial (m)", "(rplti)", plti.r),
("Inner plate top, vertical (m)", "(zplti)", plti.z),
("Inner plate bottom, radial (m)", "(rplbi)", plbi.r),
("Inner plate bottom, vertical (m)", "(zplbi)", plbi.z),
("Outer strike point, radial (m)", "(rspo)", self.data.build.rspo),
("Outer strike point, vertical (m)", "(zspo)", zspo),
("Outer plate top, radial (m)", "(rplto)", rplto),
("Outer plate top, vertical (m)", "(zplto)", zplto),
("Outer plate bottom, radial (m)", "(rplbo)", rplbo),
("Outer plate bottom, vertical (m)", "(zplbo)", zplbo),
("Outer plate top, radial (m)", "(rplto)", plto.r),
("Outer plate top, vertical (m)", "(zplto)", plto.z),
("Outer plate bottom, radial (m)", "(rplbo)", plbo.r),
("Outer plate bottom, vertical (m)", "(zplbo)", plbo.z),
("Calculated maximum divertor height (m)", "(divht)", divht),
]:
po.ovarre(self.outfile, desc, name, var, "OP ")
Expand Down Expand Up @@ -746,12 +743,12 @@ def divertor_geom_output(
"(dz_tf_plasma_centre_offset)",
self.data.build.dz_tf_plasma_centre_offset,
),
("Plasma upper X-pt, radial (m)", "(rxpt)", rxpt),
("Plasma upper X-pt, vertical (m)", "(-zxpt)", -zxpt),
("Plasma upper X-pt, radial (m)", "(rxpt)", xpt.r),
("Plasma upper X-pt, vertical (m)", "(-zxpt)", -xpt.z),
("Plasma outer arc radius of curvature (m)", "(rco)", rco),
("Plasma inner arc radius of curvature (m)", "(rci)", rci),
("Plasma lower X-pt, radial (m)", "(rxpt)", rxpt),
("Plasma lower X-pt, vertical (m)", "(zxpt)", zxpt),
("Plasma lower X-pt, radial (m)", "(rxpt)", xpt.r),
("Plasma lower X-pt, vertical (m)", "(zxpt)", xpt.z),
(
"Poloidal plane angle between vertical and inner leg (rad)",
"(thetai)",
Expand Down Expand Up @@ -784,38 +781,38 @@ def divertor_geom_output(
),
("Inner divertor plate length (m)", "(plleni)", self.data.build.plleni),
("Outer divertor plate length (m)", "(plleno)", self.data.build.plleno),
("Upper inner strike point, radial (m)", "(rspi)", rspi),
("Upper inner strike point, vertical (m)", "(-zspi)", -zspi),
("Upper inner plate top, radial (m)", "(rplti)", rplti),
("Upper inner plate top, vertical (m)", "(-zplti)", -zplti),
("Upper inner plate bottom, radial (m)", "(rplbi)", rplbi),
("Upper inner plate bottom, vertical (m)", "(-zplbi)", -zplbi),
("Upper inner strike point, radial (m)", "(rspi)", spi.r),
("Upper inner strike point, vertical (m)", "(-zspi)", -spi.z),
("Upper inner plate top, radial (m)", "(rplti)", plti.r),
("Upper inner plate top, vertical (m)", "(-zplti)", -plti.z),
("Upper inner plate bottom, radial (m)", "(rplbi)", plbi.r),
("Upper inner plate bottom, vertical (m)", "(-zplbi)", -plbi.z),
(
"Upper outer strike point, radial (m)",
"(rspo)",
self.data.build.rspo,
),
("Upper outer strike point, vertical (m)", "(-zspo)", -zspo),
("Upper outer plate top, radial (m)", "(rplto)", rplto),
("Upper outer plate top, vertical (m)", "(-zplto)", -zplto),
("Upper outer plate bottom, radial (m)", "(rplbo)", rplbo),
("Upper outer plate bottom, vertical (m)", "(-zplbo)", -zplbo),
("Lower inner strike point, radial (m)", "(rspi)", rspi),
("Lower inner strike point, vertical (m)", "(zspi)", zspi),
("Lower inner plate top, radial (m)", "(rplti)", rplti),
("Lower inner plate top, vertical (m)", "(zplti)", zplti),
("Lower inner plate bottom, radial (m)", "(rplbi)", rplbi),
("Lower inner plate bottom, vertical (m)", "(zplbi)", zplbi),
("Upper outer plate top, radial (m)", "(rplto)", plto.r),
("Upper outer plate top, vertical (m)", "(-zplto)", -plto.z),
("Upper outer plate bottom, radial (m)", "(rplbo)", plbo.r),
("Upper outer plate bottom, vertical (m)", "(-zplbo)", -plbo.z),
("Lower inner strike point, radial (m)", "(rspi)", spi.r),
("Lower inner strike point, vertical (m)", "(zspi)", spi.z),
("Lower inner plate top, radial (m)", "(rplti)", plti.r),
("Lower inner plate top, vertical (m)", "(zplti)", plti.z),
("Lower inner plate bottom, radial (m)", "(rplbi)", plbi.r),
("Lower inner plate bottom, vertical (m)", "(zplbi)", plbi.z),
(
"Lower outer strike point, radial (m)",
"(rspo)",
self.data.build.rspo,
),
("Lower outer strike point, vertical (m)", "(zspo)", zspo),
("Lower outer plate top, radial (m)", "(rplto)", rplto),
("Lower outer plate top, vertical (m)", "(zplto)", zplto),
("Lower outer plate bottom, radial (m)", "(rplbo)", rplbo),
("Lower outer plate bottom, vertical (m)", "(zplbo)", zplbo),
("Lower outer plate top, radial (m)", "(rplto)", plto.r),
("Lower outer plate top, vertical (m)", "(zplto)", plto.z),
("Lower outer plate bottom, radial (m)", "(rplbo)", plbo.r),
("Lower outer plate bottom, vertical (m)", "(zplbo)", plbo.z),
("Calculated maximum divertor height (m)", "(divht)", divht),
]:
po.ovarre(self.outfile, desc, name, var, "OP ")
Expand Down
2 changes: 1 addition & 1 deletion process/models/physics/confinement_time.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def output(self):
def run(self):
"""PlasmaConfinementTime model doesn't need to be run"""

def calculate_confinement_time(
def calculate_confinement_time( # noqa: PLR0917
self,
m_fuel_amu: float,
p_alpha_total_mw: float,
Expand Down
13 changes: 10 additions & 3 deletions process/models/stellarator/coils/output.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
"""Module to output stellarator modular coil results."""

from __future__ import annotations

from typing import TYPE_CHECKING

from process.core import process_output as po

if TYPE_CHECKING:
from process.core.data_structure.base import DataStructure


def write(
def write( # noqa: PLR0917
stellarator,
a_tf_wp_no_insulation,
centering_force_avg_mn,
Expand All @@ -29,7 +36,7 @@ def write(
toroidalgap,
allowed_quench_voltage,
quench_voltage,
data,
data: DataStructure,
):
"""Writes stellarator modular coil output to file

Expand Down Expand Up @@ -88,7 +95,7 @@ def write(

quench_voltage :

data: DataStructure
data:
data structure object

"""
Expand Down
30 changes: 22 additions & 8 deletions process/models/stellarator/neoclassics.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Module containing neoclassics routines"""

import logging
from dataclasses import dataclass

import numpy as np

Expand All @@ -11,6 +12,20 @@
logger = logging.getLogger(__name__)


@dataclass
class NormalisedCollisionality:
"""Storage for normalised collisionality"""

e: float
"""electron"""
D: float
"""Deutrerium"""
T: float
"""Tritium"""
He: float
"""Helium"""


class Neoclassics(Model):
"""Module containing neoclassics routines"""

Expand Down Expand Up @@ -395,10 +410,12 @@ def calc_neoclassics(self):

chi_PROCESS_e = self.st_calc_eff_chi()

nu_star_e = self.data.neoclassics.nu_star_averaged[0]
nu_star_d = self.data.neoclassics.nu_star_averaged[1]
nu_star_T = self.data.neoclassics.nu_star_averaged[2]
nu_star_He = self.data.neoclassics.nu_star_averaged[3]
nu_star = NormalisedCollisionality(
e=self.data.neoclassics.nu_star_averaged[0],
D=self.data.neoclassics.nu_star_averaged[1],
T=self.data.neoclassics.nu_star_averaged[2],
He=self.data.neoclassics.nu_star_averaged[3],
)

return (
q_PROCESS,
Expand All @@ -424,10 +441,7 @@ def calc_neoclassics(self):
dmdt_neo_fuel_from_e,
chi_neo_e,
chi_PROCESS_e,
nu_star_e,
nu_star_d,
nu_star_T,
nu_star_He,
nu_star,
)

def neoclassics_calc_KT(self):
Expand Down
Loading
Loading