idstools.domain.ecstray¶
Module Contents¶
- class idstools.domain.ecstray.EcStrayCompute(equilibrium_ids: object, core_profiles_ids: object, waves_ids: object)[source]¶
- core_profiles_ids¶
- equilibrium_compute¶
- equilibrium_ids¶
- waves_compute¶
- waves_ids¶
- get_cutoff_layer(coherent_wave_index, time_slice)[source]¶
The cutoff layer is a region in a plasma where certain frequencies or modes of wave propagation are prevented from propagating or transmitting due to the plasma’s properties.
- Parameters:¶
- time_slice¶
time index. Defaults to 0.
- Returns:¶
cut off layer in dictionary format
- Return type:¶
Notes
ω_R = √[(eB/m_e/2)^2 + n_e * e^2/(ε_0 * m_e)] + eB/m_e/2
electron cyclotron frequency in plasma physics. It is denoted by ω_R and can be calculated using the equation
where:
ω_Ris the electron cyclotron frequencyeis the elementary chargeBis the magnetic field strengthm_eis the mass of an electronn_eis the electron number densityε_0is the vacuum permittivity
Examples
import imas connection = imas.DBEntry("imas:mdsplus?user=public;pulse=134173;run=106;database=ITER;version=3","r") connection.open() equilibriumIds = connection.get('equilibrium') coreProfilesIds = connection.get('waves') wavesIds = connection.get('core_profiles') ecStrayCompute = EcStrayCompute(equilibriumIds, coreProfilesIds, wavesIds) cut_off_layer = ecStrayCompute.get_cutoff_layer() {'r': [5.625, 5.4375, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.53125, 5.4375], 'z': [-2.15625, -2.0625, -1.96875, -1.875, -1.78125, -1.6875, -1.59375, -1.5, -1.40625, -1.3125, -1.21875, 1.03125, 1.125, 1.21875, 1.3125, 1.40625, 1.5, 1.59375, 1.6875, 1.78125, 1.875, 1.96875, 2.0625, 2.15625]}
-
get_resonance_layer(coherent_wave_index, time_slice, n_harm=
None)[source]¶ This function calculates and returns a dictionary (Resonance Layer) containing r and z values corresponding to the resonance points based on the provided nHarm values, b_resonance, and b_total arrays.
Examples
import imas # add necessary imports connection = imas.DBEntry("imas:mdsplus?user=public;pulse=134173;run=106;database=ITER;version=3", "r") connection.open() equilibriumIds = connection.get('equilibrium') coreProfilesIds = connection.get('waves') wavesIds = connection.get('core_profiles') ecstrayCompute = EcStrayCompute(equilibriumIds, coreProfilesIds, wavesIds) resonance_layer = ecstrayCompute.get_resonance_layer() {0: {'r': [5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375, 5.4375], 'z': [-6.0, -5.90625, -5.8125, -5.71875, -5.625, -5.53125, -5.4375, -5.34375, -5.25, -5.15625, 5.71875, 5.8125, 5.90625, 6.0]}, 1: {'r': [], 'z': []}, 2: {'r': [], 'z': []}, 3: {'r': [], 'z': []}}
- idstools.domain.ecstray.logger¶