scotty.launch module#

scotty.launch.find_entry_point(launch_position, poloidal_launch_angle, toroidal_launch_angle, poloidal_flux_enter, field, boundary_adjust=1e-08)#

Find the coordinates where the beam enters the plasma.

Parameters
  • launch_position (numpy.ndarray[Any, numpy.dtype[numpy.float64]]) – Cartesian coordinates of the antenna (or cylindrical with zeta=0)

  • poloidal_launch_angle (float) – Poloidal angle of the antenna (radians), clockwise from the horizontal axis

  • toroidal_launch_angle (float) – Toroidal angle of the antenna (radians), anti-clockwise from the negative X-axis

  • field (scotty.geometry.MagneticField) – Object describing the magnetic field geometry

  • boundary_adjust (float) – Step size used to ensure entry point is _just_ inside plasma

  • poloidal_flux_enter (float) –

Return type

Array with cylindrical coordinates of entry point

scotty.launch.launch_beam(toroidal_launch_angle_Torbeam, poloidal_launch_angle_Torbeam, launch_beam_width, launch_beam_curvature, launch_position, launch_angular_frequency, mode_flag, field, hamiltonian, vacuumLaunch_flag=True, vacuum_propagation_flag=True, Psi_BC_flag=True, poloidal_flux_enter=1.0, delta_R=- 0.0001, delta_Z=0.0001, temperature=None)#

Propagate the beam from its initial position at the antenna to just inside the plasma.

Parameters
  • toroidal_launch_angle_Torbeam (float) – Toroidal angle of antenna in TORBEAM convention

  • poloidal_launch_angle_Torbeam (float) – Poloidal angle of antenna in TORBEAM convention

  • launch_beam_width (float) – Width of the beam at launch

  • launch_beam_curvature (float) – Curvatuve of the beam at launch

  • launch_position (FloatArray) – Position of the antenna in cylindrical coordinates

  • launch_angular_frequency (float) – Angular frequency of the beam at launch

  • field (MagneticField) – Object describing the magnetic field of the plasma

  • vacuumLaunch_flag (bool) – If True, launch beam from vacuum, otherwise beam launch position is inside the plasma already

  • vacuum_propagation_flag (bool) – If True, run solver from the launch position, and don’t use analytical vacuum propagation

  • Psi_BC_flag (String) – If None, do no special treatment at plasma-vacuum boundary If continuous, apply BCs for continuous ne but discontinuous gradient of ne If discontinuous, apply BCs for discontinuous ne

  • poloidal_flux_enter (float) – Normalised poloidal flux label of plasma boundary

  • delta_R (float) – Finite difference spacing to use for R

  • delta_Z (float) – Finite difference spacing to use for Z

  • mode_flag (int) –

  • hamiltonian (scotty.hamiltonian.Hamiltonian) –

Returns

  • K_initial (FloatArray) – Wavevector at plasma entry point

  • initial_position (FloatArray) – Coordinates of entry point

  • launch_K (FloatArray) – Wavevector at launch point

  • Psi_3D_lab_initial (FloatArray)

  • Psi_3D_lab_launch (FloatArray)

  • Psi_3D_lab_entry (FloatArray)

  • Psi_3D_lab_entry_cartersian (FloatArray)

  • distance_from_launch_to_entry (float)