ThunderEgg
1.0.0
|
Uses a collection of PatchInfo objects to represent the domain of the problem. More...
#include <Domain.h>
Public Member Functions | |
template<class InputIterator > | |
Domain (Communicator comm, int id, std::array< int, D > ns, int num_ghost_cells, InputIterator first_pinfo, InputIterator last_pinfo) | |
Construct a new Domain object. More... | |
const Communicator & | getCommunicator () const |
Get the Communicator object associated with this domain. More... | |
const std::vector< PatchInfo< D > > & | getPatchInfoVector () const |
Get a vector of PatchInfo pointers where index in the vector corresponds to the patch's local index. | |
const std::array< int, D > & | getNs () const |
Get the number of cells in each direction. More... | |
int | getNumGlobalPatches () const |
Get the number of global patches. | |
int | getNumLocalPatches () const |
Get the number of local patches. | |
int | getNumGlobalCells () const |
get the number of global cells | |
int | getNumLocalCells () const |
Get get the number of local cells. | |
int | getNumLocalCellsWithGhost () const |
Get get the number of local cells (including ghost cells) | |
int | getNumCellsInPatch () const |
Get the number of cells in a patch. | |
int | getNumGhostCells () const |
get the number of ghost cell on each side of a patch | |
double | volume () const |
Get the volume of the domain. More... | |
void | setTimer (std::shared_ptr< Timer > timer) const |
Set the Timer object. More... | |
std::shared_ptr< Timer > | getTimer () const |
Get the Timer object. More... | |
bool | hasTimer () const |
Check if the Domain has a timer associated with it. More... | |
int | getId () const |
Get the domain's id. More... | |
Uses a collection of PatchInfo objects to represent the domain of the problem.
Each patch passed to the constructor needs to have the following complete information:
Each patch needs to have the neighboring patch information filled out, with the id of neighbor patches.
When passed to the constructor, the constructor will create an indexing for the This class mainly manages a set of patches that makes up the domain. It is responsible for setting up the indexing of the domains, which is used in the rest of the ThunderEgg library.
D | the number of Cartesian dimensions |
|
inline |
|
inline |
Get the Communicator object associated with this domain.
|
inline |
Get the domain's id.
|
inline |
Get the number of cells in each direction.
|
inline |
Get the Timer object.
|
inline |
|
inline |
Set the Timer object.
timer | the timer |
|
inline |
Get the volume of the domain.
For 2D, this will be the area.