# PhasicFlow: multiGridNBS< executionSpace > Class Template Reference

multiGridNBS< executionSpace > Class Template Reference

## Public Types

using | NBSLevelsType = NBSLevels< executionSpace >
using | cellIterator = typename NBSLevelsType::cellIterator
using | IdType = typename NBSLevelsType::IdType
using | IndexType = typename NBSLevelsType::IndexType
using | Cells = typename NBSLevelsType::Cells
using | CellType = typename Cells::CellType
using | execution_space = typename NBSLevelsType::execution_space
using | memory_space = typename NBSLevelsType::memory_space

## Public Member Functions

| TypeInfoNV ("multiGridNBS")
| multiGridNBS (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 | multiGridNBS (const multiGridNBS &)=default
INLINE_FUNCTION_HD multiGridNBS & | operator= (const multiGridNBS &)=default
INLINE_FUNCTION_HD | ~multiGridNBS ()=default
bool | enterBoadSearch () const
bool | performedSearch () const
int32 | numLevels () const
auto | getCellsLevels () const
auto | getCells (int32 lvl) const
auto | getCellIterator (int32 lvl) 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
NBSLevelsType | NBSLevels_

## Private Member Functions

bool | performSearch ()

## Detailed Description

### template<typename executionSpace>
class pFlow::multiGridNBS< executionSpace >

Definition at line 32 of file multiGridNBS.hpp.

## Member Typedef Documentation

## NBSLevelsType

using NBSLevelsType = NBSLevels<executionSpace>

Definition at line 36 of file multiGridNBS.hpp.

## cellIterator

using cellIterator = typename NBSLevelsType::cellIterator

Definition at line 38 of file multiGridNBS.hpp.

## IdType

using IdType = typename NBSLevelsType::IdType

Definition at line 40 of file multiGridNBS.hpp.

## IndexType

using IndexType = typename NBSLevelsType::IndexType

Definition at line 42 of file multiGridNBS.hpp.

## Cells

using Cells = typename NBSLevelsType::Cells

Definition at line 44 of file multiGridNBS.hpp.

## CellType

using CellType = typename Cells::CellType

Definition at line 46 of file multiGridNBS.hpp.

## execution_space

using execution_space = typename NBSLevelsType::execution_space

Definition at line 48 of file multiGridNBS.hpp.

## memory_space

using memory_space = typename NBSLevelsType::memory_space

Definition at line 50 of file multiGridNBS.hpp.

## Constructor & Destructor Documentation

## multiGridNBS() [1/2]

multiGridNBS | ( | 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 multiGridNBS.hpp.

## multiGridNBS() [2/2]

INLINE_FUNCTION_HD multiGridNBS | ( | const multiGridNBS< executionSpace > & |  | ) |

default

## ~multiGridNBS()

INLINE_FUNCTION_HD ~multiGridNBS | ( |  | ) |

default

## Member Function Documentation

## performSearch()

bool performSearch | ( |  | ) |

inlineprivate

Definition at line 67 of file multiGridNBS.hpp.

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

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

Here is the caller graph for this function:

## TypeInfoNV()

TypeInfoNV | ( | "multiGridNBS< executionSpace >" |  | ) |

## operator=()

INLINE_FUNCTION_HD multiGridNBS& operator= | ( | const multiGridNBS< executionSpace > & |  | ) |

default

## enterBoadSearch()

bool enterBoadSearch | ( |  | ) | const

inline

Definition at line 123 of file multiGridNBS.hpp.

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

## performedSearch()

bool performedSearch | ( |  | ) | const

inline

Definition at line 128 of file multiGridNBS.hpp.

References multiGridNBS< executionSpace >::performedSearch_.

## numLevels()

int32 numLevels | ( |  | ) | const

inline

Definition at line 133 of file multiGridNBS.hpp.

References multiGridNBS< executionSpace >::NBSLevels_, and NBSLevels< executionSpace >::numLevels().

Referenced by multiGridNBS< executionSpace >::getCellsLevels().

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

## getCellsLevels()

auto getCellsLevels | ( |  | ) | const

inline

Definition at line 138 of file multiGridNBS.hpp.

References NBSLevels< executionSpace >::getCells(), multiGridNBS< executionSpace >::NBSLevels_, and multiGridNBS< executionSpace >::numLevels().

Here is the call graph for this function:

## getCells()

auto getCells | ( | int32 | lvl | ) | const

inline

Definition at line 150 of file multiGridNBS.hpp.

References NBSLevels< executionSpace >::getCells(), and multiGridNBS< executionSpace >::NBSLevels_.

Here is the call graph for this function:

## getCellIterator()

auto getCellIterator | ( | int32 | lvl | ) | const

inline

Definition at line 155 of file multiGridNBS.hpp.

References NBSLevels< executionSpace >::getCellIterator(), and multiGridNBS< executionSpace >::NBSLevels_.

Here is the call graph for this function:

## objectSizeChanged()

bool objectSizeChanged | ( | int32 | newSize | ) |

inline

Definition at line 160 of file multiGridNBS.hpp.

References multiGridNBS< executionSpace >::NBSLevels_.

## broadSearch() [1/2]

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

inline

Definition at line 171 of file multiGridNBS.hpp.

References NBSLevels< executionSpace >::build(), multiGridNBS< executionSpace >::currentIter_, NBSLevels< executionSpace >::findPairs(), multiGridNBS< executionSpace >::NBSLevels_, multiGridNBS< executionSpace >::performedSearch_, and multiGridNBS< executionSpace >::performSearch().

Here is the call graph for this function:

## broadSearch() [2/2]

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

inline

Definition at line 194 of file multiGridNBS.hpp.

References NBSLevels< executionSpace >::build(), multiGridNBS< executionSpace >::currentIter_, NBSLevels< executionSpace >::findPairs(), multiGridNBS< executionSpace >::NBSLevels_, multiGridNBS< executionSpace >::performedSearch_, and multiGridNBS< executionSpace >::performSearch().

Here is the call graph for this function:

## Member Data Documentation

## sizeRatio_

real sizeRatio_ = 1.0

protected

Definition at line 55 of file multiGridNBS.hpp.

## updateFrequency_

int32 updateFrequency_ = 1

protected

Definition at line 57 of file multiGridNBS.hpp.

Referenced by multiGridNBS< executionSpace >::enterBoadSearch(), and multiGridNBS< executionSpace >::performSearch().

## currentIter_

int32 currentIter_ = 0

protected

Definition at line 59 of file multiGridNBS.hpp.

Referenced by multiGridNBS< executionSpace >::broadSearch(), multiGridNBS< executionSpace >::enterBoadSearch(), and multiGridNBS< executionSpace >::performSearch().

## performedSearch_

bool performedSearch_ = false

protected

Definition at line 61 of file multiGridNBS.hpp.

Referenced by multiGridNBS< executionSpace >::broadSearch(), and multiGridNBS< executionSpace >::performedSearch().

## NBSLevels_

NBSLevelsType NBSLevels_

protected

Definition at line 63 of file multiGridNBS.hpp.

Referenced by multiGridNBS< executionSpace >::broadSearch(), multiGridNBS< executionSpace >::getCellIterator(), multiGridNBS< executionSpace >::getCells(), multiGridNBS< executionSpace >::getCellsLevels(), multiGridNBS< executionSpace >::numLevels(), and multiGridNBS< executionSpace >::objectSizeChanged().

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

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