2. Projections

2.1. 2D Projections

vita.modules.projection.projection2D.particle_path_projection

alias of vita.modules.projection.projection2D.particle_path_projection

vita.modules.projection.projection2D.psi_map_projection.map_psi_omp_to_divertor(x_axis_omp, divertor_coords, fiesta, location='lfs')

Function mapping the normalised psi from the specified coordinates at the OMP to the specified coordinates at the divertor. Currently the divertor is assumed to be represented by a 1D polynomial function, y = ax + b.

Parameters:
  • x_axis_omp (np.ndarray) – Numpy array with the radial coordinates we wish to map at the OMP
  • fiesta (Fiesta) – A Fiesta object with the 2D equilibrium we wish to map
  • divertor_coords (np.ndarray) – A 2-x-2 numpy array containg the corner points of the divertor in the 2D projection
  • location (string) – a string with the location to evaluate, either ‘hfs’ or ‘lfs’. Default is ‘lfs’
Return type:

dict

Returns:

A dictionary containing:

”R_div” : an n-x-1 array

with the R-coordinates at the divertor tile corresponding to the same psi_n as at the OMP

”Z_div” : an n-x-1 array

with the Z-coordinates at the divertor tile corresponding to the same psi_n as at the OMP

”Angles” : an n-x-1 array

with the angles between the field lines and the divertor tile corresponding to the same psi_n as at the OMP

”Flux_expansion” : an n-x-1 array

with the flux expasion at the divertor tile corresponding to the same psi_n as at the OMP

vita.modules.projection.projection2D.project_heat_flux.project_heat_flux(x_pos_omp, heat_flux_profile, map_dict)

Function for mapping the heat flux from the OMP to the divertor. The heat flux at a different position is given by:

\[q_{parallel\_surf} = \frac{R_{omp}}{R_{surf}} * \frac{q_{parallel\_omp}}{(f_x/\cos(\alpha))},\]

where \(R_{omp}\), is the radial coordinate at the OMP, \(R_{surf}\) is the radial coordinates at the surface, \(q_{parallel\_omp}\) is the parallel heat flux at the OMP, \(\alpha\) is the incidence angle of the field-lines with respect to the normal of the surface, and \(f_x\) is the flux expansion:

\[f_x = R_{omp}*B_{pol}(R_{omp}, Z_{omp})/(R_{surf}*B_{pol}(R_{surf}, Z_{surf})),\]

where \(Z_{omp}\) is the vertical position of the OMP (usually 0), \(Z_{surf}\) is the vertical position of the surface, and \(B_{pol}\) is the poloidal magnetic field and the given coordinates.

Parameters:
  • x_pos_omp (np.ndarray) – Radial coordinates at the OMP
  • heat_flux_profile (np.ndarray) – Parallel heat flux at the given coordinates
  • map_dict (dict) –

    a python dictionary with:

    keys: float
    x_pos_omp[i], each position at the omp has a corresponding mapped position
    values: dictionary
    dictionary with keys:
    ”R_pos” : float, radial position of the surface “Z_pos” : float, vertical position of the surface “f_x” : float, flux expansion at the given R, Z position “alpha” : float, incidence angle with respect to the normal
    of the surface
Return type:

np.ndarray

Returns:

q_surf, the parallel heat flux at the surface position

2.2. 3D Projections (CHERAB)

Coming soon.