# PhasicFlow: reflectiveBoundaryField< T, MemorySpace > Class Template 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.

reflectiveBoundaryField< T, MemorySpace > Class Template Reference
Inheritance diagram for reflectiveBoundaryField< T, MemorySpace >:
[legend]
Collaboration diagram for reflectiveBoundaryField< T, MemorySpace >:
[legend]

## Public Types

using | ReflectiveBoundaryFieldType = reflectiveBoundaryField< T, MemorySpace >
using | BoundaryFieldType = boundaryField< T, MemorySpace >
using | InternalFieldType = typename BoundaryFieldType::InternalFieldType
using | memory_space = typename BoundaryFieldType::memory_space
using | execution_space = typename BoundaryFieldType::execution_space
Public Types inherited from boundaryField< T, void >
using | BoundaryFieldType = boundaryField< T, void >
using | InternalFieldType = internalField< T, void >
using | memory_space = typename InternalFieldType::memory_space
using | execution_space = typename InternalFieldType::execution_space
using | FieldAccessType = scatteredFieldAccess< T, memory_space >
using | ProcVectorType = VectorSingle< T, void >

## Public Member Functions

| TypeInfoTemplate211 ("boundaryField","reflective", T, memory_space::name())
| reflectiveBoundaryField (const boundaryBase &boundary, const pointStructure &pStruct, InternalFieldType &internal)
| add_vCtor (BoundaryFieldType, ReflectiveBoundaryFieldType, boundaryBase)
bool | hearChanges (real t, real dt, uint32 iter, const message &msg, const anyList &varList) override
Public Member Functions inherited from boundaryField< T, void >
| TypeInfoTemplate211 ("boundaryField","none", T, memory_space::name())
| boundaryField (const boundaryBase &boundary, const pointStructure &pStruct, InternalFieldType &internal)
| create_vCtor (boundaryField, boundaryBase,(const boundaryBase &boundary, const pointStructure &pStruct, InternalFieldType &internal),(boundary, pStruct, internal))
| add_vCtor (BoundaryFieldType, BoundaryFieldType, boundaryBase)
bool | hearChanges (real t, real dt, uint32 iter, const message &msg, const anyList &varList) override
InternalFieldType & | internal ()
const InternalFieldType & | internal () const
word | fieldName () const
word | name () const
FieldAccessType | thisField () const
FieldAccessType | mirrorField () const
virtual ProcVectorType & | neighborProcField ()
virtual const ProcVectorType & | neighborProcField () const
virtual void | fill (const T &val)
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)

## Additional Inherited Members

Static Public Member Functions inherited from boundaryField< T, void >
static uniquePtr< boundaryField > | create (const boundaryBase &boundary, const pointStructure &pStruct, InternalFieldType &internal)
Static Public Member Functions inherited from observer
static constexpr auto | numEvents ()

## Detailed Description

### template<class T, class MemorySpace = void>
class pFlow::reflectiveBoundaryField< T, MemorySpace >

Definition at line 29 of file reflectiveBoundaryField.hpp.

## Member Typedef Documentation

## ReflectiveBoundaryFieldType

using ReflectiveBoundaryFieldType = reflectiveBoundaryField<T, MemorySpace>

Definition at line 35 of file reflectiveBoundaryField.hpp.

## BoundaryFieldType

using BoundaryFieldType = boundaryField<T, MemorySpace>

Definition at line 37 of file reflectiveBoundaryField.hpp.

## InternalFieldType

using InternalFieldType = typename BoundaryFieldType::InternalFieldType

Definition at line 39 of file reflectiveBoundaryField.hpp.

## memory_space

using memory_space = typename BoundaryFieldType::memory_space

Definition at line 41 of file reflectiveBoundaryField.hpp.

## execution_space

using execution_space = typename BoundaryFieldType::execution_space

Definition at line 43 of file reflectiveBoundaryField.hpp.

## Constructor & Destructor Documentation

## reflectiveBoundaryField()

reflectiveBoundaryField | ( | const boundaryBase & | boundary,
|  | const pointStructure & | pStruct,
|  | InternalFieldType & | internal
| ) |  |

Definition at line 22 of file reflectiveBoundaryField.cpp.

## Member Function Documentation

## TypeInfoTemplate211()

TypeInfoTemplate211 | ( | "boundaryField" | ,
|  | "reflective" | ,
|  | T | ,
|  | memory_space::name() |
| ) |  |

## add_vCtor()

add_vCtor | ( | BoundaryFieldType | ,
|  | ReflectiveBoundaryFieldType | ,
|  | boundaryBase |
| ) |  |

## hearChanges()

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

inlineoverridevirtual

Implements observer.

Definition at line 66 of file reflectiveBoundaryField.hpp.

References message::BNDR_DELETE, message::equivalentTo(), and boundaryField< T, MemorySpace >::hearChanges().

Here is the call graph for this function:

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

- src/phasicFlow/containers/pointField/boundaryField/reflectiveBoundaryField/reflectiveBoundaryField.hpp
- src/phasicFlow/containers/pointField/boundaryField/reflectiveBoundaryField/reflectiveBoundaryField.cpp