XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
domain_decomposition.hpp
Go to the documentation of this file.
1 #ifndef DOMAIN_DECOMPOSITION_HPP
2 #define DOMAIN_DECOMPOSITION_HPP
3 #include "space_settings.hpp"
4 #include "NamelistReader.hpp"
5 #ifdef USE_MPI
6 # include "my_mpi.hpp"
7 #endif
8 
9 // Decomposition class
10 template<class Device>
12  public:
13 
14  // Default constructor
16 
17  // Constructor
19 
20 #ifdef USE_MPI
21  // MPI communicators etc
22  const MyMPI mpi;
23 #endif
24 
25  // Updater
26  void update_pol_decomp();
27 
28  // Constants
29  bool pol_decomp;
32  int n_pids;
33  int my_pid;
35 
36  // Variables
37  int first_node;
38  int nnodes;
39 
40  // Views
41  Kokkos::View<int*,Kokkos::LayoutRight,HostType> gvid0_pid_h;
42  Kokkos::View<int*,Kokkos::LayoutRight,Device> gvid0_pid;
43  Kokkos::View<int*,Kokkos::LayoutRight,HostType> gvid0_pid_old_h;
44 };
45 
46 #include "domain_decomposition.tpp"
47 #endif
DomainDecomposition()
Definition: domain_decomposition.hpp:15
int plane_totalpe
Processors per plane?
Definition: domain_decomposition.hpp:31
Definition: NamelistReader.hpp:163
Kokkos::View< int *, Kokkos::LayoutRight, HostType > gvid0_pid_old_h
Which processors had which vertices (host)
Definition: domain_decomposition.hpp:43
void update_pol_decomp()
Definition: domain_decomposition.tpp:66
int nnodes
Number of nodes belonging to this MPI rank.
Definition: domain_decomposition.hpp:38
int my_pid
ID of this processor.
Definition: domain_decomposition.hpp:33
int pe_per_plane
Processors per plane.
Definition: domain_decomposition.hpp:30
Definition: my_mpi.hpp:17
int n_pids
Processors per plane?
Definition: domain_decomposition.hpp:32
Kokkos::View< int *, Kokkos::LayoutRight, Device > gvid0_pid
Which processors get which vertices.
Definition: domain_decomposition.hpp:42
int my_plane_pid
Poloidal ID of this processor.
Definition: domain_decomposition.hpp:34
Definition: domain_decomposition.hpp:11
int first_node
First mesh node belonging to this MPI rank.
Definition: domain_decomposition.hpp:37
bool pol_decomp
Use poloidal decomposition.
Definition: domain_decomposition.hpp:29
Kokkos::View< int *, Kokkos::LayoutRight, HostType > gvid0_pid_h
Which processors get which vertices (host)
Definition: domain_decomposition.hpp:41