XGC1
gradparx2.hpp
Go to the documentation of this file.
1 #ifndef GRADPARX2_HPP
2 #define GRADPARX2_HPP
3 
4 #include "globals.hpp"
5 #include "grid.hpp"
6 #include "boundary.hpp"
7 
8 struct GradParXTmp{
9  double sgn;
12  View<int*,CLayout,DeviceType> is_inside;
13 
15 
16  GradParXTmp(const Grid<DeviceType>& grid, const Boundary& boundary, double sml_bt_sign)
17  : sgn(-(sml_bt_sign<0.0 ? -1.0 : 1.0)), // Reverse sign since negative gradient is desired
18  lplane_to_neighbors(grid.ff_lplane_to_neighbors.template mirror<DeviceType>()),
19  rplane_to_neighbors(grid.ff_rplane_to_neighbors.template mirror<DeviceType>()),
20  is_inside(NoInit("is_inside"),grid.nnode)
21 
22  {
23  // get is_inside for every node
25  }
26 };
27 
28 void negative_gradparx2(const GradParXTmp& gptx, const View<double**,CLayout,DeviceType>& input, const View<double**,CLayout,DeviceType>& output, Order derivative_order);
29 
30 #endif
Definition: boundary.hpp:83
int nnode
Number of grid nodes.
Definition: grid.hpp:174
View< int *, CLayout, Device > get_view_int_not_in_list(int nnode_in) const
Definition: vertex_list.hpp:223
Order
Definition: globals.hpp:77
void negative_gradparx2(const GradParXTmp &gptx, const View< double **, CLayout, DeviceType > &input, const View< double **, CLayout, DeviceType > &output, Order derivative_order)
real(8) sml_bt_sign
1 for Bt // phi, -1 for Bt // (-phi) The direction of phi is described in the comments of sml_bp_sign...
Definition: module.F90:110
Kokkos::Device< ExSpace, MemSpace > DeviceType
Definition: space_settings.hpp:48
Kokkos::ViewAllocateWithoutInitializing NoInit
Definition: space_settings.hpp:69
Definition: gradparx2.hpp:8
GradParXTmp(const Grid< DeviceType > &grid, const Boundary &boundary, double sml_bt_sign)
Definition: gradparx2.hpp:16
double sgn
Definition: gradparx2.hpp:9
Projection< DeviceType > rplane_to_neighbors
Definition: gradparx2.hpp:11
GradParXTmp()
Definition: gradparx2.hpp:14
View< int *, CLayout, DeviceType > is_inside
Definition: gradparx2.hpp:12
Projection< DeviceType > lplane_to_neighbors
Definition: gradparx2.hpp:10