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

Classes

class  cellIterator
 

Public Types

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 ("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 Types

using rangePolicyType = Kokkos::RangePolicy< Kokkos::IndexType< int32 >, Kokkos::Schedule< Kokkos::Static >, execution_space >
 

Protected Member Functions

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 ()
 

Protected Attributes

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_
 

Detailed Description

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

Definition at line 34 of file mapperNBS.hpp.

Member Typedef Documentation

◆ IdType

using IdType = int32

Definition at line 40 of file mapperNBS.hpp.

◆ IndexType

using IndexType = int32

Definition at line 42 of file mapperNBS.hpp.

◆ Cells

using Cells = cells<IndexType>

Definition at line 44 of file mapperNBS.hpp.

◆ CellType

using CellType = typename Cells::CellType

Definition at line 46 of file mapperNBS.hpp.

◆ execution_space

using execution_space = executionSpace

Definition at line 48 of file mapperNBS.hpp.

◆ memory_space

using memory_space = typename execution_space::memory_space

Definition at line 50 of file mapperNBS.hpp.

◆ HeadType

Definition at line 52 of file mapperNBS.hpp.

◆ NextType

Definition at line 54 of file mapperNBS.hpp.

◆ rangePolicyType

using rangePolicyType = Kokkos::RangePolicy< Kokkos::IndexType<int32>, Kokkos::Schedule<Kokkos::Static>, execution_space>
protected

Definition at line 102 of file mapperNBS.hpp.

Constructor & Destructor Documentation

◆ mapperNBS() [1/4]

Definition at line 163 of file mapperNBS.hpp.

◆ mapperNBS() [2/4]

mapperNBS ( const box domain,
real  cellSize,
const ViewType1D< realx3, memory_space > &  position,
bool  nextOwner = true 
)
inline

Definition at line 165 of file mapperNBS.hpp.

◆ mapperNBS() [3/4]

mapperNBS ( const box domain,
int32  nx,
int32  ny,
int32  nz,
const ViewType1D< realx3, memory_space > &  position,
bool  nextOwner = true 
)
inline

Definition at line 185 of file mapperNBS.hpp.

◆ mapperNBS() [4/4]

INLINE_FUNCTION_HD mapperNBS ( const mapperNBS< executionSpace > &  )
default

◆ ~mapperNBS()

Member Function Documentation

◆ nullifyHead()

INLINE_FUNCTION_H void nullifyHead ( )
inlineprotected

Definition at line 105 of file mapperNBS.hpp.

Referenced by mapperNBS< DefaultHostExecutionSpace >::nullify().

Here is the caller graph for this function:

◆ nullifyNext()

void nullifyNext ( range  nextRng)
inlineprotected

Definition at line 116 of file mapperNBS.hpp.

Referenced by mapperNBS< DefaultHostExecutionSpace >::nullify().

Here is the caller graph for this function:

◆ nullify() [1/2]

void nullify ( )
inlineprotected

Definition at line 126 of file mapperNBS.hpp.

Referenced by mapperNBS< DefaultHostExecutionSpace >::build(), and mapperNBS< DefaultHostExecutionSpace >::buildCheckInDomain().

Here is the caller graph for this function:

◆ nullify() [2/2]

void nullify ( range  nextRng)
inlineprotected

Definition at line 133 of file mapperNBS.hpp.

◆ checkAllocateNext()

◆ allocateHead()

void allocateHead ( )
inlineprotected

Definition at line 151 of file mapperNBS.hpp.

◆ TypeInfoNV()

TypeInfoNV ( "mapperNBS< executionSpace >"  )

◆ operator=()

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

◆ capacity()

INLINE_FUNCTION_HD auto capacity ( ) const
inline

Definition at line 214 of file mapperNBS.hpp.

◆ getCellIterator()

cellIterator getCellIterator ( ) const
inline

◆ particlesCapcityChanged()

bool particlesCapcityChanged ( int32  newCap)
inline

Definition at line 224 of file mapperNBS.hpp.

◆ head() [1/2]

INLINE_FUNCTION_HD auto& head ( )
inline

Definition at line 231 of file mapperNBS.hpp.

Referenced by mapperNBS< DefaultHostExecutionSpace >::build(), and mapperNBS< DefaultHostExecutionSpace >::buildCheckInDomain().

Here is the caller graph for this function:

◆ next() [1/2]

◆ head() [2/2]

const INLINE_FUNCTION_HD auto& head ( ) const
inline

Definition at line 243 of file mapperNBS.hpp.

◆ next() [2/2]

const INLINE_FUNCTION_HD auto& next ( ) const
inline

Definition at line 249 of file mapperNBS.hpp.

◆ pointPosition()

INLINE_FUNCTION_HD auto& pointPosition ( )
inline

Definition at line 255 of file mapperNBS.hpp.

◆ setNext()

INLINE_FUNCTION_H void setNext ( ViewType1D< int32, memory_space > &  next)
inline

Definition at line 261 of file mapperNBS.hpp.

◆ build() [1/2]

INLINE_FUNCTION_H void build ( range  activeRange)
inline

Definition at line 274 of file mapperNBS.hpp.

Referenced by NBSLevel0< executionSpace >::broadSearch(), and NBS< executionSpace >::broadSearch().

Here is the caller graph for this function:

◆ build() [2/2]

INLINE_FUNCTION_H void build ( range  activeRange,
IncludeFunction  incld 
)
inline

Definition at line 300 of file mapperNBS.hpp.

◆ buildCheckInDomain() [1/2]

INLINE_FUNCTION_H void buildCheckInDomain ( range  activeRange)
inline

Definition at line 329 of file mapperNBS.hpp.

Referenced by pointRectCell::mapPOints().

Here is the caller graph for this function:

◆ buildCheckInDomain() [2/2]

INLINE_FUNCTION_H void buildCheckInDomain ( range  activeRange,
IncludeFunction  incld 
)
inline

Definition at line 359 of file mapperNBS.hpp.

Member Data Documentation

◆ capacity_

◆ head_

◆ next_

◆ nextOwner_

◆ pointPosition_


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