# PhasicFlow: NBSLevel< executionSpace > Class Template Reference

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

## 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 NBSLevel & | operator= (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 NBSLevel0 & | operator= (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 mapperNBS & | operator= (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 cells & | operator= (const cells &)=default
INLINE_FUNCTION_HD cells & | operator= (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 CellType & | numCells () 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_space > | diameter_
Protected Attributes inherited from mapperNBS< executionSpace >
int32 | capacity_ = 1
ViewType3D< int32, memory_space > | head_
ViewType1D< int32, memory_space > | next_
bool | nextOwner_ = true
ViewType1D< realx3, memory_space > | pointPosition_
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

using cellIterator = typename NBSLevel0Type::cellIterator

Definition at line 24 of file NBSLevel.hpp.

## IdType

using IdType = typename NBSLevel0Type::IdType

Definition at line 26 of file NBSLevel.hpp.

## IndexType

using IndexType = typename NBSLevel0Type::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

using execution_space = typename NBSLevel0Type::execution_space

Definition at line 34 of file NBSLevel.hpp.

## memory_space

using memory_space = typename NBSLevel0Type::memory_space

Definition at line 36 of file NBSLevel.hpp.

## mdrPolicyFindPairs

using mdrPolicyFindPairs = typename NBSLevel0Type::mdrPolicyFindPairs

Definition at line 38 of file NBSLevel.hpp.

## HeadType

using HeadType = typename NBSLevel0Type::HeadType

Definition at line 40 of file NBSLevel.hpp.

## NextType

using NextType = typename NBSLevel0Type::NextType

Definition at line 42 of file NBSLevel.hpp.

## Constructor & Destructor Documentation

## NBSLevel() [1/3]

INLINE_FUNCTION_HD NBSLevel | ( |  | ) |

inline

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

INLINE_FUNCTION_HD ~NBSLevel | ( |  | ) |

default

## 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:

- src/Interaction/contactSearch/methods/NBSLevel.hpp