# PhasicFlow: boundaryContactSearch 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.

boundaryContactSearch Class Reference
Inheritance diagram for boundaryContactSearch:
[legend]
Collaboration diagram for boundaryContactSearch:
[legend]

## Public Member Functions

| TypeInfo ("boundaryContactSearch<none>")
| boundaryContactSearch (const dictionary &dict, const boundaryBase &boundary, const contactSearch &cSearch)
| create_vCtor (boundaryContactSearch, boundaryBase,(const dictionary &dict, const boundaryBase &boundary, const contactSearch &cSearch),(dict, boundary, cSearch))
| add_vCtor (boundaryContactSearch, boundaryContactSearch, boundaryBase)
const contactSearch & | cSearch () const
bool | hearChanges (real t, real dt, uint32 iter, const message &msg, const anyList &varList) override
virtual bool | broadSearch (uint32 iter, real t, real dt, csPairContainerType &ppPairs, csPairContainerType &pwPairs, bool force=false)
Public Member Functions inherited from generalBoundary
| TypeInfo ("generalBoundary")
| generalBoundary (const boundaryBase &boundary, const pointStructure &pStruct, const word &dataType, const word &option)
| ~generalBoundary () override=default
uint32 | thisBoundaryIndex () const
uint32 | mirrorBoundaryindex () const
auto | size () const
auto | capacity () const
auto | neighborProcSize () const
int | neighborProcessorNo () const
int | thisProcessorNo () const
const auto & | boundary () const
const auto & | indexList () const
const auto & | mirrorBoundary () const
const word & | boundaryName () const
const word & | type () const
const auto & | pStruct () const
bool | isBoundaryMaster () const
const Time & | time () const
Public Member Functions inherited from observer
| observer (message msg)
| observer (const subscriber *subscrbr, message msg)
virtual | ~observer ()
void | subscribe (const subscriber *subscrbr, message msg)
observer & | addEvent (message::EVENT event)
bool | subscribed () const
void | addToSubscriber (const subscriber *subscrbr, message msg)
bool | addToSubscriber (const subscriber &subscriber)

## Static Public Member Functions

static uniquePtr< boundaryContactSearch > | create (const dictionary &dict, const boundaryBase &boundary, const contactSearch &cSearch)
Static Public Member Functions inherited from observer
static constexpr auto | numEvents ()

## Private Attributes

const contactSearch & | contactSearch_
uint32 | updateInterval_
| update interval in terms of iteration numebr More...
uint32 | lastUpdated_ = 0
| last iteration number which contact search has been performed More...
bool | performedSearch_ = false
| performed search? More...

## Detailed Description

Definition at line 32 of file boundaryContactSearch.hpp.

## Constructor & Destructor Documentation

## boundaryContactSearch()

boundaryContactSearch | ( | const dictionary & | dict,
|  | const boundaryBase & | boundary,
|  | const contactSearch & | cSearch
| ) |  |

Definition at line 24 of file boundaryContactSearch.cpp.

## Member Function Documentation

## TypeInfo()

TypeInfo | ( | "boundaryContactSearch<none>" |  | ) |

## create_vCtor()

create_vCtor | ( | boundaryContactSearch | ,
|  | boundaryBase | ,
|  | (const dictionary &dict, const boundaryBase &boundary, const contactSearch &cSearch) | ,
|  | (dict, boundary, cSearch) |
| ) |  |

## add_vCtor()

add_vCtor | ( | boundaryContactSearch | ,
|  | boundaryContactSearch | ,
|  | boundaryBase |
| ) |  |

## cSearch()

const contactSearch& cSearch | ( |  | ) | const

inline

Definition at line 70 of file boundaryContactSearch.hpp.

References boundaryContactSearch::contactSearch_.

## hearChanges()

bool hearChanges | ( | real | t,
|  | real | dt,
|  | uint32 | iter,
|  | const message & | msg,
|  | const anyList & | varList
| ) |  |

inlineoverridevirtual

Implements observer.

Definition at line 75 of file boundaryContactSearch.hpp.

References message::BNDR_RESET, and message::equivalentTo().

Here is the call graph for this function:

## broadSearch()

virtual bool broadSearch | ( | uint32 | iter,
|  | real | t,
|  | real | dt,
|  | csPairContainerType & | ppPairs,
|  | csPairContainerType & | pwPairs,
|  | bool | force = `false`
| ) |  |

inlinevirtual

Reimplemented in periodicBoundaryContactSearch.

Definition at line 90 of file boundaryContactSearch.hpp.

## create()

pFlow::uniquePtr< pFlow::boundaryContactSearch > create | ( | const dictionary & | dict,
|  | const boundaryBase & | boundary,
|  | const contactSearch & | cSearch
| ) |  |

static

Definition at line 39 of file boundaryContactSearch.cpp.

References pFlow::angleBracketsNames2(), pFlow::endl(), fatalError, fatalExit, Green_Text, boundaryBase::name(), pFlow::pFlowProcessors(), pFlow::pOutput, pFlow::printKeys(), iOstream::space(), and boundaryBase::type().

Referenced by boundaryContactSearchList::setList().

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

## Member Data Documentation

## contactSearch_

const contactSearch& contactSearch_

private

Definition at line 36 of file boundaryContactSearch.hpp.

Referenced by boundaryContactSearch::cSearch().

## updateInterval_

uint32 updateInterval_

private

update interval in terms of iteration numebr

Definition at line 39 of file boundaryContactSearch.hpp.

## lastUpdated_

uint32 lastUpdated_ = 0

private

last iteration number which contact search has been performed

Definition at line 42 of file boundaryContactSearch.hpp.

## performedSearch_

bool performedSearch_ = false

private

performed search?

Definition at line 45 of file boundaryContactSearch.hpp.

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

- src/Interaction/contactSearch/boundaries/boundaryContactSearch/boundaryContactSearch.hpp
- src/Interaction/contactSearch/boundaries/boundaryContactSearch/boundaryContactSearch.cpp