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

#include "equil.hpp"

Classes

struct  DeviceState
 

Static Public Member Functions

static void back_vel_diff (Real sigmat, Real chi, Real &due2dsigma, Real &due2dchi)
 
static void back_vel_mod (Real sigmat, Real chi, Real &vexb2)
 
static void back_vel_tor (Real sigmat, Real chi, Real &ue_phi)
 
static void bderivs (Real s, Real chi, Real &dBds, Real &dBdchi, Real &absb)
 
static Real calc_ftrap (Real s, Real theta, int itrap)
 
static void compute_bin_vol_3d (Real stmin, Real zds, int stbin, Real chitmin, Real zdchi, int chitbin, Real zdphi)
 
static void compute_geometry ()
 
static void compute_profiles ()
 
static void create_equil ()
 
static void curl_ue (Real sigmat, Real chi, Real &X, Real &Y, Real &Z)
 
static Real den (Real s, int isp)
 
static void dump_equil ()
 
static Real equil_absb (Real s, Real chi)
 
static Real equil_addpBst (Real s, Real chi)
 
static void equil_backfields (Real s, Real chi, Real &pot, Real &es, Real &echi)
 
static void equil_backfields1d (Real psi, Real &pot, Real &epsi)
 
static Real equil_brotb (Real s, Real chi)
 
static void equil_coef_sc (Real s, Real chi, Real &zr, Real &zpsidr, Real &zpsidz, Real &zB, Real &zhchi, Real &zhphi, std::vector< Real > &zgrB, Real &addpchi, Real &addpphi, Real &brotb, Real &divh, std::vector< Real > &grads, std::vector< Real > &gradchi)
 
static Real equil_dmaxb (Real st)
 
static Real equil_hchi (Real s, Real chi)
 
static Real equil_maxb (Real st)
 
static void equil_move_sc (Real s, Real chi, Real &r, Real &tprime, Real &B, std::vector< Real > &bgrb, Real &divh, std::vector< Real > &h, Real &addpBst, std::vector< Real > &addp, std::vector< Real > &exh, Real &toB, Real &addvpa)
 
static void equil_move_strong (Real s, Real chi, Real &due2dsigma, Real &due2dchi, Real &dBdsigma, Real &dBdchi)
 
static void equil_perp_vec (Real s, Real chi, Real &hy, Real &hz, Real &grsigma2, Real &grchi2, Real &grsigmagrchi, Real &J_s, Real &r)
 
static void equil_strong_vdr (Real sigmat, Real chi, Real &duphidpsi, Real &duphidchi)
 
static Real equil_toB (Real s, Real chi)
 
static Real equil_tprime (Real s, Real chi)
 
static Real equil_ubulk (Real s_val, int isp)
 
static Real func_b_pszs (Real ss)
 
static Real func_sigma (Real ss)
 
static Real func_sigmab (Real ss)
 
static Real func_sigmatprimeob (Real ss)
 
static Real func_torpsi (Real ss)
 
static Real func_tprimeob_pszs (Real ss)
 
static const std::vector< Real > * get_alphain ()
 
static const std::vector< Real > * get_alphain0 ()
 
static const std::vector< Real > * get_bin_surf ()
 
static const std::vector< Real > * get_bin_vol ()
 
static const std::vector< std::vector< Real > > * get_bin_vol_2d ()
 
static const std::vector< std::vector< Real > > * get_bin_vol_3d ()
 
static const std::vector< std::vector< Real > > * get_bin_vol_3d_inv ()
 
static Real get_c_psi0corr ()
 
static Real get_chi (Real s, Real theta)
 
static std::vector< Realget_comp (Real s, Real chi)
 
static Kokkos::View< Real * > get_den0_norm ()
 
static Real get_density (Real s, int isp=1)
 
static DeviceState get_device_state ()
 
static Real get_ds_inv ()
 
static void get_FdFds (Real s, Real &F, Real &dFds)
 
static Real get_fpsin ()
 
static Real get_func_alphab_fsa (Real ss)
 
static void get_gradients (Real s, Real chi, std::vector< Real > &grads, std::vector< Real > &gradchi, Real &gradphi)
 
static const std::vector< int > * get_jchiin ()
 
