38 :
bounds(0.5, 2.5, -1.0, 1.0),
69 KOKKOS_INLINE_FUNCTION
bool is_in_region_1(
double r,
double z,
double psi)
const;
70 KOKKOS_INLINE_FUNCTION
bool is_in_region_3b(
double r,
double z,
double psi)
const;
77 void write(
const DomainDecomposition<DeviceType>& pol_decomp,
const View<double*,CLayout,HostType>& eq_psi_grid,
const View<double*,CLayout,HostType>& eq_I,
const View<double**,CLayout,HostType>& eq_psi_rz,
double bt_sign,
double bp_sign,
bool is_3D,
int periodicity = 1,
int eq_mp = 1,
78 const View<double**,CLayout,HostType>& eq_B_R_rz = View<double**,CLayout,HostType>(
NoInit(
"eq_B_R_rz"), 0, 0),
79 const View<double**,CLayout,HostType>& eq_B_Z_rz = View<double**,CLayout,HostType>(
NoInit(
"eq_B_Z_rz"), 0, 0),
80 const View<double**,CLayout,HostType>& eq_B_phi_rz = View<double**,CLayout,HostType>(
NoInit(
"eq_B_phi_rz"), 0, 0),
81 const View<double**,CLayout,HostType>& eq_VMEC_angle_rz = View<double**,CLayout,HostType>(
NoInit(
"eq_VMEC_angle_rz"), 0, 0),
82 const View<double**,CLayout,HostType>& eq_PEST_angle_rz = View<double**,CLayout,HostType>(
NoInit(
"eq_PEST_angle_rz"), 0, 0));
84 void set_decay_factors(
double out_decay_factor_in,
double priv_flux_decay_factor_in,
double out_decay_width_in,
double priv_flux_decay_width_in,
bool set_xpt2_in);
double psi
Definition: equil.hpp:24
double z
Definition: equil.hpp:23
double r
Definition: equil.hpp:22
double slope
Definition: equil.hpp:25
KOKKOS_INLINE_FUNCTION void get_theta(const SimdVector2D &x, Simd< double > &theta) const
Definition: equil.tpp:98
KOKKOS_INLINE_FUNCTION int node_region_3_index(double r, double z, double psi) const
Definition: equil.tpp:78
double xpt2_slope
Slope (which slope?) at 2nd X-point.
Definition: equil.hpp:95
static constexpr double epsil_psi
Not sure?
Definition: equil.hpp:90
double xpt_slope
Slope (which slope?) at 1st X-point.
Definition: equil.hpp:92
KOKKOS_INLINE_FUNCTION bool is_in_region_1(double r, double z, double psi) const
Definition: equil.tpp:49
bool set_xpt2
Whether to use a 2nd X-point.
Definition: equil.hpp:93
void set_decay_factors(double out_decay_factor_in, double priv_flux_decay_factor_in, double out_decay_width_in, double priv_flux_decay_width_in, bool set_xpt2_in)
Definition: equil.cpp:129
RZBounds bounds
Min and max for r and z.
Definition: equil.hpp:87
KOKKOS_INLINE_FUNCTION bool is_in_region_1_or_2(double r, double z, double psi) const
Definition: equil.tpp:26
RZPair xpt2
coordinates of 2nd X-point
Definition: equil.hpp:94
double axis_b
magnetic field magnitude on axis
Definition: equil.hpp:98
double out_decay_width
width for exponential decay for psi>sml_outpsi
Definition: equil.hpp:103
double xpt2_psi
psi coordinate at 2nd X-point
Definition: equil.hpp:96
Equilibrium()
Definition: equil.hpp:66
RZPair xpt
coordinates of 1st X-point
Definition: equil.hpp:91
KOKKOS_INLINE_FUNCTION bool is_in_region_3b(double r, double z, double psi) const
Definition: equil.tpp:65
double priv_flux_decay_width
width for exponential decay in private flux region
Definition: equil.hpp:104
double out_decay_factor
profiles decay exponentially to f(sml_outpsi)/decay_factor for psi>sml_outpsi
Definition: equil.hpp:101
KOKKOS_INLINE_FUNCTION void check_boundaries(const SimdVector2D &x, Simd< bool > &rz_outside) const
Definition: equil.tpp:88
KOKKOS_INLINE_FUNCTION bool is_above_xpt2_tangent(double r, double z) const
Definition: equil.tpp:16
double psi_norm
Psi value to use for normalization.
Definition: equil.hpp:89
KOKKOS_INLINE_FUNCTION bool is_below_xpt_tangent(double r, double z) const
Definition: equil.tpp:7
void write(const DomainDecomposition< DeviceType > &pol_decomp, const View< double *, CLayout, HostType > &eq_psi_grid, const View< double *, CLayout, HostType > &eq_I, const View< double **, CLayout, HostType > &eq_psi_rz, double bt_sign, double bp_sign, bool is_3D, int periodicity=1, int eq_mp=1, const View< double **, CLayout, HostType > &eq_B_R_rz=View< double **, CLayout, HostType >(NoInit("eq_B_R_rz"), 0, 0), const View< double **, CLayout, HostType > &eq_B_Z_rz=View< double **, CLayout, HostType >(NoInit("eq_B_Z_rz"), 0, 0), const View< double **, CLayout, HostType > &eq_B_phi_rz=View< double **, CLayout, HostType >(NoInit("eq_B_phi_rz"), 0, 0), const View< double **, CLayout, HostType > &eq_VMEC_angle_rz=View< double **, CLayout, HostType >(NoInit("eq_VMEC_angle_rz"), 0, 0), const View< double **, CLayout, HostType > &eq_PEST_angle_rz=View< double **, CLayout, HostType >(NoInit("eq_PEST_angle_rz"), 0, 0))
Definition: equil.cpp:70
RZPair axis
coordinates of axis
Definition: equil.hpp:97
double priv_flux_decay_factor
profiles decay exponentially to f(sml_outpsi)/decay_factor in priv. flux region
Definition: equil.hpp:102
double xpt_psi
Psi coordinate of 1st X-point.
Definition: equil.hpp:88
Equilibrium(PsiOption psi_opt)
Definition: equil.hpp:37
Definition: NamelistReader.hpp:193
PsiOption
Definition: equil.hpp:12
@ NoXPoints
Definition: equil.hpp:13
@ OneXPoint
Definition: equil.hpp:14
@ TwoXPoints
Definition: equil.hpp:15
Kokkos::ViewAllocateWithoutInitializing NoInit
Definition: space_settings.hpp:69
std::shared_ptr< MagneticEquilFiles > Ptr
Definition: magnetic_equil_files.hpp:11
Definition: rz_bounds.hpp:4
Definition: grid_structs.hpp:28