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 
5 // Decomposition class
6 template<class Device>
8  public:
9 
10  // Constructor
11  DomainDecomposition(bool interplanar_only_in, int pe_per_plane_in, int plane_totalpe_in, int n_pids_in, int my_pid_in, int my_plane_pid );
12 
13  // Default constructor
15 
16  // Updater
17  void update_pol_decomp(int *gvid0_pid_in);
18 
19  // Variables
23  int n_pids;
24  int my_pid;
26 
27  int first_node;
28  int nnodes;
29 
30  // Array
31  Kokkos::View<int*,Kokkos::LayoutRight,Device> gvid0_pid;
32 };
33 
34 #include "domain_decomposition.tpp"
35 #endif
DomainDecomposition()
Definition: domain_decomposition.hpp:14
int plane_totalpe
Processors per plane?
Definition: domain_decomposition.hpp:22
void update_pol_decomp(int *gvid0_pid_in)
Definition: domain_decomposition.tpp:24
int nnodes
Number of nodes belonging to this MPI rank.
Definition: domain_decomposition.hpp:28
int my_pid
ID of this processor.
Definition: domain_decomposition.hpp:24
int pe_per_plane
Processors per plane.
Definition: domain_decomposition.hpp:21
int n_pids
Processors per plane?
Definition: domain_decomposition.hpp:23
bool interplanar_only
No poloidal decomposition.
Definition: domain_decomposition.hpp:20
Kokkos::View< int *, Kokkos::LayoutRight, Device > gvid0_pid
Which processors get which vertices.
Definition: domain_decomposition.hpp:31
int my_plane_pid
Poloidal ID of this processor.
Definition: domain_decomposition.hpp:25
Definition: domain_decomposition.hpp:7
int first_node
First mesh node belonging to this MPI rank.
Definition: domain_decomposition.hpp:27