www.cemf.ir
mapperNBS Class Reference
+ Inheritance diagram for mapperNBS:
+ Collaboration diagram for mapperNBS:

Classes

class  CellIterator
 

Public Types

using HeadType = deviceViewType3D< uint32 >
 
using NextType = deviceViewType1D< uint32 >
 

Public Member Functions

 TypeInfoNV ("mapperNBS")
 
INLINE_FUNCTION_HD mapperNBS ()=default
 
 mapperNBS (const box &domain, real cellSize, const deviceViewType1D< realx3 > &pointPos, const pFlagTypeDevice &flags, bool adjustableBox, bool nextOwner=true)
 
INLINE_FUNCTION_HD mapperNBS (const mapperNBS &)=default
 
INLINE_FUNCTION_HD mapperNBS (mapperNBS &&)=default
 
INLINE_FUNCTION_HD mapperNBSoperator= (const mapperNBS &)=default
 
INLINE_FUNCTION_HD mapperNBSoperator= (mapperNBS &&)=default
 
INLINE_FUNCTION_HD ~mapperNBS ()=default
 
auto getCellIterator () const
 
const auto & getDomainCells () const
 
const auto & getSearchCells () const
 
bool build (const deviceViewType1D< realx3 > &pointPos, const pFlagTypeDevice &flags, bool &searchBoxChanged)
 

Static Public Attributes

static constexpr uint32 NoPos = 0xFFFFFFFF
 

Private Member Functions

bool setSearchBox (const deviceViewType1D< realx3 > &pointPos, const pFlagTypeDevice &flags, real cellSize)
 
void allocateArrays (rangeU32 nextRng)
 
void checkAllocateNext (rangeU32 nextRng)
 
void nullifyHead ()
 
void nullifyNext (rangeU32 nextRng)
 

Private Attributes

cells domainCells_
 
cells searchCells_
 
HeadType head_ {"NBS::head",1,1,1}
 
NextType next_ {"NBS::next", 1}
 
uint32 nextCapacity_ = 0
 
uint32 lastCheckForBox_ = 0
 
uint32 buildCount_ = 0
 
bool adjustableBox_ = false
 
bool nextOwner_ = true
 

Static Private Attributes

static uint32 checkInterval_ = 1000
 
static real enlargementFactor_ = 1.1
 

Detailed Description

Definition at line 34 of file mapperNBS.hpp.

Member Typedef Documentation

◆ HeadType

Definition at line 38 of file mapperNBS.hpp.

◆ NextType

Definition at line 40 of file mapperNBS.hpp.

Constructor & Destructor Documentation

◆ mapperNBS() [1/4]

◆ mapperNBS() [2/4]

mapperNBS ( const box domain,
real  cellSize,
const deviceViewType1D< realx3 > &  pointPos,
const pFlagTypeDevice flags,
bool  adjustableBox,
bool  nextOwner = true 
)

Definition at line 105 of file mapperNBS.cpp.

References pointFlag< ExecutionSpace >::activeRange(), mapperNBS::allocateArrays(), and mapperNBS::setSearchBox().

+ Here is the call graph for this function:

◆ mapperNBS() [3/4]

INLINE_FUNCTION_HD mapperNBS ( const mapperNBS )
default

◆ mapperNBS() [4/4]

◆ ~mapperNBS()

Member Function Documentation

◆ setSearchBox()

bool setSearchBox ( const deviceViewType1D< realx3 > &  pointPos,
const pFlagTypeDevice flags,
real  cellSize 
)
private

Definition at line 29 of file mapperNBS.cpp.

References END_INFO, pFlow::mapperNBSKernels::findPointExtends(), INFORMATION, pFlow::algorithms::KOKKOS::max(), box::maxPoint(), pFlow::algorithms::KOKKOS::min(), and box::minPoint().

Referenced by mapperNBS::mapperNBS().

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

◆ allocateArrays()

void allocateArrays ( rangeU32  nextRng)
private

Definition at line 74 of file mapperNBS.cpp.

