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()

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

◆ back_vel_mod()

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

◆ back_vel_tor()

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

◆ bderivs()

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

◆ calc_ftrap()

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

◆ compute_bin_vol_3d()

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

◆ compute_geometry()

void orb5x::Equil::compute_geometry ( )
static

◆ compute_profiles()

void orb5x::Equil::compute_profiles ( )
static

◆ create_equil()

void orb5x::Equil::create_equil ( )
static

◆ curl_ue()

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

◆ den()

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

◆ dump_equil()

void orb5x::Equil::dump_equil ( )
static

◆ equil_absb()

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

◆ equil_addpBst()

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

◆ equil_backfields()

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

◆ equil_backfields1d()

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

◆ equil_brotb()

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

◆ equil_coef_sc()

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()

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

◆ equil_hchi()

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

◆ equil_maxb()

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

◆ equil_move_sc()

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()

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

◆ equil_perp_vec()

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()

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

◆ equil_toB()

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

◆ equil_tprime()

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

◆ equil_ubulk()

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

◆ func_b_pszs()

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

◆ func_sigma()

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

◆ func_sigmab()

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

◆ func_sigmatprimeob()

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

◆ func_torpsi()

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

◆ func_tprimeob_pszs()

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

◆ get_alphain()

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

◆ get_alphain0()

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

◆ get_bin_surf()

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

◆ get_bin_vol()

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

◆ get_bin_vol_2d()

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

◆ get_bin_vol_3d()

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

◆ get_bin_vol_3d_inv()

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

◆ get_c_psi0corr()

Real orb5x::Equil::get_c_psi0corr ( )
static

◆ get_chi()

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

◆ get_comp()

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

◆ get_den0_norm()

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

◆ get_density()

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

◆ get_device_state()

DeviceState orb5x::Equil::get_device_state ( )
static

◆ get_ds_inv()

Real orb5x::Equil::get_ds_inv ( )
static

◆ get_FdFds()

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

◆ get_fpsin()

Real orb5x::Equil::get_fpsin ( )
static

◆ get_func_alphab_fsa()

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

◆ get_gradients()

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

◆ get_jchiin()

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

◆ get_jchiin0()

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

◆ get_larm_coeff()

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

◆ get_larm_coeffn()

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()

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()

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

◆ get_ngmax()

int orb5x::Equil::get_ngmax ( )
static

◆ get_profile_grid_type()

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

◆ get_psi_of_r()

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

◆ get_psihe_grd()

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

◆ get_psihe_grd_size()

int orb5x::Equil::get_psihe_grd_size ( )
static

◆ get_psihes()

Real orb5x::Equil::get_psihes ( )
static

◆ get_psires()

Real orb5x::Equil::get_psires ( )
static

◆ get_qmin()

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

◆ get_rz()

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

◆ get_safety_factor()

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

◆ get_sgrid_eq()

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

◆ get_sigmas()

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

◆ get_skin_norm()

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

◆ get_temperature()

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

◆ get_theta()

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

◆ get_vol_coord()

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

◆ get_voldiag()

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

◆ get_width_is()

Real orb5x::Equil::get_width_is ( )
static

◆ get_zdpsi_0()

Real orb5x::Equil::get_zdpsi_0 ( )
static

◆ get_znin()

int orb5x::Equil::get_znin ( )
static

◆ get_znisl()

int orb5x::Equil::get_znisl ( )
static

◆ get_znout()

int orb5x::Equil::get_znout ( )
static

◆ getdens_corr()

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

◆ getdn_corr()

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

◆ init_dens_profile_public()

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()

void orb5x::Equil::init_equil ( )
static

◆ jacob()

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

◆ jacob_tsp()

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

◆ jacobDerivative()

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

◆ load_equil()

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

◆ load_profiles()

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

◆ normalize_profiles()

void orb5x::Equil::normalize_profiles ( )
static

◆ prepare_profiles_host_cache()

bool orb5x::Equil::prepare_profiles_host_cache ( )
static

◆ profiles()

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

◆ profiles_host_cached()

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()

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

◆ qchi()

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

◆ s2rad()

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

◆ s_of_q()

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

◆ xy2sc()

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: