ls1-MarDyn
ls1-MarDyn molecular dynamics code
Public Member Functions | Protected Member Functions | List of all members
ZonalMethod Class Referenceabstract
Inheritance diagram for ZonalMethod:
EighthShell FullShell HalfShell Midpoint NeutralTerritory

Public Member Functions

virtual std::vector< HaloRegiongetHaloImportForceExportRegions (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3], double cellLength[3])=0
 
virtual std::vector< HaloRegiongetHaloExportForceImportRegions (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3], double cellLength[3])=0
 
virtual std::vector< HaloRegiongetLeavingExportRegions (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3])
 
virtual std::vector< HaloRegiongetLeavingExportRegions (HaloRegion &initialRegion, double cutoffRadius[3], bool coversWholeDomain[3])
 

Protected Member Functions

std::vector< HaloRegiongetHaloRegionsConditional (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3], const std::function< bool(const int[3])> &condition)
 
std::vector< HaloRegiongetHaloRegionsConditional (HaloRegion &initialRegion, const double cutoffRadius[3], bool coversWholeDomain[3], const std::function< bool(const int[3])> &condition)
 
std::vector< HaloRegiongetHaloRegionsConditionalInside (HaloRegion &initialRegion, double cutoffRadius, bool coversWholeDomain[3], const std::function< bool(const int[3])> &condition)
 
std::vector< HaloRegiongetHaloRegionsConditionalInside (HaloRegion &initialRegion, const double cutoffRadius[3], bool coversWholeDomain[3], const std::function< bool(const int[3])> &condition)
 

Member Function Documentation

◆ getHaloExportForceImportRegions()

virtual std::vector<HaloRegion> ZonalMethod::getHaloExportForceImportRegions ( HaloRegion initialRegion,
double  cutoffRadius,
bool  coversWholeDomain[3],
double  cellLength[3] 
)
pure virtual

Returns the export halo Regions of the process. These regions are also the ForceImport Regions of a process, if it is a force-importer. This indicates, where the processes lie that require halo copies from the current process.

Parameters
initialRegionboundary of the current process
cutoffRadius
coversWholeDomain
cellLength
Returns
vector of regions

Implemented in EighthShell, FullShell, HalfShell, Midpoint, and NeutralTerritory.

◆ getHaloImportForceExportRegions()

virtual std::vector<HaloRegion> ZonalMethod::getHaloImportForceExportRegions ( HaloRegion initialRegion,
double  cutoffRadius,
bool  coversWholeDomain[3],
double  cellLength[3] 
)
pure virtual

Returns the import halo Regions of the process. These regions are also the ForceExport Regions of a process, if it is a force-exporter. This indicates, where the processes lie that require halo copies from the current process.

Parameters
initialRegionboundary of the current process
cutoffRadius
coversWholeDomain
cellLength
Returns
vector of regions

Implemented in EighthShell, FullShell, HalfShell, Midpoint, and NeutralTerritory.

◆ getHaloRegionsConditional()

std::vector< HaloRegion > ZonalMethod::getHaloRegionsConditional ( HaloRegion initialRegion,
double  cutoffRadius,
bool  coversWholeDomain[3],
const std::function< bool(const int[3])> &  condition 
)
protected

Returns the haloRegions outside of the initialRegion using an additional condition. Up to 26 neighbouring HaloRegions are constructed. Only if the domain does not cover the whole domain and if the condition is fulfilled the Region is constructed.

Parameters
initialRegion
cutoffRadius
coversWholeDomain
conditionshould return true, if the HaloRegion shall be included in the return value. Its input argument is the array of offsets.
Returns
vector of HaloRegions

◆ getHaloRegionsConditionalInside()

std::vector< HaloRegion > ZonalMethod::getHaloRegionsConditionalInside ( HaloRegion initialRegion,
double  cutoffRadius,
bool  coversWholeDomain[3],
const std::function< bool(const int[3])> &  condition 
)
protected

Returns the haloRegions inside of the initialRegion using an additional condition. Up to 26 neighbouring HaloRegions are constructed. Only if the domain does not cover the whole domain and if the condition is fulfilled the Region is constructed.

Parameters
initialRegion
cutoffRadius
coversWholeDomain
conditionshould return true, if the HaloRegion shall be included in the return value. Its input argument is the array of offsets.
Returns
vector of HaloRegions

◆ getLeavingExportRegions()

std::vector< HaloRegion > ZonalMethod::getLeavingExportRegions ( HaloRegion initialRegion,
double  cutoffRadius,
bool  coversWholeDomain[3] 
)
virtual

Returns the export leaving Regions of the process. This indicates, where the processes lie that get leaving particles from the current process.

Parameters
initialRegionboundary of the current process
cutoffRadius
Returns
vector of regions

The documentation for this class was generated from the following files: