GADGET-4
domain< partset > Class Template Reference

#include <domain.h>

Inherits setcomm.

Classes

struct  topnode_data
 

Public Types

typedef partset::pdata pdata
 

Public Member Functions

 domain (MPI_Comm comm, partset *Tp_ptr)
 
void domain_decomposition (domain_options mode)
 
void domain_allocate (void)
 
void domain_allocate (int maxtopnodes)
 
void domain_free (void)
 
void domain_resize_storage (int count_get, int count_get_sph, int option_flag)
 
size_t domain_sizeof_topnode_data (void)
 
void reorder_particles (int *Id, int Nstart, int N)
 
void reorder_gas (int *Id)
 
void reorder_PS (int *Id, int Nstart, int N)
 
void reorder_P_and_PS (int *Id)
 
void reorder_P_PS (int NumGas, int NumPart)
 
void particle_exchange_based_on_PS (MPI_Comm Communicator)
 
- Public Member Functions inherited from setcomm
 setcomm (MPI_Comm Comm)
 
 setcomm (const char *str)
 
void initcomm (MPI_Comm Comm)
 
void mpi_printf (const char *fmt,...)
 
void determine_compute_nodes (void)
 

Public Attributes

domain_options Mode
 
int NTopnodes
 
int NTopleaves
 
int MultipleDomains = 1
 
int MaxTopNodes
 
int * ListOfTopleaves
 
int * NumTopleafOfTask
 
int * FirstTopleafOfTask
 
int * TaskOfLeaf
 
topnode_dataTopNodes
 
- Public Attributes inherited from setcomm
MPI_Comm Communicator
 
int NTask
 
int ThisTask
 
int PTask
 
int ThisNode
 
int NumNodes = 0
 
int TasksInThisNode
 
int RankInThisNode
 
int MinTasksPerNode
 
int MaxTasksPerNode
 
long long MemoryOnNode
 
long long SharedMemoryOnNode
 

Detailed Description

template<typename partset>
class domain< partset >

Definition at line 30 of file domain.h.

Member Typedef Documentation

◆ pdata

typedef partset::pdata pdata

Definition at line 47 of file domain.h.

Constructor & Destructor Documentation

◆ domain()

domain ( MPI_Comm  comm,
partset *  Tp_ptr 
)
inline

Definition at line 36 of file domain.h.

Member Function Documentation

◆ domain_allocate() [1/2]

void domain_allocate ( int  maxtopnodes)

This function allocates all the stuff that will be required for the tree-construction/walk later on

Definition at line 156 of file domain.cc.

◆ domain_allocate() [2/2]

void domain_allocate ( void  )

This function allocates all the stuff that will be required for the tree-construction/walk later on

Definition at line 172 of file domain.cc.

◆ domain_decomposition()

void domain_decomposition ( domain_options  mode)

Array of task numbers holding the respective top-level nodes. For the topnodes entries, it is indexed by the Leaf member, for pseudoparticles it is indexed by the node number-MaxPart-MaxNodes.

This is the main routine for the domain decomposition. It acts as a driver routine that allocates various temporary buffers, maps the particles back onto the periodic box if needed, and then does the domain decomposition, followed by a final Peano-Hilbert order of all particles as a tuning measure.

Definition at line 51 of file domain.cc.

◆ domain_free()

void domain_free ( void  )

Definition at line 179 of file domain.cc.

◆ domain_resize_storage()

void domain_resize_storage ( int  count_get,
int  count_get_sph,
int  option_flag 
)

Definition at line 37 of file domain_exchange.cc.

◆ domain_sizeof_topnode_data()

size_t domain_sizeof_topnode_data ( void  )
inline

Definition at line 87 of file domain.h.

◆ particle_exchange_based_on_PS()

void particle_exchange_based_on_PS ( MPI_Comm  Communicator)

Definition at line 512 of file domain_exchange.cc.

◆ reorder_gas()

void reorder_gas ( int *  Id)

Definition at line 336 of file domain_exchange.cc.

◆ reorder_P_and_PS()

void reorder_P_and_PS ( int *  Id)

Definition at line 439 of file domain_exchange.cc.

◆ reorder_P_PS()

void reorder_P_PS ( int  NumGas,
int  NumPart 
)

Definition at line 476 of file domain_exchange.cc.

◆ reorder_particles()

void reorder_particles ( int *  Id,
int  Nstart,
int  N 
)

Definition at line 373 of file domain_exchange.cc.

◆ reorder_PS()

void reorder_PS ( int *  Id,
int  Nstart,
int  N 
)

Definition at line 406 of file domain_exchange.cc.

Member Data Documentation

◆ FirstTopleafOfTask

int* FirstTopleafOfTask

Definition at line 61 of file domain.h.

◆ ListOfTopleaves

int* ListOfTopleaves

Definition at line 59 of file domain.h.

◆ MaxTopNodes

int MaxTopNodes

Maximum number of nodes in the top-level tree used for domain decomposition

Definition at line 57 of file domain.h.

◆ Mode

Definition at line 50 of file domain.h.

◆ MultipleDomains

int MultipleDomains = 1

Definition at line 55 of file domain.h.

◆ NTopleaves

int NTopleaves

Definition at line 53 of file domain.h.

◆ NTopnodes

int NTopnodes

Definition at line 52 of file domain.h.

◆ NumTopleafOfTask

int* NumTopleafOfTask

Definition at line 60 of file domain.h.

◆ TaskOfLeaf

int* TaskOfLeaf

Definition at line 63 of file domain.h.

◆ TopNodes

topnode_data* TopNodes

Definition at line 74 of file domain.h.


The documentation for this class was generated from the following files: