NBSLevel< executionSpace > Class Template Reference
Inheritance diagram for NBSLevel< executionSpace >:
Collaboration diagram for NBSLevel< executionSpace >:

Public Types

using NBSLevel0Type = NBSLevel0< executionSpace >
 
using cellIterator = typename NBSLevel0Type::cellIterator
 
using IdType = typename NBSLevel0Type::IdType
 
using IndexType = typename NBSLevel0Type::IndexType
 
using Cells = typename NBSLevel0Type::Cells
 
using CellType = typename Cells::CellType
 
using execution_space = typename NBSLevel0Type::execution_space
 
using memory_space = typename NBSLevel0Type::memory_space
 
using mdrPolicyFindPairs = typename NBSLevel0Type::mdrPolicyFindPairs
 
using HeadType = typename NBSLevel0Type::HeadType
 
using NextType = typename NBSLevel0Type::NextType
 
- Public Types inherited from NBSLevel0< executionSpace >
using MapperType = mapperNBS< executionSpace >
 
using cellIterator = typename MapperType::cellIterator
 
using IdType = typename MapperType::IdType
 
using IndexType = typename MapperType::IndexType
 
using Cells = typename MapperType::Cells
 
using CellType = typename Cells::CellType
 
using execution_space = typename MapperType::execution_space
 
using memory_space = typename MapperType::memory_space
 
using HeadType = typename MapperType::HeadType
 
using NextType = typename MapperType::NextType
 
- Public Types inherited from mapperNBS< executionSpace >
using IdType = int32
 
using IndexType = int32
 
using Cells = cells< IndexType >
 
using CellType = typename Cells::CellType
 
using execution_space = executionSpace
 
using memory_space = typename execution_space::memory_space
 
using HeadType = ViewType3D< int32, memory_space >
 
using NextType = ViewType1D< int32, memory_space >
 
- Public Types inherited from cells< int32 >
using CellType = triple< int32 >
 

Public Member Functions

 TypeInfoNV ("NBSLevel0")
 
INLINE_FUNCTION_HD NBSLevel ()
 
 NBSLevel (int32 lvl, const box &domain, real cellSize, real sizeRatio, const ViewType1D< realx3, memory_space > &position, const ViewType1D< real, memory_space > &diam)
 
INLINE_FUNCTION_HD NBSLevel (const NBSLevel &)=default
 
INLINE_FUNCTION_HD NBSLeveloperator= (const NBSLevel &)=default
 
INLINE_FUNCTION_HD ~NBSLevel ()=default
 
INLINE_FUNCTION_HD auto level () const
 
template<typename PairsContainer >
INLINE_FUNCTION_H int32 findPairsCountCross (PairsContainer &pairs, NBSLevel &upperLevel)
 
- Public Member Functions inherited from NBSLevel0< executionSpace >
 TypeInfoNV ("NBSLevel0")
 
INLINE_FUNCTION_HD NBSLevel0 ()
 
 NBSLevel0 (const box &domain, real cellSize, const ViewType1D< realx3, memory_space > &position, const ViewType1D< real, memory_space > &diam)
 
 NBSLevel0 (const box &domain, int32 nx, int32 ny, int32 nz, const ViewType1D< realx3, memory_space > &position, const ViewType1D< real, memory_space > &diam)
 
 NBSLevel0 (const box &domain, real cellSize, real sizeRatio, const ViewType1D< realx3, memory_space > &position, const ViewType1D< real, memory_space > &diam, bool nextOwner=true)
 
INLINE_FUNCTION_HD NBSLevel0 (const NBSLevel0 &)=default
 
INLINE_FUNCTION_HD NBSLevel0operator= (const NBSLevel0 &)=default
 
INLINE_FUNCTION_HD ~NBSLevel0 ()=default
 
INLINE_FUNCTION_HD auto sizeRatio () const
 
INLINE_FUNCTION_HD auto & diameter ()
 
template<typename PairsContainer >
bool broadSearch (PairsContainer &pairs, range activeRange)
 
template<typename PairsContainer , typename IncludeFunction >
bool broadSearch (PairsContainer &pairs, range activeRange, IncludeFunction incld)
 
template<typename PairsContainer >
INLINE_FUNCTION_H bool findPairs (PairsContainer &pairs)
 
