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

Classes

class  TagFindCellRange2
 

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 iBoxType = iBox< IndexType >
 
- Public Types inherited from cells< int32 >
using CellType = triple< int32 >
 

Public Member Functions

 TypeInfoNV ("cellsWallLevel0")
 
INLINE_FUNCTION_HD cellsWallLevel0 ()
 
FUNCTION_H cellsWallLevel0 (const Cells &ppCells, real cellExtent, int32 numPoints, int32 numElements, const ViewType1D< realx3, memory_space > &points, const ViewType1D< int32x3, memory_space > &vertices)
 
bool resetElements (int32 numElements, int32 numPoints, ViewType1D< realx3, memory_space > &points, ViewType1D< int32x3, memory_space > &vertices)
 
INLINE_FUNCTION_HD iBoxType elementBox (int32 i) const
 
INLINE_FUNCTION_HD int32 numElements () const
 
template<typename PairsContainer , typename particleMapType >
bool broadSearch (PairsContainer &pairs, particleMapType &particleMap)
 
bool build ()
 
template<typename PairsContainer , typename particleMapType >
bool particleWallFindPairs (PairsContainer &pairs, particleMapType &particleMap)
 
template<typename PairsContainer , typename CellIteratorType >
int32 findPairsElementRangeCount (PairsContainer &pairs, CellIteratorType cellIter)
 
INLINE_FUNCTION_HD void operator() (TagFindCellRange2, int32 i) const
 
- 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 tpPWContactSearch = Kokkos::TeamPolicy< execution_space, Kokkos::Schedule< Kokkos::Dynamic >, Kokkos::IndexType< int32 > >
 
using rpFindCellRange2Type = Kokkos::RangePolicy< TagFindCellRange2, execution_space, Kokkos::IndexType< int32 > >
 

Protected Member Functions

FUNCTION_H void allocateArrays ()
 
- Protected Member Functions inherited from cells< int32 >
INLINE_FUNCTION_H void calculate ()
 

Protected Attributes

real cellExtent_ = 0.5
 
int32 numElements_ = 0
 
int32 numPoints_ = 0
 
ViewType1D< int32x3, memory_spacevertices_
 
ViewType1D< realx3, memory_spacepoints_
 
ViewType1D< iBoxType, memory_spaceelementBox_
 
- Protected Attributes inherited from cells< int32 >
box domain_
 
realx3 cellSize_
 
CellType numCells_
 

Detailed Description

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

Definition at line 37 of file cellsWallLevel0.hpp.

Member Typedef Documentation

◆ IdType

using IdType = int32

Definition at line 43 of file cellsWallLevel0.hpp.

◆ IndexType

using IndexType = int32

Definition at line 45 of file cellsWallLevel0.hpp.

◆ Cells

using Cells = cells<IndexType>

Definition at line 47 of file cellsWallLevel0.hpp.

◆ CellType

using CellType = typename Cells::CellType

Definition at line 49 of file cellsWallLevel0.hpp.

◆ execution_space

using execution_space = executionSpace

Definition at line 51 of file cellsWallLevel0.hpp.

◆ memory_space

using memory_space = typename execution_space::memory_space

Definition at line 53 of file cellsWallLevel0.hpp.

◆ iBoxType

Definition at line 55 of file cellsWallLevel0.hpp.

◆ tpPWContactSearch

using tpPWContactSearch = Kokkos::TeamPolicy< execution_space, Kokkos::Schedule<Kokkos::Dynamic>, Kokkos::IndexType<int32> >
protected

Definition at line 84 of file cellsWallLevel0.hpp.

◆ rpFindCellRange2Type

using rpFindCellRange2Type = Kokkos::RangePolicy<TagFindCellRange2, execution_space, Kokkos::IndexType<int32> >
protected

Definition at line 87 of file cellsWallLevel0.hpp.

Constructor & Destructor Documentation

◆ cellsWallLevel0() [1/2]

Definition at line 101 of file cellsWallLevel0.hpp.

◆ cellsWallLevel0() [2/2]

FUNCTION_H cellsWallLevel0 ( const Cells ppCells,
real  cellExtent,
int32  numPoints,
int32  numElements,
const ViewType1D< realx3, memory_space > &  points,
const ViewType1D< int32x3, memory_space > &  vertices 
)
inline

Definition at line 104 of file cellsWallLevel0.hpp.

References cellsWallLevel0< executionSpace >::allocateArrays().

Here is the call graph for this function:

Member Function Documentation

◆ allocateArrays()

FUNCTION_H void allocateArrays ( )
inlineprotected

Definition at line 91 of file cellsWallLevel0.hpp.

References cellsWallLevel0< executionSpace >::elementBox_, cellsWallLevel0< executionSpace >::numElements_, and pFlow::reallocNoInit().

Referenced by cellsWallLevel0< executionSpace >::cellsWallLevel0(), and cellsWallLevel0< executionSpace >::resetElements().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeInfoNV()

TypeInfoNV ( "cellsWallLevel0< executionSpace >"  )

◆ resetElements()

◆ elementBox()

INLINE_FUNCTION_HD iBoxType elementBox ( int32  i) const
inline

Definition at line 145 of file cellsWallLevel0.hpp.

References cellsWallLevel0< executionSpace >::elementBox_.

Referenced by cellsWallLevel0< executionSpace >::findPairsElementRangeCount().

Here is the caller graph for this function:

◆ numElements()

INLINE_FUNCTION_HD int32 numElements ( ) const
inline

Definition at line 151 of file cellsWallLevel0.hpp.

References cellsWallLevel0< executionSpace >::numElements_.

Referenced by cellsWallLevel0< executionSpace >::resetElements().

Here is the caller graph for this function:

◆ broadSearch()

bool broadSearch ( PairsContainer &  pairs,
particleMapType &  particleMap 
)
inline

Definition at line 159 of file cellsWallLevel0.hpp.

References cellsWallLevel0< executionSpace >::build(), and cellsWallLevel0< executionSpace >::particleWallFindPairs().

Referenced by cellMapping< executionSpace >::broadSearch().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build()

bool build ( )
inline

Definition at line 170 of file cellsWallLevel0.hpp.

References cellsWallLevel0< executionSpace >::numElements_.

Referenced by cellsWallLevel0< executionSpace >::broadSearch().

Here is the caller graph for this function:

◆ particleWallFindPairs()

bool particleWallFindPairs ( PairsContainer &  pairs,
particleMapType &  particleMap 
)
inline

Definition at line 181 of file cellsWallLevel0.hpp.

References endINFO, cellsWallLevel0< executionSpace >::findPairsElementRangeCount(), INFORMATION, and pFlow::max().

Referenced by cellsWallLevel0< executionSpace >::broadSearch().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findPairsElementRangeCount()

int32 findPairsElementRangeCount ( PairsContainer &  pairs,
CellIteratorType  cellIter 
)
inline

◆ operator()()

Member Data Documentation

◆ cellExtent_

real cellExtent_ = 0.5
protected

Definition at line 62 of file cellsWallLevel0.hpp.

Referenced by cellsWallLevel0< executionSpace >::operator()().

◆ numElements_

◆ numPoints_

int32 numPoints_ = 0
protected

◆ vertices_

◆ points_

◆ elementBox_


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