|
std::vector< HaloRegion > | getHaloImportForceExportRegions (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3], double cellLength[3]) override |
|
std::vector< HaloRegion > | getHaloExportForceImportRegions (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3], double cellLength[3]) override |
|
virtual std::vector< HaloRegion > | getLeavingExportRegions (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3]) |
|
virtual std::vector< HaloRegion > | getLeavingExportRegions (HaloRegion &initialRegion, double cutoffRadius[3], bool coversWholeDomain[3]) |
|
|
std::vector< HaloRegion > | getHaloRegionsConditional (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3], const std::function< bool(const int[3])> &condition) |
|
std::vector< HaloRegion > | getHaloRegionsConditional (HaloRegion &initialRegion, const double cutoffRadius[3], bool coversWholeDomain[3], const std::function< bool(const int[3])> &condition) |
|
std::vector< HaloRegion > | getHaloRegionsConditionalInside (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3], const std::function< bool(const int[3])> &condition) |
|
std::vector< HaloRegion > | getHaloRegionsConditionalInside (HaloRegion &initialRegion, const double cutoffRadius[3], bool coversWholeDomain[3], const std::function< bool(const int[3])> &condition) |
|
This class implements the HalfShell Method. Halo is only imported, if it lies within the half shell. The half shell is defined using the same traversal scheme as the VectorizedCellProcessor uses for determining, whether or whether not to calculate the macroscopic values, i.e: cellIndex1 < cellIndex2. As LinkedCells defines the cellIndex using z as the major array index (then y, then x), we will do the same here: if z<z_domain, we don't import the region. if z>z_domain we import it. if z within z_domain: y determines the procedure. The HalfShell method requires forces to be exchanged.