template<typename PairsContainer >
INLINE_FUNCTION_H int32 findPairsCount (PairsContainer &pairs)
 
- Public Member Functions inherited from mapperNBS< executionSpace >
 TypeInfoNV ("mapperNBS")
 
INLINE_FUNCTION_HD mapperNBS ()
 
 mapperNBS (const box &domain, real cellSize, const ViewType1D< realx3, memory_space > &position, bool nextOwner=true)
 
 mapperNBS (const box &domain, int32 nx, int32 ny, int32 nz, const ViewType1D< realx3, memory_space > &position, bool nextOwner=true)
 
INLINE_FUNCTION_HD mapperNBS (const mapperNBS &)=default
 
INLINE_FUNCTION_HD mapperNBSoperator= (const mapperNBS &)=default
 
INLINE_FUNCTION_HD ~mapperNBS ()=default
 
INLINE_FUNCTION_HD auto capacity () const
 
cellIterator getCellIterator () const
 
bool particlesCapcityChanged (int32 newCap)
 
INLINE_FUNCTION_HD auto & head ()
 
INLINE_FUNCTION_HD auto & next ()
 
const INLINE_FUNCTION_HD auto & head () const
 
const INLINE_FUNCTION_HD auto & next () const
 
INLINE_FUNCTION_HD auto & pointPosition ()
 
INLINE_FUNCTION_H void setNext (ViewType1D< int32, memory_space > &next)
 
INLINE_FUNCTION_H void build (range activeRange)
 
template<typename IncludeFunction >
INLINE_FUNCTION_H void build (range activeRange, IncludeFunction incld)
 
INLINE_FUNCTION_H void buildCheckInDomain (range activeRange)
 
template<typename IncludeFunction >
INLINE_FUNCTION_H void buildCheckInDomain (range activeRange, IncludeFunction incld)
 
- Public Member Functions inherited from cells< int32 >
INLINE_FUNCTION_HD cells ()
 
INLINE_FUNCTION_H cells (const box &domain, real cellSize)
 
INLINE_FUNCTION_H cells (const box &domain, int32 nx, int32 ny, int32 nz)
 
INLINE_FUNCTION_HD cells (const cells &)=default
 
INLINE_FUNCTION_HD cells (cells &&)=default
 
INLINE_FUNCTION_HD cellsoperator= (const cells &)=default
 
INLINE_FUNCTION_HD cellsoperator= (cells &&)=default
 
cells getCells () const
 
INLINE_FUNCTION_H void setCellSize (real cellSize)
 
INLINE_FUNCTION_H void setCellSize (realx3 cellSize)
 
INLINE_FUNCTION_HD realx3 cellSize () const
 
const INLINE_FUNCTION_HD CellTypenumCells () const
 
INLINE_FUNCTION_HD int32 nx () const
 
INLINE_FUNCTION_HD int32 ny () const
 
INLINE_FUNCTION_HD int32 nz () const
 
INLINE_FUNCTION_HD int64 totalCells () const
 
const auto & domain () const
 
INLINE_FUNCTION_HD CellType pointIndex (const realx3 &p) const
 
INLINE_FUNCTION_HD bool pointIndexInDomain (const realx3 p, CellType &index) const
 
INLINE_FUNCTION_HD bool inDomain (const realx3 &p) const
 
INLINE_FUNCTION_HD bool isInRange (const CellType &cell) const
 
INLINE_FUNCTION_HD bool isInRange (int32 i, int32 j, int32 k) const
 
INLINE_FUNCTION_HD void extendBox (const CellType &p1, const CellType &p2, const CellType &p3, int32 extent, CellType &minP, CellType &maxP) const
 
INLINE_FUNCTION_HD void extendBox (const realx3 &p1, const realx3 &p2, const realx3 &p3, real extent, realx3 &minP, realx3 &maxP) const
 
INLINE_FUNCTION_HD CellType bound (CellType p) const
 
INLINE_FUNCTION_HD realx3 bound (realx3 p) const
 

Protected Attributes

int32 level_ = 0
 
- Protected Attributes inherited from NBSLevel0< executionSpace >
real sizeRatio_ = 1.0
 
ViewType1D< real, memory_spacediameter_
 
- Protected Attributes inherited from mapperNBS< executionSpace >
int32 capacity_ = 1
 
ViewType3D< int32, memory_spacehead_
 
ViewType1D< int32, memory_spacenext_
 
bool nextOwner_ = true
 
ViewType1D< realx3, memory_spacepointPosition_
 
- Protected Attributes inherited from cells< int32 >
box domain_
 
realx3 cellSize_
 
CellType numCells_
 

Friends

template<typename exeSpace >
class NBSLevels
 

Additional Inherited Members

- Protected Types inherited from NBSLevel0< executionSpace >
using mdrPolicyFindPairs = Kokkos::MDRangePolicy< Kokkos::Rank< 3 >, Kokkos::Schedule< Kokkos::Dynamic >, execution_space >
 
- Protected Types inherited from mapperNBS< executionSpace >
using rangePolicyType = Kokkos::RangePolicy< Kokkos::IndexType< int32 >, Kokkos::Schedule< Kokkos::Static >, execution_space >
 
- Protected Member Functions inherited from mapperNBS< executionSpace >
INLINE_FUNCTION_H void nullifyHead ()
 
void nullifyNext (range nextRng)
 
void nullify ()
 
void nullify (range nextRng)
 
void checkAllocateNext (int newCap)
 
void allocateHead ()
 
- Protected Member Functions inherited from cells< int32 >
INLINE_FUNCTION_H void calculate ()
 
- Static Protected Member Functions inherited from NBSLevel0< executionSpace >
static INLINE_FUNCTION_HD void Swap (int32 &x, int32 &y)
 

Detailed Description

template<typename executionSpace>
class pFlow::NBSLevel< executionSpace >

Definition at line 15 of file NBSLevel.hpp.

Member Typedef Documentation

◆ NBSLevel0Type

using NBSLevel0Type = NBSLevel0<executionSpace>

Definition at line 22 of file NBSLevel.hpp.

◆ cellIterator

Definition at line 24 of file NBSLevel.hpp.

◆ IdType

using IdType = typename NBSLevel0Type::IdType

Definition at line 26 of file NBSLevel.hpp.

◆ IndexType

Definition at line 28 of file NBSLevel.hpp.

◆ Cells

using Cells = typename NBSLevel0Type::Cells

Definition at line 30 of file NBSLevel.hpp.

◆ CellType

using CellType = typename Cells::CellType

Definition at line 32 of file NBSLevel.hpp.

◆ execution_space

Definition at line 34 of file NBSLevel.hpp.

◆ memory_space

Definition at line 36 of file NBSLevel.hpp.

◆ mdrPolicyFindPairs

Definition at line 38 of file NBSLevel.hpp.

◆ HeadType

Definition at line 40 of file NBSLevel.hpp.

◆ NextType

Definition at line 42 of file NBSLevel.hpp.

Constructor & Destructor Documentation

◆ NBSLevel() [1/3]

Definition at line 57 of file NBSLevel.hpp.

◆ NBSLevel() [2/3]

NBSLevel ( int32  lvl,
const box domain,
real  cellSize,
real  sizeRatio,
const ViewType1D< realx3, memory_space > &  position,
const ViewType1D< real, memory_space > &  diam 
)
inline

Definition at line 59 of file NBSLevel.hpp.

◆ NBSLevel() [3/3]

INLINE_FUNCTION_HD NBSLevel ( const NBSLevel< executionSpace > &  )
default

◆ ~NBSLevel()

Member Function Documentation

◆ TypeInfoNV()

TypeInfoNV ( "NBSLevel0"  )

◆ operator=()

INLINE_FUNCTION_HD NBSLevel& operator= ( const NBSLevel< executionSpace > &  )
default

◆ level()

INLINE_FUNCTION_HD auto level ( ) const
inline

Definition at line 87 of file NBSLevel.hpp.

◆ findPairsCountCross()

INLINE_FUNCTION_H int32 findPairsCountCross ( PairsContainer &  pairs,
NBSLevel< executionSpace > &  upperLevel 
)
inline

Definition at line 94 of file NBSLevel.hpp.

References CLASS_LAMBDA_HD.

Friends And Related Function Documentation

◆ NBSLevels

friend class NBSLevels
friend

Definition at line 45 of file NBSLevel.hpp.

Member Data Documentation

◆ level_

int32 level_ = 0
protected

Definition at line 49 of file NBSLevel.hpp.


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