References mapperNBS::checkAllocateNext(), mapperNBS::head_, mapperNBS::NoPos, mapperNBS::nullifyNext(), cells::nx(), cells::ny(), cells::nz(), pFlow::reallocFill(), and mapperNBS::searchCells_.

Referenced by mapperNBS::mapperNBS().

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

◆ checkAllocateNext()

void checkAllocateNext ( rangeU32  nextRng)
private

Definition at line 81 of file mapperNBS.cpp.

References Range< T >::end(), and pFlow::reallocNoInit().

Referenced by mapperNBS::allocateArrays().

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

◆ nullifyHead()

void nullifyHead ( )
private

Definition at line 94 of file mapperNBS.cpp.

References pFlow::fill().

+ Here is the call graph for this function:

◆ nullifyNext()

void nullifyNext ( rangeU32  nextRng)
private

Definition at line 99 of file mapperNBS.cpp.

References pFlow::fill().

Referenced by mapperNBS::allocateArrays().

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

◆ TypeInfoNV()

TypeInfoNV ( "mapperNBS"  )

◆ operator=() [1/2]

INLINE_FUNCTION_HD mapperNBS& operator= ( const mapperNBS )
default

◆ operator=() [2/2]

INLINE_FUNCTION_HD mapperNBS& operator= ( mapperNBS &&  )
default

◆ getCellIterator()

auto getCellIterator ( ) const
inline

Definition at line 150 of file mapperNBS.hpp.

References mapperNBS::head_, and mapperNBS::next_.

Referenced by NBS::getCellIterator(), and NBS::impl_broadSearch().

+ Here is the caller graph for this function:

◆ getDomainCells()

const auto& getDomainCells ( ) const
inline

Definition at line 155 of file mapperNBS.hpp.

References mapperNBS::domainCells_.

Referenced by NBS::getDomainCellsLevels().

+ Here is the caller graph for this function:

◆ getSearchCells()

const auto& getSearchCells ( ) const
inline

Definition at line 160 of file mapperNBS.hpp.

References mapperNBS::searchCells_.

Referenced by NBS::impl_broadSearch().

+ Here is the caller graph for this function:

◆ build()

bool build ( const deviceViewType1D< realx3 > &  pointPos,
const pFlagTypeDevice flags,
bool &  searchBoxChanged 
)

Member Data Documentation

◆ NoPos

constexpr uint32 NoPos = 0xFFFFFFFF
staticconstexpr

Definition at line 43 of file mapperNBS.hpp.

Referenced by mapperNBS::allocateArrays().

◆ domainCells_

cells domainCells_
private

Definition at line 82 of file mapperNBS.hpp.

Referenced by mapperNBS::getDomainCells().

◆ searchCells_

cells searchCells_
private

Definition at line 84 of file mapperNBS.hpp.

Referenced by mapperNBS::allocateArrays(), and mapperNBS::getSearchCells().

◆ head_

HeadType head_ {"NBS::head",1,1,1}
private

Definition at line 86 of file mapperNBS.hpp.

Referenced by mapperNBS::allocateArrays(), and mapperNBS::getCellIterator().

◆ next_

NextType next_ {"NBS::next", 1}
private

Definition at line 88 of file mapperNBS.hpp.

Referenced by mapperNBS::getCellIterator().

◆ nextCapacity_

uint32 nextCapacity_ = 0
private

Definition at line 90 of file mapperNBS.hpp.

◆ lastCheckForBox_

uint32 lastCheckForBox_ = 0
private

Definition at line 92 of file mapperNBS.hpp.

◆ buildCount_

uint32 buildCount_ = 0
private

Definition at line 94 of file mapperNBS.hpp.

◆ adjustableBox_

bool adjustableBox_ = false
private

Definition at line 96 of file mapperNBS.hpp.

◆ nextOwner_

bool nextOwner_ = true
private

Definition at line 98 of file mapperNBS.hpp.

◆ checkInterval_

pFlow::uint32 checkInterval_ = 1000
staticprivate

Definition at line 100 of file mapperNBS.hpp.

◆ enlargementFactor_

pFlow::real enlargementFactor_ = 1.1
staticprivate

Definition at line 102 of file mapperNBS.hpp.


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