Abstract base class for the local subdomain.
#include <IDomain.h>
Public Member Functions | |
virtual | ~IDomain ()=default |
virtual bool | isContainedInProcessSubdomain (const uint_t rank, const Vec3 &pt) const =0 |
Is the point pt located inside the subdomain of the process with rank rank ? More... | |
virtual bool | isContainedInLocalSubdomain (const Vec3 &, const real_t &) const |
Is the sphere located inside the local subdomain? More... | |
virtual int | findContainingProcessRank (const Vec3 &pt) const =0 |
Find the process rank which is responsible for pt . More... | |
virtual void | periodicallyMapToDomain (Vec3 &pt) const =0 |
Map the point pt periodically into the global domain. More... | |
virtual std::vector< uint_t > | getNeighborProcesses () const =0 |
Returns a vector of ranks from all neighboring processes. More... | |
virtual bool | intersectsWithProcessSubdomain (const uint_t rank, const Vec3 &pt, const real_t &radius) const =0 |
Does the sphere defined by pt and radius intersect with the subdomain of process rank ? More... | |
virtual void | correctParticlePosition (Vec3 &pt) const =0 |
Correct the particle position in regard to the local subdomain. More... | |
|
virtualdefault |
|
pure virtual |
Correct the particle position in regard to the local subdomain.
Implemented in walberla::mesa_pd::domain::BlockForestDomain, and walberla::mesa_pd::domain::InfiniteDomain.
|
pure virtual |
Find the process rank which is responsible for pt
.
pt
will be always inside the global domain. Implemented in walberla::mesa_pd::domain::BlockForestDomain, and walberla::mesa_pd::domain::InfiniteDomain.
|
pure virtual |
Returns a vector of ranks from all neighboring processes.
Implemented in walberla::mesa_pd::domain::BlockForestDomain, and walberla::mesa_pd::domain::InfiniteDomain.
|
pure virtual |
Does the sphere defined by pt
and radius
intersect with the subdomain of process rank
?
pt | center of the sphere |
radius | radius of the sphere |
Implemented in walberla::mesa_pd::domain::BlockForestDomain, and walberla::mesa_pd::domain::InfiniteDomain.
|
inlinevirtual |
Is the sphere located inside the local subdomain?
Reimplemented in walberla::mesa_pd::domain::BlockForestDomain.
|
pure virtual |
Is the point pt
located inside the subdomain of the process with rank rank
?
Implemented in walberla::mesa_pd::domain::BlockForestDomain, and walberla::mesa_pd::domain::InfiniteDomain.
|
pure virtual |
Map the point pt
periodically into the global domain.
Implemented in walberla::mesa_pd::domain::BlockForestDomain, and walberla::mesa_pd::domain::InfiniteDomain.