static const std::vector< int > * get_jchiin0 ()
 
static void get_larm_coeff (Real s, Real chi, Real &larmsc, Real &larmchic, Real &larmchis)
 
static void get_larm_coeffn (Real s, Real chi, Kokkos::View< Real * > &larmsc, Kokkos::View< Real * > &larmchic, Kokkos::View< Real * > &larmchis)
 
static void get_larm_coeffn_scalar (Real s, Real chi, std::array< Real, 3 > &larmsc, std::array< Real, 3 > &larmchic, std::array< Real, 3 > &larmchis)
 
static Real get_magnetic_field (Real s, Real chi=0.0)
 
static int get_ngmax ()
 
static int get_profile_grid_type (int isp)
 
static Real get_psi_of_r (Real rho)
 
static Real get_psihe_grd (int idx)
 
static int get_psihe_grd_size ()
 
static Real get_psihes ()
 
static Real get_psires ()
 
static void get_qmin (Real &sqmin, Real &qmin)
 
static void get_rz (Real s, Real chi, Real &r, Real &z)
 
static Real get_safety_factor (Real s)
 
static const Kokkos::View< Real * > * get_sgrid_eq ()
 
static const Kokkos::View< Real ** > * get_sigmas ()
 
static Kokkos::View< Real * > get_skin_norm ()
 
static Real get_temperature (Real s, int isp=1)
 
static Real get_theta (Real s, Real chi)
 
static Kokkos::View< Real * > get_vol_coord ()
 
static Real get_voldiag (int isp)
 
static Real get_width_is ()
 
static Real get_zdpsi_0 ()
 
static int get_znin ()
 
static int get_znisl ()
 
static int get_znout ()
 
static Real getdens_corr (Real psit)
 
static Real getdn_corr (Real psit)
 
static void init_dens_profile_public (int worktype, int isp, std::vector< Real > *zf_av=nullptr, std::vector< Real > *z_den=nullptr)
 
static void init_equil ()
 
static Real jacob (Real s, Real chi)
 
static Real jacob_tsp (Real s, Real chi)
 
static Real jacobDerivative (Real s, Real chi)
 
static void load_equil (const std::string &fname)
 
static void load_profiles (const std::string &prof_file)
 
static void normalize_profiles ()
 
static bool prepare_profiles_host_cache ()
 
static void profiles (int isp, Real psi, Real &tval, Real &tgrad, Real &nval, Real &ngrad, Real &vpval, Real &vpgrad)
 
static void profiles_host_cached (int isp, Real psi, Real &tval, Real &tgrad, Real &nval, Real &ngrad, Real &vpval, Real &vpgrad)
 
static void profiles_sh (int isp, Real psi, Real &nishval)
 
static void qchi (Real radvar, Real &qout, const std::string &strsel="")
 
static void s2rad (Real ps, Real &prad, Real &pdrds)
 
static Real s_of_q (Real zq)
 
static void xy2sc (Real x, Real y, Real &s, Real &chi)
 

Static Public Attributes

static Real b_norm
 
static Real Bmax_c
 
static Real Bmin_c
 
static Real d_norm
 
static Real FonBmax_c
 
static Real FonBmin_c
 
static Real psi0
 

Member Function Documentation

◆ back_vel_diff()

static void orb5x::Equil::back_vel_diff ( Real  sigmat,
Real  chi,
Real due2dsigma,
Real due2dchi 
)
static

◆ back_vel_mod()

static void orb5x::Equil::back_vel_mod ( Real  sigmat,
Real  chi,
Real vexb2 
)
static

◆ back_vel_tor()

static void orb5x::Equil::back_vel_tor ( Real  sigmat,
Real  chi,
Real ue_phi 
)
static

◆ bderivs()

static void orb5x::Equil::bderivs ( Real  s,
Real  chi,
Real dBds,
Real dBdchi,
Real absb 
)
static

◆ calc_ftrap()

static Real orb5x::Equil::calc_ftrap ( Real  s,
Real  theta,
int  itrap 
)
static

◆ compute_bin_vol_3d()

static void orb5x::Equil::compute_bin_vol_3d ( Real  stmin,
Real  zds,
int  stbin,
Real  chitmin,
Real  zdchi,
int  chitbin,
Real  zdphi 
)
static

◆ compute_geometry()

static void orb5x::Equil::compute_geometry ( )
static

◆ compute_profiles()

static void orb5x::Equil::compute_profiles ( )
static

◆ create_equil()

static void orb5x::Equil::create_equil ( )
static

◆ curl_ue()

static void orb5x::Equil::curl_ue ( Real  sigmat,
Real  chi,
Real X,
Real Y,
Real Z 
)
static

◆ den()

static Real orb5x::Equil::den ( Real  s,
int  isp 
)
static

◆ dump_equil()

static void orb5x::Equil::dump_equil ( )
static

◆ equil_absb()

static Real orb5x::Equil::equil_absb ( Real  s,
Real  chi 
)
static

◆ equil_addpBst()

static Real orb5x::Equil::equil_addpBst ( Real  s,
Real  chi 
)
static

◆ equil_backfields()

static void orb5x::Equil::equil_backfields ( Real  s,
Real  chi,
Real pot,
Real es,
Real echi 
)
static

◆ equil_backfields1d()

static void orb5x::Equil::equil_backfields1d ( Real  psi,
Real pot,
Real epsi 
)
static

◆ equil_brotb()

static Real orb5x::Equil::equil_brotb ( Real  s,
Real  chi 
)
static

◆ equil_coef_sc()

static void orb5x::Equil::equil_coef_sc ( Real  s,
Real  chi,
Real zr,
Real zpsidr,
Real zpsidz,
Real zB,
Real zhchi,
Real zhphi,
std::vector< Real > &  zgrB,
Real addpchi,
Real addpphi,
Real brotb,
Real divh,
std::vector< Real > &  grads,
std::vector< Real > &  gradchi 
)
static

◆ equil_dmaxb()

static Real orb5x::Equil::equil_dmaxb ( Real  st)
static

◆ equil_hchi()

static Real orb5x::Equil::equil_hchi ( Real  s,
Real  chi 
)
static

◆ equil_maxb()

static Real orb5x::Equil::equil_maxb ( Real  st)
static

◆ equil_move_sc()

static void orb5x::Equil::equil_move_sc ( Real  s,
Real  chi,
Real r,
Real tprime,
Real B,
std::vector< Real > &  bgrb,
Real divh,
std::vector< Real > &  h,
Real addpBst,
std::vector< Real > &  addp,
std::vector< Real > &  exh,
Real toB,
Real addvpa 
)
static

◆ equil_move_strong()

static void orb5x::Equil::equil_move_strong ( Real  s,
Real  chi,
Real due2dsigma,
Real due2dchi,
Real dBdsigma,
Real dBdchi 
)
static

◆ equil_perp_vec()

static void orb5x::Equil::equil_perp_vec ( Real  s,
Real  chi,
Real hy,
Real hz,
Real grsigma2,
Real grchi2,
Real grsigmagrchi,
Real J_s,
Real r 
)
static

◆ equil_strong_vdr()

static void orb5x::Equil::equil_strong_vdr ( Real  sigmat,
Real  chi,
Real duphidpsi,
Real duphidchi 
)
static

◆ equil_toB()

static Real orb5x::Equil::equil_toB ( Real  s,
Real  chi 
)
static

◆ equil_tprime()

static Real orb5x::Equil::equil_tprime ( Real  s,
Real  chi 
)
static

◆ equil_ubulk()

static Real orb5x::Equil::equil_ubulk ( Real  s_val,
int  isp 
)
static

◆ func_b_pszs()

static Real orb5x::Equil::func_b_pszs ( Real  ss)
static

◆ func_sigma()

static Real orb5x::Equil::func_sigma ( Real  ss)
static

◆ func_sigmab()

static Real orb5x::Equil::func_sigmab ( Real  ss)
static

◆ func_sigmatprimeob()

static Real orb5x::Equil::func_sigmatprimeob ( Real  ss)
static

◆ func_torpsi()

static Real orb5x::Equil::func_torpsi ( Real  ss)
static

◆ func_tprimeob_pszs()

static Real orb5x::Equil::func_tprimeob_pszs ( Real  ss)
static

◆ get_alphain()

static const std::vector< Real > * orb5x::Equil::get_alphain ( )
static

◆ get_alphain0()

static const std::vector< Real > * orb5x::Equil::get_alphain0 ( )
static

◆ get_bin_surf()

static const std::vector< Real > * orb5x::Equil::get_bin_surf ( )
static

◆ get_bin_vol()

static const std::vector< Real > * orb5x::Equil::get_bin_vol ( )
static

◆ get_bin_vol_2d()

static const std::vector< std::vector< Real > > * orb5x::Equil::get_bin_vol_2d ( )
static

◆ get_bin_vol_3d()

static const std::vector< std::vector< Real > > * orb5x::Equil::get_bin_vol_3d ( )
static

◆ get_bin_vol_3d_inv()

static const std::vector< std::vector< Real > > * orb5x::Equil::get_bin_vol_3d_inv ( )
static

◆ get_c_psi0corr()

static Real orb5x::Equil::get_c_psi0corr ( )
static

◆ get_chi()

static Real orb5x::Equil::get_chi ( Real  s,
Real  theta 
)
static

◆ get_comp()

static std::vector< Real > orb5x::Equil::get_comp ( Real  s,
Real  chi 
)
static

◆ get_den0_norm()

static Kokkos::View< Real * > orb5x::Equil::get_den0_norm ( )
static

◆ get_density()

static Real orb5x::Equil::get_density ( Real  s,
int  isp = 1 
)
static

◆ get_device_state()

static DeviceState orb5x::Equil::get_device_state ( )
static

◆ get_ds_inv()

static Real orb5x::Equil::get_ds_inv ( )
static

◆ get_FdFds()

static void orb5x::Equil::get_FdFds ( Real  s,
Real F,
Real dFds 
)
static

◆ get_fpsin()

static Real orb5x::Equil::get_fpsin ( )
static

◆ get_func_alphab_fsa()

static Real orb5x::Equil::get_func_alphab_fsa ( Real  ss)
static

◆ get_gradients()

static void orb5x::Equil::get_gradients ( Real  s,
Real  chi,
std::vector< Real > &  grads,
std::vector< Real > &  gradchi,
Real gradphi 
)
static

◆ get_jchiin()

static const std::vector< int > * orb5x::Equil::get_jchiin ( )
static

◆ get_jchiin0()

static const std::vector< int > * orb5x::Equil::get_jchiin0 ( )
static

◆ get_larm_coeff()

static void orb5x::Equil::get_larm_coeff ( Real  s,
Real  chi,
Real larmsc,
Real larmchic,
Real larmchis 
)
static

◆ get_larm_coeffn()

static void orb5x::Equil::get_larm_coeffn ( Real  s,
Real  chi,
Kokkos::View< Real * > &  larmsc,
Kokkos::View< Real * > &  larmchic,
Kokkos::View< Real * > &  larmchis 
)
static

◆ get_larm_coeffn_scalar()

static void orb5x::Equil::get_larm_coeffn_scalar ( Real  s,
Real  chi,
std::array< Real, 3 > &  larmsc,
std::array< Real, 3 > &  larmchic,
std::array< Real, 3 > &  larmchis 
)
static

◆ get_magnetic_field()

static Real orb5x::Equil::get_magnetic_field ( Real  s,
Real  chi = 0.0 
)
static

◆ get_ngmax()

static int orb5x::Equil::get_ngmax ( )
static

◆ get_profile_grid_type()

static int orb5x::Equil::get_profile_grid_type ( int  isp)
static

◆ get_psi_of_r()

static Real orb5x::Equil::get_psi_of_r ( Real  rho)
static

◆ get_psihe_grd()

static Real orb5x::Equil::get_psihe_grd ( int  idx)
static

◆ get_psihe_grd_size()

static int orb5x::Equil::get_psihe_grd_size ( )
static

◆ get_psihes()

static Real orb5x::Equil::get_psihes ( )
static

◆ get_psires()

static Real orb5x::Equil::get_psires ( )
static

◆ get_qmin()

static void orb5x::Equil::get_qmin ( Real sqmin,
Real qmin 
)
static

◆ get_rz()

static void orb5x::Equil::get_rz ( Real  s,
Real  chi,
Real r,
Real z 
)
static

◆ get_safety_factor()

static Real orb5x::Equil::get_safety_factor ( Real  s)
static

◆ get_sgrid_eq()

static const Kokkos::View< Real * > * orb5x::Equil::get_sgrid_eq ( )
static

◆ get_sigmas()

static const Kokkos::View< Real ** > * orb5x::Equil::get_sigmas ( )
static

◆ get_skin_norm()

static Kokkos::View< Real * > orb5x::Equil::get_skin_norm ( )
static

◆ get_temperature()

static Real orb5x::Equil::get_temperature ( Real  s,
int  isp = 1 
)
static

◆ get_theta()

static Real orb5x::Equil::get_theta ( Real  s,
Real  chi 
)
static

◆ get_vol_coord()

static Kokkos::View< Real * > orb5x::Equil::get_vol_coord ( )
static

◆ get_voldiag()

static Real orb5x::Equil::get_voldiag ( int  isp)
static

◆ get_width_is()

static Real orb5x::Equil::get_width_is ( )
static

◆ get_zdpsi_0()

static Real orb5x::Equil::get_zdpsi_0 ( )
static

◆ get_znin()

static int orb5x::Equil::get_znin ( )
static

◆ get_znisl()

static int orb5x::Equil::get_znisl ( )
static

◆ get_znout()

static int orb5x::Equil::get_znout ( )
static

◆ getdens_corr()

static Real orb5x::Equil::getdens_corr ( Real  psit)
static

◆ getdn_corr()

static Real orb5x::Equil::getdn_corr ( Real  psit)
static

◆ init_dens_profile_public()

static void orb5x::Equil::init_dens_profile_public ( int  worktype,
int  isp,
std::vector< Real > *  zf_av = nullptr,
std::vector< Real > *  z_den = nullptr 
)
static

◆ init_equil()

static void orb5x::Equil::init_equil ( )
static

◆ jacob()

static Real orb5x::Equil::jacob ( Real  s,
Real  chi 
)
static

◆ jacob_tsp()

static Real orb5x::Equil::jacob_tsp ( Real  s,
Real  chi 
)
static

◆ jacobDerivative()

static Real orb5x::Equil::jacobDerivative ( Real  s,
Real  chi 
)
static

◆ load_equil()

static void orb5x::Equil::load_equil ( const std::string &  fname)
static

◆ load_profiles()

static void orb5x::Equil::load_profiles ( const std::string &  prof_file)
static

◆ normalize_profiles()

static void orb5x::Equil::normalize_profiles ( )
static

◆ prepare_profiles_host_cache()

static bool orb5x::Equil::prepare_profiles_host_cache ( )
static

◆ profiles()

static void orb5x::Equil::profiles ( int  isp,
Real  psi,
Real tval,
Real tgrad,
Real nval,
Real ngrad,
Real vpval,
Real vpgrad 
)
static

◆ profiles_host_cached()

static void orb5x::Equil::profiles_host_cached ( int  isp,
Real  psi,
Real tval,
Real tgrad,
Real nval,
Real ngrad,
Real vpval,
Real vpgrad 
)
static

◆ profiles_sh()

static void orb5x::Equil::profiles_sh ( int  isp,
Real  psi,
Real nishval 
)
static

◆ qchi()

static void orb5x::Equil::qchi ( Real  radvar,
Real qout,
const std::string &  strsel = "" 
)
static

◆ s2rad()

static void orb5x::Equil::s2rad ( Real  ps,
Real prad,
Real pdrds 
)
static

◆ s_of_q()

static Real orb5x::Equil::s_of_q ( Real  zq)
static

◆ xy2sc()

static void orb5x::Equil::xy2sc ( Real  x,
Real  y,
Real s,
Real chi 
)
static

Member Data Documentation

◆ b_norm

Real orb5x::Equil::b_norm
static

◆ Bmax_c

Real orb5x::Equil::Bmax_c
static

◆ Bmin_c

Real orb5x::Equil::Bmin_c
static

◆ d_norm

Real orb5x::Equil::d_norm
static

◆ FonBmax_c

Real orb5x::Equil::FonBmax_c
static

◆ FonBmin_c

Real orb5x::Equil::FonBmin_c
static

◆ psi0

Real orb5x::Equil::psi0
static

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