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
2 changes: 0 additions & 2 deletions process/core/init.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
from process.data_structure.impurity_radiation_variables import N_IMPURITIES
from process.data_structure.numerics import FiguresOfMerit, PROCESSRunMode
from process.data_structure.physics_variables import DivertorNumberModels
from process.data_structure.scan_variables import init_scan_variables
from process.models.pfcoil import PFLocationTypes
from process.models.physics.profiles import DensityProfilePedestalType
from process.models.stellarator.initialization import st_init
Expand Down Expand Up @@ -233,7 +232,6 @@ def init_all_module_vars():
"""
logging_model_handler.clear_logs()
data_structure.numerics.init_numerics()
init_scan_variables()
constants.init_constants()


Expand Down
32 changes: 17 additions & 15 deletions process/core/input.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
from process.data_structure.impurity_radiation_variables import N_IMPURITIES
from process.data_structure.pfcoil_variables import N_PF_GROUPS_MAX
from process.data_structure.physics_variables import N_CONFINEMENT_SCALINGS
from process.data_structure.scan_variables import IPNSCNS, IPNSCNV

if TYPE_CHECKING:
from collections.abc import Callable
Expand Down Expand Up @@ -68,11 +69,12 @@ class InputVariable:
been cast to the specified `type`.
"""
additional_actions: (
Callable[[str, ValidInputTypes, int | None, InputVariable], None] | None
Callable[[str, ValidInputTypes, int | None, InputVariable, DataStructure], None]
| None
) = None
"""A function that takes the input variable: name, value, array index, and config (this dataclass)
as input and performs some additional action in addition to the default actions prescribed by the variables
config. May raise a ProcessValidationError.
"""A function that takes the input variable: name, value, array index, config (this dataclass), and
the data structure object as input and performs some additional action in addition to the default
actions prescribed by the variables config. May raise a ProcessValidationError.

NOTE: The value passed in has already been cleaned in the default
way and has been cast to the specified `type`.
Expand Down Expand Up @@ -1049,7 +1051,7 @@ def __post_init__(self):
"output_costs": InputVariable("costs", int, choices=[0, 1]),
"i_p_coolant_pumping": InputVariable("fwbs", int, range=(0, 3)),
"reinke_mode": InputVariable("reinke", int, choices=[0, 1]),
"scan_dim": InputVariable(data_structure.scan_variables, int, range=(1, 2)),
"scan_dim": InputVariable("scan", int, range=(1, 2)),
"i_thermal_electric_conversion": InputVariable("fwbs", int, range=(0, 4)),
"secondary_cycle_liq": InputVariable("fwbs", int, range=(2, 4)),
"supercond_cost_model": InputVariable("costs", int, choices=[0, 1]),
Expand Down Expand Up @@ -1091,27 +1093,27 @@ def __post_init__(self):
"v2matf": InputVariable("ife", float, array=True),
"v3matf": InputVariable("ife", float, array=True),
"isweep": InputVariable(
data_structure.scan_variables,
"scan",
int,
choices=range(data_structure.scan_variables.IPNSCNS + 1),
choices=range(IPNSCNS + 1),
),
"nsweep": InputVariable(
data_structure.scan_variables,
"scan",
int,
choices=range(1, data_structure.scan_variables.IPNSCNV + 1),
choices=range(1, IPNSCNV + 1),
),
"isweep_2": InputVariable(
data_structure.scan_variables,
"scan",
int,
choices=range(data_structure.scan_variables.IPNSCNS + 1),
choices=range(IPNSCNS + 1),
),
"nsweep_2": InputVariable(
data_structure.scan_variables,
"scan",
int,
choices=range(1, data_structure.scan_variables.IPNSCNV + 1),
choices=range(1, IPNSCNV + 1),
),
"sweep": InputVariable(data_structure.scan_variables, float, array=True),
"sweep_2": InputVariable(data_structure.scan_variables, float, array=True),
"sweep": InputVariable("scan", float, array=True),
"sweep_2": InputVariable("scan", float, array=True),
"impvardiv": InputVariable(
"reinke",
int,
Expand Down
2 changes: 2 additions & 0 deletions process/core/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
from process.data_structure.pulse_variables import PulseData
from process.data_structure.rebco_variables import RebcoData
from process.data_structure.reinke_variables import ReinkeData
from process.data_structure.scan_variables import ScanData
from process.data_structure.stellarator_configuration import StellaratorConfigData
from process.data_structure.stellarator_variables import StellaratorData
from process.data_structure.structure_variables import StructureData
Expand Down Expand Up @@ -77,6 +78,7 @@ class DataStructure:
tfcoil: TFData = initialise_later
superconducting_tfcoil: SuperconductingTFData = initialise_later
globals: GlobalData = initialise_later
scan: ScanData = initialise_later

def __post_init__(self):
for f in fields(self):
Expand Down
Loading
Loading