NBS< executionSpace > Class Template Reference

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
 

Public Member Functions

 TypeInfoNV ("NBS")
 
 NBS (const dictionary &dict, const box &domain, real minSize, real maxSize, const ViewType1D< realx3, memory_space > &position, const ViewType1D< real, memory_space > &diam)
 
INLINE_FUNCTION_HD NBS (const NBS &)=default
 
INLINE_FUNCTION_HD NBSoperator= (const NBS &)=default
 
INLINE_FUNCTION_HD ~NBS ()=default
 
bool enterBoadSearch () const
 
bool performedSearch () const
 
Vector< cellIteratorgetCellIteratorLevels ()
 
auto getCellIterator (int32 lvl) const
 
int32 numLevels () const
 
Vector< CellsgetCellsLevels () const
 
auto getCells () const
 
bool objectSizeChanged (int32 newSize)
 
template<typename PairsContainer >
bool broadSearch (PairsContainer &pairs, range activeRange, bool force=false)
 
template<typename PairsContainer , typename IncludeFunction >
bool broadSearch (PairsContainer &pairs, range activeRange, IncludeFunction incld, bool force=false)
 

Protected Attributes

real sizeRatio_ = 1.0
 
int32 updateFrequency_ = 1
 
int32 currentIter_ = 0
 
bool performedSearch_ = false
 
NBSLevel0Type NBSLevel0_
 

Private Member Functions

bool performSearch ()
 

Detailed Description

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

Definition at line 32 of file NBS.hpp.

Member Typedef Documentation

◆ NBSLevel0Type

using NBSLevel0Type = NBSLevel0<executionSpace>

Definition at line 36 of file NBS.hpp.

◆ cellIterator

Definition at line 38 of file NBS.hpp.

◆ IdType

using IdType = typename NBSLevel0Type::IdType

Definition at line 40 of file NBS.hpp.

◆ IndexType

Definition at line 42 of file NBS.hpp.

◆ Cells

using Cells = typename NBSLevel0Type::Cells

Definition at line 44 of file NBS.hpp.

◆ CellType

using CellType = typename Cells::CellType

Definition at line 46 of file NBS.hpp.

◆ execution_space

Definition at line 48 of file NBS.hpp.

◆ memory_space

Definition at line 50 of file NBS.hpp.

Constructor & Destructor Documentation

◆ NBS() [1/2]

NBS ( const dictionary dict,
const box domain,
real  minSize,
real  maxSize,
const ViewType1D< realx3, memory_space > &  position,
const ViewType1D< real, memory_space > &  diam 
)
inline

Definition at line 85 of file NBS.hpp.

◆ NBS() [2/2]

INLINE_FUNCTION_HD NBS ( const NBS< executionSpace > &  )
default

◆ ~NBS()

INLINE_FUNCTION_HD ~NBS ( )
default

Member Function Documentation

◆ performSearch()

bool performSearch ( )
inlineprivate

Definition at line 67 of file NBS.hpp.

References NBS< executionSpace >::currentIter_, and NBS< executionSpace >::updateFrequency_.

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

Here is the caller graph for this function:

◆ TypeInfoNV()

TypeInfoNV ( "NBS< executionSpace >"  )

◆ operator=()

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

◆ enterBoadSearch()

bool enterBoadSearch ( ) const
inline

◆ performedSearch()

bool performedSearch ( ) const
inline

Definition at line 127 of file NBS.hpp.

References NBS< executionSpace >::performedSearch_.

◆ getCellIteratorLevels()

Vector<cellIterator> getCellIteratorLevels ( )
inline

Definition at line 132 of file NBS.hpp.

References mapperNBS< executionSpace >::getCellIterator(), and NBS< executionSpace >::NBSLevel0_.

Here is the call graph for this function:

◆ getCellIterator()

auto getCellIterator ( int32  lvl) const
inline

Definition at line 137 of file NBS.hpp.

References mapperNBS< executionSpace >::getCellIterator(), and NBS< executionSpace >::NBSLevel0_.

Here is the call graph for this function:

◆ numLevels()

int32 numLevels ( ) const
inline

Definition at line 142 of file NBS.hpp.

◆ getCellsLevels()

Vector<Cells> getCellsLevels ( ) const
inline

Definition at line 147 of file NBS.hpp.

References cells< indexType >::getCells(), and NBS< executionSpace >::NBSLevel0_.

Here is the call graph for this function:

◆ getCells()

auto getCells ( ) const
inline

Definition at line 152 of file NBS.hpp.

References cells< indexType >::getCells(), and NBS< executionSpace >::NBSLevel0_.

Here is the call graph for this function:

◆ objectSizeChanged()

bool objectSizeChanged ( int32  newSize)
inline

Definition at line 157 of file NBS.hpp.

References mapperNBS< executionSpace >::checkAllocateNext(), and NBS< executionSpace >::NBSLevel0_.

Here is the call graph for this function:

◆ broadSearch() [1/2]

bool broadSearch ( PairsContainer &  pairs,
range  activeRange,
bool  force = false 
)
inline

◆ broadSearch() [2/2]

bool broadSearch ( PairsContainer &  pairs,
range  activeRange,
IncludeFunction  incld,
bool  force = false 
)
inline

Member Data Documentation

◆ sizeRatio_

real sizeRatio_ = 1.0
protected

Definition at line 55 of file NBS.hpp.

◆ updateFrequency_

int32 updateFrequency_ = 1
protected

◆ currentIter_

◆ performedSearch_

bool performedSearch_ = false
protected

◆ NBSLevel0_


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