26 Vec3d bound_min{-0.5, -0.5, -0.5};
34 Vec3d bound_max{0.5, 0.5, 0.5};
42 Vec3i num_div{1, 1, 1};
53 std::tuple<Vec3d, Vec3d>
GetBound()
const;
98 void SetBound(
double bmin_x,
double bmin_y,
double bmin_z,
double bmax_x,
99 double bmax_y,
double bmax_z);
Class for managing the simulation domain and particles that belong to it.
Definition domain.hpp:24
A class that manages the domain and sub-domains for a DEM simulation.
Definition domain_manager.hpp:18
void SetBound(double bmin_x, double bmin_y, double bmin_z, double bmax_x, double bmax_y, double bmax_z)
Sets the lower and upper bounds of the domain.
Definition domain_manager.cpp:83
DomainManager()
Constructs a new DomainManager object.
Definition domain_manager.cpp:7
void SetCellSpacing(double s_x, double s_y, double s_z)
Sets the spacing between cells in each dimension.
Definition domain_manager.cpp:105
void Init()
Initializes the domain and sub-domains without a simulation object.
Definition domain_manager.cpp:20
std::tuple< Vec3d, Vec3d > GetBound() const
Get the bounds of the simulation.
Definition domain_manager.cpp:9
void SetDecomposition(int num_div_x, int num_div_y, int num_div_z)
Sets the number of domain divisions in each dimension.
Definition domain_manager.cpp:96
VecXT< Domain * > GetGhostSubDomains()
Returns a vector of ghost sub-domains for MPI data exchange.
Definition domain_manager.cpp:112
Vec3i const & GetDecomposition() const
Get the spacing of the cells.
Definition domain_manager.cpp:13
Domain * GetSelfSubDomain()
Returns a pointer to the sub-domain that belongs to this process.
Definition domain_manager.cpp:124
Domain * GetSelfGhostSubDomain()
Returns a pointer to the ghost sub-domain that belongs to this process.
Definition domain_manager.cpp:120
Class for managing a DEM simulation.
Definition simulation.hpp:21
Definition bond_entry.hpp:7
std::vector< T > VecXT
Definition utils_macros.hpp:31
std::array< double, 3 > Vec3d
Definition utils_macros.hpp:18
std::array< int, 3 > Vec3i
Definition utils_macros.hpp:14