SynDiag - Pick Up Coils
Class:Diag_PickUpCoils
The Diag_PickUpCoils
class simulates magnetic pick-up coil diagnostics, which are used to measure magnetic fields in tokamak devices. It interpolates magnetic fields from an equilibrium
object and can simulate measurement noise for more realistic diagnostics.
Properties
- R: Horizontal coordinate (in meters) of the coil position.
- Z: Vertical coordinate (in meters) of the coil position.
- n: Normal unit vector of the coil, representing the direction in which the magnetic field is projected.
- B: Simulated magnetic field measurement, including noise.
- ideal: Structure containing the ideal (noise-free) magnetic field measurement.
- unit: Unit of measurement, typically
"T"
(Tesla). - config: Structure with configuration settings, including parameters for random absolute and proportional noise.
Methods
measure(equi)
Computes the magnetic field measured by each pick-up coil.
- Interpolates the magnetic field components (
Br
,Bt
,Bz
) from the equilibrium grid to the coil positions. - Projects the field along the coil’s normal direction
n
. - Adds configurable random noise (both absolute and proportional) to simulate realistic diagnostics.
- Stores both the noisy and ideal measurements.
Upload(configuration)
Loads a predefined coil configuration.
- If no argument is provided, default configuration
1
is used. - Imports coil positions and directions from an external
.mat
file (e.g.,PickUpData_config_1.mat
). - Initializes the noise parameters.
Plotting Methods
plot_geo()
Plots the spatial distribution of the pick-up coils in the poloidal plane.
plot_meas()
Plots the measured magnetic field values for each coil.
plot_StandAlone()
Plots both the ideal and noisy magnetic field measurements for comparison.
Usage Example
pickup = Diag_PickUpCoils(); % Initialise PickUpCoils object
pickup = pickup.Upload(); % Load default configuration
pickup = pickup.measure(equilibrium); % Simulate measurement
pickup.plot_StandAlone(); % Visualize results
⚠️ This documentation is still a work in progress. There may be errors or inaccuracies. Please feel free to contact us if you notice any issues.