domain< partset > Class Template Reference

#include <domain.h>

Inherits setcomm.


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
- 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 

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_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_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_free()

void domain_free ( void  )

Definition at line 179 of file

◆ domain_resize_storage()

void domain_resize_storage ( int  count_get,
int  count_get_sph,
int  option_flag 

Definition at line 37 of file

◆ domain_sizeof_topnode_data()

size_t domain_sizeof_topnode_data ( void  )

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

◆ reorder_gas()

void reorder_gas ( int *  Id)

Definition at line 336 of file

◆ reorder_P_and_PS()

void reorder_P_and_PS ( int *  Id)

Definition at line 439 of file

◆ reorder_P_PS()

void reorder_P_PS ( int  NumGas,
int  NumPart 

Definition at line 476 of file

◆ reorder_particles()

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

Definition at line 373 of file

◆ reorder_PS()

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

Definition at line 406 of file

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: