Skip to content

stellarator_variables

Module containing variables for the stellarator models

CREATE_DICTS_FROM_DATACLASS = StellaratorData module-attribute

StellaratorModel

Bases: IntEnum

Enum for stellarator models

Source code in process/data_structure/stellarator_variables.py
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@unique
class StellaratorModel(IntEnum):
    """Enum for stellarator models"""

    DISABLED = 0
    """Disabled stellarator model (use tokamak model)"""

    HELIAS_5 = 1
    """Helias5 stellarator model"""

    HELIAS_4 = 2
    """Helias4 stellarator model"""

    HELIAS_3 = 3
    """Helias3 stellarator model"""

    W7X_50_COILS = 4
    """Wendelstein 7-X stellarator model with 50 coils"""

    W7X_30_COILS = 5
    """Wendelstein 7-X stellarator model with 30 coils"""

    CUSTOM = 6
    """Custom stellarator model using stella_conf.json file"""

DISABLED = 0 class-attribute instance-attribute

Disabled stellarator model (use tokamak model)

HELIAS_5 = 1 class-attribute instance-attribute

Helias5 stellarator model

HELIAS_4 = 2 class-attribute instance-attribute

Helias4 stellarator model

HELIAS_3 = 3 class-attribute instance-attribute

Helias3 stellarator model

W7X_50_COILS = 4 class-attribute instance-attribute

Wendelstein 7-X stellarator model with 50 coils

W7X_30_COILS = 5 class-attribute instance-attribute

Wendelstein 7-X stellarator model with 30 coils

CUSTOM = 6 class-attribute instance-attribute

Custom stellarator model using stella_conf.json file

StellaratorData dataclass

Dataclass holding stellarator variables

Source code in process/data_structure/stellarator_variables.py
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
@dataclass(slots=True)
class StellaratorData:
    """Dataclass holding stellarator variables"""

    f_st_n_coils: float = 0.0
    """Actual number of coils to reference value from stella_config file"""

    f_st_rmajor: float = 0.0
    """Actual major radius to reference value from stella_config file"""

    f_st_aspect: float = 0.0
    """Actual aspect ratio to reference value from stella_config file"""

    f_st_coil_aspect: float = 1.0
    """Scaling factor for (stellarator major radius / coil radius ratio)"""

    f_st_b: float = 0.0
    """Actual b_plasma_toroidal_on_axis to reference value from stella_config file """

    f_st_i_total: float = 0.0
    """Actual total coil current to reference value from stella_config file"""

    f_st_rminor: float = 0.0
    """Actual minor radius to reference value from stella_config file"""

    f_coil_shape: float = 0.0
    """Parameter required for coil scaling
    (min_plasma_coil_distance + stella_config_rminor_ref) / stella_config_coil_rminor
    """

    first_call: bool = True

    first_call_stfwbs: bool = True

    r_coil_minor: float = 0.0
    """Coil minor radius (m)"""

    r_coil_major: float = 0.0
    """Coil major radius (m)"""

    istell: int = 0
    """Switch for stellarator option `StellaratorModel`:
        - `StellaratorModel.DISABLED` use tokamak model
        - `StellaratorModel.HELIAS_5` use stellarator model: Helias5
        - `StellaratorModel.HELIAS_4` use stellarator model: Helias4
        - `StellaratorModel.HELIAS_3` use stellarator model: Helias3
        - `StellaratorModel.W7X_50_COILS` use stellarator model: Wendelstein 7-X with 50 Coils
        - `StellaratorModel.W7X_30_COILS` use stellarator model: Wendelstein 7-X with 30 Coils
        - `StellaratorModel.CUSTOM` use stellarator model: Use stella_conf.json file (any modular stellarator, see documentation)
    """

    bmn: float = 1e-3
    """relative radial field perturbation"""

    f_asym: float = 1.0
    """divertor heat load peaking factor"""

    f_rad: float = 0.85
    """radiated power fraction in SOL"""

    f_w: float = 0.5
    """island size fraction factor"""

    fdivwet: float = 0.333333333333333
    """wetted fraction of the divertor area"""

    flpitch: float = 1e-3
    """field line pitch (rad)"""

    hportamax: float = 0.0
    """maximum available area for horizontal ports (m2)"""

    hportpmax: float = 0.0
    """maximum available poloidal extent for horizontal ports (m)"""

    hporttmax: float = 0.0
    """maximum available toroidal extent for horizontal ports (m)"""

    iotabar: float = 1.0
    """rotational transform (reciprocal of tokamak q) for stellarator confinement time scaling laws"""

    isthtr: int = 1
    """Switch for stellarator auxiliary heating method:
        - = 1electron cyclotron resonance heating
        - = 2lower hybrid heating
        - = 3neutral beam injection
    """

    m_res: int = 5
    """poloidal resonance number (1)"""

    max_gyrotron_frequency: float = 1.0e9
    """Maximal available gyrotron frequency (input parameter) (Hz)"""

    n_res: int = 5
    """toroidal resonance number (1)"""

    shear: float = 0.5
    """magnetic shear, derivative of iotabar (1)"""

    te0_ecrh_achievable: float = 1.0e2
    """maximal central electron temperature as achievable by the ECRH, input. (keV)"""

    vportamax: float = 0.0
    """maximum available area for vertical ports (m2)"""

    vportpmax: float = 0.0
    """maximum available poloidal extent for vertical ports (m)"""

    vporttmax: float = 0.0
    """maximum available toroidal extent for vertical ports (m)"""

    powerht_constraint: float = 0.0

    powerscaling_constraint: float = 0.0

f_st_n_coils = 0.0 class-attribute instance-attribute

Actual number of coils to reference value from stella_config file

f_st_rmajor = 0.0 class-attribute instance-attribute

Actual major radius to reference value from stella_config file

f_st_aspect = 0.0 class-attribute instance-attribute

Actual aspect ratio to reference value from stella_config file

f_st_coil_aspect = 1.0 class-attribute instance-attribute

Scaling factor for (stellarator major radius / coil radius ratio)

f_st_b = 0.0 class-attribute instance-attribute

Actual b_plasma_toroidal_on_axis to reference value from stella_config file

f_st_i_total = 0.0 class-attribute instance-attribute

Actual total coil current to reference value from stella_config file

f_st_rminor = 0.0 class-attribute instance-attribute

Actual minor radius to reference value from stella_config file

f_coil_shape = 0.0 class-attribute instance-attribute

Parameter required for coil scaling (min_plasma_coil_distance + stella_config_rminor_ref) / stella_config_coil_rminor

first_call = True class-attribute instance-attribute

first_call_stfwbs = True class-attribute instance-attribute

r_coil_minor = 0.0 class-attribute instance-attribute

Coil minor radius (m)

r_coil_major = 0.0 class-attribute instance-attribute

Coil major radius (m)

istell = 0 class-attribute instance-attribute

Switch for stellarator option StellaratorModel: - StellaratorModel.DISABLED use tokamak model - StellaratorModel.HELIAS_5 use stellarator model: Helias5 - StellaratorModel.HELIAS_4 use stellarator model: Helias4 - StellaratorModel.HELIAS_3 use stellarator model: Helias3 - StellaratorModel.W7X_50_COILS use stellarator model: Wendelstein 7-X with 50 Coils - StellaratorModel.W7X_30_COILS use stellarator model: Wendelstein 7-X with 30 Coils - StellaratorModel.CUSTOM use stellarator model: Use stella_conf.json file (any modular stellarator, see documentation)

bmn = 0.001 class-attribute instance-attribute

relative radial field perturbation

f_asym = 1.0 class-attribute instance-attribute

divertor heat load peaking factor

f_rad = 0.85 class-attribute instance-attribute

radiated power fraction in SOL

f_w = 0.5 class-attribute instance-attribute

island size fraction factor

fdivwet = 0.333333333333333 class-attribute instance-attribute

wetted fraction of the divertor area

flpitch = 0.001 class-attribute instance-attribute

field line pitch (rad)

hportamax = 0.0 class-attribute instance-attribute

maximum available area for horizontal ports (m2)

hportpmax = 0.0 class-attribute instance-attribute

maximum available poloidal extent for horizontal ports (m)

hporttmax = 0.0 class-attribute instance-attribute

maximum available toroidal extent for horizontal ports (m)

iotabar = 1.0 class-attribute instance-attribute

rotational transform (reciprocal of tokamak q) for stellarator confinement time scaling laws

isthtr = 1 class-attribute instance-attribute

Switch for stellarator auxiliary heating method: - = 1electron cyclotron resonance heating - = 2lower hybrid heating - = 3neutral beam injection

m_res = 5 class-attribute instance-attribute

poloidal resonance number (1)

max_gyrotron_frequency = 1000000000.0 class-attribute instance-attribute

Maximal available gyrotron frequency (input parameter) (Hz)

n_res = 5 class-attribute instance-attribute

toroidal resonance number (1)

shear = 0.5 class-attribute instance-attribute

magnetic shear, derivative of iotabar (1)

te0_ecrh_achievable = 100.0 class-attribute instance-attribute

maximal central electron temperature as achievable by the ECRH, input. (keV)

vportamax = 0.0 class-attribute instance-attribute

maximum available area for vertical ports (m2)

vportpmax = 0.0 class-attribute instance-attribute

maximum available poloidal extent for vertical ports (m)

vporttmax = 0.0 class-attribute instance-attribute

maximum available toroidal extent for vertical ports (m)

powerht_constraint = 0.0 class-attribute instance-attribute

powerscaling_constraint = 0.0 class-attribute instance-attribute