ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
 
Loading...
Searching...
No Matches
orb5x::Gyropoints Class Reference

Generates equally spaced quadrature points on a marker gyro-orbit. More...

#include "gyropoints.hpp"

Static Public Member Functions

static void computeGyropoints_cylinder (Kokkos::View< Real ** > &gyropoints, int na, Real X, Real Y, Real rho, Real B0, Real Bz)
 Generate gyro-points for the curved cylindrical model.
 
static void computeGyropoints_ORB5 (Kokkos::View< Real ** > &gyropoints, int na, Real S, Real CHI, Real rho, Real larmsc, Real larmchic, Real larmchis)
 Generate a gyro-ring in ORB5 magnetic flux coordinates.
 
static void computeGyropoints_straight_cylinder (Kokkos::View< Real ** > &gyropoints, int na, Real X, Real Y, Real rho)
 Generate a circular ring in a straight Cartesian/cylindrical plane.
 

Detailed Description

Generates equally spaced quadrature points on a marker gyro-orbit.

Field deposition and interpolation use these positions to approximate the gyrophase average for gyrokinetic species. Each routine writes two coordinate components for na gyrophases into a caller-owned Kokkos view; inputs and outputs follow the normalized coordinate system of the selected geometry.

Member Function Documentation

◆ computeGyropoints_cylinder()

static void orb5x::Gyropoints::computeGyropoints_cylinder ( Kokkos::View< Real ** > &  gyropoints,
int  na,
Real  X,
Real  Y,
Real  rho,
Real  B0,
Real  Bz 
)
static

Generate gyro-points for the curved cylindrical model.

Parameters
[out]gyropointsView with shape (2,na) holding displaced X and Y coordinates.
[in]naNumber of uniformly spaced gyrophases.
[in]XGuiding-centre first coordinate.
[in]YGuiding-centre second coordinate.
[in]rhoNormalized Larmor radius in the same length units as X/Y.
[in]B0Reference magnetic-field component in normalized field units.
[in]BzAxial magnetic-field component in normalized field units.

◆ computeGyropoints_ORB5()

static void orb5x::Gyropoints::computeGyropoints_ORB5 ( Kokkos::View< Real ** > &  gyropoints,
int  na,
Real  S,
Real  CHI,
Real  rho,
Real  larmsc,
Real  larmchic,
Real  larmchis 
)
static

Generate a gyro-ring in ORB5 magnetic flux coordinates.

Parameters
[out]gyropointsView with shape (2,na) containing (s,chi) points.
[in]naNumber of uniformly spaced gyrophases.
[in]SGuiding-centre normalized radial coordinate.
[in]CHIGuiding-centre poloidal angle [rad].
[in]rhoNormalized Larmor radius.
[in]larmscEquilibrium coefficient for the radial cosine displacement.
[in]larmchicEquilibrium coefficient for the poloidal cosine displacement.
[in]larmchisEquilibrium coefficient for the poloidal sine displacement.

◆ computeGyropoints_straight_cylinder()

static void orb5x::Gyropoints::computeGyropoints_straight_cylinder ( Kokkos::View< Real ** > &  gyropoints,
int  na,
Real  X,
Real  Y,
Real  rho 
)
static

Generate a circular ring in a straight Cartesian/cylindrical plane.

Parameters
[out]gyropointsView with shape (2,na).
[in]naNumber of uniformly spaced gyrophases.
[in]XGuiding-centre first coordinate.
[in]YGuiding-centre second coordinate.
[in]rhoNormalized Larmor radius.

The documentation for this class was generated from the following file: