# PhasicFlow: ppwBndryContactSearch Class Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

ppwBndryContactSearch Class Reference
Collaboration diagram for ppwBndryContactSearch:
[legend]

## Public Types

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

## Public Member Functions

| ppwBndryContactSearch (const box &domain, real cellSize, real sizeRatio=1.0)
bool | broadSearchPP (csPairContainerType &ppPairs, const deviceScatteredFieldAccess< realx3 > &points, const deviceScatteredFieldAccess< real > &diams, const deviceScatteredFieldAccess< realx3 > &mirrorPoints, const deviceScatteredFieldAccess< real > &mirrorDiams, const realx3 &transferVec)
const auto & | searchCells () const
real | sizeRatio () const

## Private Member Functions

void | checkAllocateNext (uint32 n)
void | nullifyHead ()
void | nullifyNext (uint32 n)
void | buildList (const deviceScatteredFieldAccess< realx3 > &points)

## Private Attributes

cells | searchCells_
HeadType | head_ { "periodic::head", 1, 1, 1 }
NextType | next_ { "periodic::next", 1 }
real | sizeRatio_ = 1.0
uint32 | nextCapacity_ = 0

## Detailed Description

Definition at line 31 of file ppwBndryContactSearch.hpp.

## Member Typedef Documentation

## HeadType

using HeadType = deviceViewType3D<uint32>

Definition at line 34 of file ppwBndryContactSearch.hpp.

## NextType

using NextType = deviceViewType1D<uint32>

Definition at line 36 of file ppwBndryContactSearch.hpp.

## Constructor & Destructor Documentation

## ppwBndryContactSearch()

ppwBndryContactSearch | ( | const box & | domain,
|  | real | cellSize,
|  | real | sizeRatio = `1.0`
| ) |  |

Definition at line 44 of file ppwBndryContactSearch.cpp.

## Member Function Documentation

## checkAllocateNext()

void checkAllocateNext | ( | uint32 | n | ) |

private

Definition at line 7 of file ppwBndryContactSearch.cpp.

References n, ppwBndryContactSearch::next_, ppwBndryContactSearch::nextCapacity_, and pFlow::reallocNoInit().

Here is the call graph for this function:

## nullifyHead()

void nullifyHead | ( |  | ) |

private

Definition at line 16 of file ppwBndryContactSearch.cpp.

References pFlow::fill().

Here is the call graph for this function:

## nullifyNext()

void nullifyNext | ( | uint32 | n | ) |

private

Definition at line 21 of file ppwBndryContactSearch.cpp.

References pFlow::fill(), and n.

Here is the call graph for this function:

## buildList()

void buildList | ( | const deviceScatteredFieldAccess< realx3 > & | points | ) |

private

Definition at line 26 of file ppwBndryContactSearch.cpp.

References pFlow::pweBndryContactSearchKernels::buildNextHead(), scatteredFieldAccess< T, MemorySpace >::empty(), n, and scatteredFieldAccess< T, MemorySpace >::size().

Here is the call graph for this function:

## broadSearchPP()

bool broadSearchPP | ( | csPairContainerType & | ppPairs,
|  | const deviceScatteredFieldAccess< realx3 > & | points,
|  | const deviceScatteredFieldAccess< real > & | diams,
|  | const deviceScatteredFieldAccess< realx3 > & | mirrorPoints,
|  | const deviceScatteredFieldAccess< real > & | mirrorDiams,
|  | const realx3 & | transferVec
| ) |  |

Definition at line 58 of file ppwBndryContactSearch.cpp.

References pFlow::pweBndryContactSearchKernels::broadSearchPP(), unsortedPairs< executionSpace, idType >::capacity(), END_INFO, unsortedPairs< executionSpace, idType >::increaseCapacityBy(), INFORMATION, and pFlow::max().

Here is the call graph for this function:

## searchCells()

const auto& searchCells | ( |  | ) | const

inline

Definition at line 73 of file ppwBndryContactSearch.hpp.

References ppwBndryContactSearch::searchCells_.

## sizeRatio()

real sizeRatio | ( |  | ) | const

inline

Definition at line 78 of file ppwBndryContactSearch.hpp.

References ppwBndryContactSearch::sizeRatio_.

## Member Data Documentation

## searchCells_

cells searchCells_

private

Definition at line 40 of file ppwBndryContactSearch.hpp.

Referenced by ppwBndryContactSearch::searchCells().

## head_

HeadType head_ { "periodic::head", 1, 1, 1 }

private

Definition at line 42 of file ppwBndryContactSearch.hpp.

## next_

NextType next_ { "periodic::next", 1 }

private

Definition at line 44 of file ppwBndryContactSearch.hpp.

Referenced by ppwBndryContactSearch::checkAllocateNext().

## sizeRatio_

real sizeRatio_ = 1.0

private

Definition at line 46 of file ppwBndryContactSearch.hpp.

Referenced by ppwBndryContactSearch::sizeRatio().

## nextCapacity_

uint32 nextCapacity_ = 0

private

Definition at line 48 of file ppwBndryContactSearch.hpp.

Referenced by ppwBndryContactSearch::checkAllocateNext().

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

- src/Interaction/contactSearch/boundaries/periodicBoundaryContactSearch/ppwBndryContactSearch.hpp
- src/Interaction/contactSearch/boundaries/periodicBoundaryContactSearch/ppwBndryContactSearch.cpp