23 void extend(
double inner_ext,
double outer_ext){
32 const View<int*,CLayout,DeviceType>& num_t_node,
const View<int**,CLayout,DeviceType>& tr_node,
34 constexpr
double epsilon = 1.0e-8;
52 for (
int j=0; j<num_t_node(i); j++){
53 int itr = tr_node(j,i) + 1;
54 for(
int ip=0; ip<3; ip++){
56 if(grid.
midplane.node_is_on_wall(i_nd))
return true;
62 for(
int j=0; j<grid.
nwall; j++){
64 double dist = grid.
midplane.get_dist2_from_node(i, x2);
static KOKKOS_INLINE_FUNCTION bool exclude_node(const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const View< int *, CLayout, DeviceType > &num_t_node, const View< int **, CLayout, DeviceType > &tr_node, const BoundarySettings &s, int i)
Definition: boundary.hpp:31
VertexList get_excluded_vertex_list(const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const View< int *, CLayout, DeviceType > &num_t_node, const View< int **, CLayout, DeviceType > &tr_node, const BoundarySettings &settings)
Definition: boundary.hpp:76
Definition: boundary.hpp:83
bool use_natural
Definition: boundary.hpp:87
Boundary()
Definition: boundary.hpp:90
NaturalBoundary natural
Definition: boundary.hpp:88
Boundary(const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const View< int *, CLayout, DeviceType > &num_t_node, const View< int **, CLayout, DeviceType > &tr_node, const BoundarySettings &settings)
Definition: boundary.hpp:92
Kokkos::View< double *, Kokkos::LayoutRight, Device > psi
An array of psi coordinates.
Definition: grid.hpp:185
int nwall
Definition: grid.hpp:179
KOKKOS_INLINE_FUNCTION void get_rz_coordinates(const int inode, double &r, double &z) const
Definition: grid.tpp:299
KOKKOS_INLINE_FUNCTION int get_node_index(int triangle_index, int tri_vertex_index) const
Definition: grid.tpp:172
KOKKOS_INLINE_FUNCTION bool node_is_in_region_1_or_2_no_wall(const int inode) const
Definition: grid.tpp:216
KOKKOS_INLINE_FUNCTION RZPair get_wall_rz(int i_wall) const
Definition: grid.tpp:309
int nnode
Number of grid nodes.
Definition: grid.hpp:174
Plane< Device > midplane
Definition: grid.hpp:169
Definition: magnetic_field.hpp:12
Definition: natural_boundary.hpp:8
Definition: vertex_list.hpp:53
Definition: magnetic_field.F90:1
Definition: boundary.hpp:9
bool excl_sep_leg
Definition: boundary.hpp:20
void extend(double inner_ext, double outer_ext)
Definition: boundary.hpp:23
bool use_natural
Definition: boundary.hpp:21
bool excl_inner
Definition: boundary.hpp:15
double out_bd_psi_priv1
Definition: boundary.hpp:12
bool excl_near_wall
Definition: boundary.hpp:18
double bd_ext_near_wall
Definition: boundary.hpp:14
bool excl_private
Definition: boundary.hpp:17
bool excl_wall
Definition: boundary.hpp:19
bool excl_outer
Definition: boundary.hpp:16
double out_bd_psi
Definition: boundary.hpp:11
double in_bd_psi
Definition: boundary.hpp:10
double out_bd_psi_priv2
Definition: boundary.hpp:13
Definition: grid_structs.hpp:28