Skip to content

impurity_radiation_variables

Module containing variables for the impurity radiation models

N_IMPURITIY_LOSS_FUNCTION_POINTS = 600 module-attribute

Number of points in the impurity loss function (L_z) tables

N_IMPURITIES = 14 module-attribute

Number of ion species in impurity radiation model

( 1) Hydrogen (fraction calculated by code) ( 2) Helium ( 3) Beryllium ( 4) Carbon ( 5) Nitrogen ( 6) Oxygen ( 7) Neon ( 8) Silicon ( 9) Argon (10) Iron (11) Nickel (12) Krypton (13) Xenon (14) Tungsten

CREATE_DICTS_FROM_DATACLASS = ImpurityRadiationData module-attribute

ImpurityRadiationData dataclass

Dataclass holding impurity radiation variables

Source code in process/data_structure/impurity_radiation_variables.py
 30
 31
 32
 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
148
@dataclass(slots=True)
class ImpurityRadiationData:
    """Dataclass holding impurity radiation variables"""

    radius_plasma_core_norm: float = 0.6
    """Normalised radius defining the 'core' region"""

    f_p_plasma_core_rad_reduction: float = 1.0
    """Fraction of radiation from 'core' region"""

    f_nd_impurity_electrons: list[float] = field(
        default_factory=lambda: np.array([
            1.0,
            0.1,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
        ])
    )

    n_charge_impurity_profile: list[float] = field(
        default_factory=lambda: np.zeros((
            N_IMPURITIES,
            N_IMPURITIY_LOSS_FUNCTION_POINTS,
        ))
    )
    """charge profile of impurities"""

    imp_label: list[str] = field(
        default_factory=lambda: np.array([
            "H_",
            "He",
            "Be",
            "C_",
            "N_",
            "O_",
            "Ne",
            "Si",
            "Ar",
            "Fe",
            "Ni",
            "Kr",
            "Xe",
            "W_",
        ])
    )
    """Labels for impurity species"""

    imp_full_ion_charge: list[int] = field(
        default_factory=lambda: np.array([
            1,
            2,
            4,
            6,
            7,
            8,
            10,
            14,
            18,
            26,
            28,
            36,
            54,
            74,
        ])
    )
    """Full ion charge of impurity species"""

    impurity_arr_label: list[str] = field(
        default_factory=lambda: np.full(N_IMPURITIES, "  ")
    )
    """Array of impurity labels for internal use"""

    impurity_arr_z: list[float] = field(default_factory=lambda: np.zeros(N_IMPURITIES))

    m_impurity_amu_array: list[float] = field(
        default_factory=lambda: np.zeros(N_IMPURITIES)
    )
    """2D array of impurity atomic masses in Atomic Mass Units (amu)"""

    f_nd_impurity_electron_array: list[float] = field(
        default_factory=lambda: np.zeros(N_IMPURITIES)
    )
    """2D array of impurity relative densities (n_imp/n_e)"""

    impurity_arr_len_tab: list[int] = field(
        default_factory=lambda: np.full(N_IMPURITIES, 0)
    )

    temp_impurity_keV_array: list[float] = field(
        default_factory=lambda: np.zeros((
            N_IMPURITIES,
            N_IMPURITIY_LOSS_FUNCTION_POINTS,
        ))
    )
    """2D array of impurity temperatures in kilo-electronvolts (keV)"""

    pden_impurity_lz_nd_temp_array: list[float] = field(
        default_factory=lambda: np.zeros((
            N_IMPURITIES,
            N_IMPURITIY_LOSS_FUNCTION_POINTS,
        ))
    )

    impurity_arr_zav: list[float] = field(
        default_factory=lambda: np.zeros((
            N_IMPURITIES,
            N_IMPURITIY_LOSS_FUNCTION_POINTS,
        ))
    )

radius_plasma_core_norm = 0.6 class-attribute instance-attribute

Normalised radius defining the 'core' region

f_p_plasma_core_rad_reduction = 1.0 class-attribute instance-attribute

Fraction of radiation from 'core' region

f_nd_impurity_electrons = field(default_factory=lambda: np.array([1.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])) class-attribute instance-attribute

n_charge_impurity_profile = field(default_factory=lambda: np.zeros((N_IMPURITIES, N_IMPURITIY_LOSS_FUNCTION_POINTS))) class-attribute instance-attribute

charge profile of impurities

imp_label = field(default_factory=lambda: np.array(['H_', 'He', 'Be', 'C_', 'N_', 'O_', 'Ne', 'Si', 'Ar', 'Fe', 'Ni', 'Kr', 'Xe', 'W_'])) class-attribute instance-attribute

Labels for impurity species

imp_full_ion_charge = field(default_factory=lambda: np.array([1, 2, 4, 6, 7, 8, 10, 14, 18, 26, 28, 36, 54, 74])) class-attribute instance-attribute

Full ion charge of impurity species

impurity_arr_label = field(default_factory=lambda: np.full(N_IMPURITIES, ' ')) class-attribute instance-attribute

Array of impurity labels for internal use

impurity_arr_z = field(default_factory=lambda: np.zeros(N_IMPURITIES)) class-attribute instance-attribute

m_impurity_amu_array = field(default_factory=lambda: np.zeros(N_IMPURITIES)) class-attribute instance-attribute

2D array of impurity atomic masses in Atomic Mass Units (amu)

f_nd_impurity_electron_array = field(default_factory=lambda: np.zeros(N_IMPURITIES)) class-attribute instance-attribute

2D array of impurity relative densities (n_imp/n_e)

impurity_arr_len_tab = field(default_factory=lambda: np.full(N_IMPURITIES, 0)) class-attribute instance-attribute

temp_impurity_keV_array = field(default_factory=lambda: np.zeros((N_IMPURITIES, N_IMPURITIY_LOSS_FUNCTION_POINTS))) class-attribute instance-attribute

2D array of impurity temperatures in kilo-electronvolts (keV)

pden_impurity_lz_nd_temp_array = field(default_factory=lambda: np.zeros((N_IMPURITIES, N_IMPURITIY_LOSS_FUNCTION_POINTS))) class-attribute instance-attribute

impurity_arr_zav = field(default_factory=lambda: np.zeros((N_IMPURITIES, N_IMPURITIY_LOSS_FUNCTION_POINTS))) class-attribute instance-attribute