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

particleIdHandler Class Referenceabstract
Inheritance diagram for particleIdHandler:
[legend]
Collaboration diagram for particleIdHandler:
[legend]

## Public Member Functions

| ClassInfo ("particleIdHandler")
| class info More...
| particleIdHandler (pointStructure &pStruct)
| create_vCtor (particleIdHandler, pointStructure,(pointStructure &pStruct),(pStruct))
| ~particleIdHandler () override=default
virtual Pair< uint32, uint32 > | getIdRange (uint32 nNewParticles)=0
virtual uint32 | maxId () const =0
bool | hearChanges (real t, real dt, uint32 iter, const message &msg, const anyList &varList) override
Public Member Functions inherited from pointField< T, MemorySpace >
| TypeInfoTemplate111 ("pointField", T, VectorType::memoerySpaceName())
| pointField (const objectFile &objf, pointStructure &pStruct, const T &defVal)
| pointField (const objectFile &objf, repository *owner, pointStructure &pStruct, const T &defVal)
| pointField (const objectFile &objf, pointStructure &pStruct, const T &defVal, const T &val)
const word & | name () const final
const auto & | internal () const
void | updateBoundaries (DataDirection direction) const
void | updateBoundariesSlaveToMasterIfRequested ()
| update boundaries if it is requested previousely (slave to master). More...
const auto & | boundaryFields () const
const auto & | BoundaryField (uint32 i) const
const pointStructure & | pStruct () const
void | fill (const T &val)
bool | readPointField (iIstream &is, const IOPattern &iop)
bool | writePointField (iOstream &os, const IOPattern &iop) const
bool | read (iIstream &is, const IOPattern &iop) override
bool | write (iOstream &os, const IOPattern &iop) const override
| TypeInfoTemplateNV2 ("pointField", T, VectorType::memoerySpaceName())
| pointField (const pointStructure &pStruct, const T &defVal, bool subscribe=true)
| pointField (const pointStructure &pStruct, const T &val, const T &defVal, bool subscribe=true)
| pointField (const pointField &src, bool subscribe)
| pointField (const pointField &src)
| pointField (pointField &&src)=delete
pointField & | operator= (const pointField &rhs)
pointField & | operator= (pointField &&)=delete
uniquePtr< pointFieldType > | clone () const
pointFieldType * | clonePtr () const
const pointStructure & | pStruct () const
INLINE_FUNCTION_H bool | allActive () const
INLINE_FUNCTION_H bool | isActive (label i) const
const auto & | pointFlag () const
range | activeRange () const
bool | update (const eventMessage &msg)
bool | readPointField (iIstream &is)
bool | writePointField (iOstream &os) const
bool | read (iIstream &is)
bool | write (iOstream &os) const
Public Member Functions inherited from IOobject
virtual word | typeName () const =0
| IOobject (const objectFile &objf, const IOPattern &iop, repository *owner)
| ~IOobject () override
| IOobject (const IOobject &src)=delete
| IOobject (IOobject &&src)=delete
const IOPattern & | ioPattern () const
const repository * | owner () const override
repository * | owner ()
repository * | releaseOwner (bool fromOwner=false)
bool | isIncluded (const word &objName) const override
bool | isExcluded (const word &objName) const override
bool | readObject (bool rdHdr=true)
bool | writeObject () const
bool | readObject (iIstream &is, bool rdHdr=true)
bool | writeObject (iOstream &os) const
Public Member Functions inherited from IOfileHeader
| IOfileHeader (const objectFile &objf)
const word & | objectName () const
const word & | objectType () const
fileSystem | path () const
bool | outFileBinary () const
bool | inFileBinary () const
bool | headerOk (bool silent=false)
bool | implyRead () const
| Imply read. More...
bool | implyWrite () const
| Imply write. More...
bool | fileExist () const
| Check if file exists. More...
bool | readIfPresent () const
| Check read if present. More...
bool | writeHeader () const
| Check if the header should be written to file True: on master + implyWrite + readWriteHeader = true False: otherwise. More...
bool | writeHeader (iOstream &os, const word &typeName, bool forceWrite=false) const
| Write the header to the file , typeName comes from caller. More...
bool | writeHeader (iOstream &os, bool forceWrite=false) const
| Write the header to the file, typeName comes from the one read from file. More...
bool | readHeader () const
| Check if header should be read from file. More...
bool | readHeader (iIstream &is, bool silent=false)
| Read the header in the file. More...
bool | writeBanner (iOstream &os) const
| write the banner More...
bool | writeSeparator (iOstream &os) const
| wirte a separator line More...
Public Member Functions inherited from objectFile
| objectFile (const word &name)
| objectFile (const word &name, const fileSystem &localPath, const readFlag &rf=readFlag::READ_NEVER, const writeFlag &wf=writeFlag::WRITE_NEVER, bool rwHeader=true)
| objectFile (const objectFile &src)=default
| objectFile (objectFile &&src)=default
objectFile & | operator= (const objectFile &rhs)=default
objectFile & | operator= (objectFile &&rhs)=default
virtual | ~objectFile ()=default
virtual const fileSystem & | localPath () const
readFlag | rFlag () const
writeFlag | wFlag () const
bool | isReadAlways () const
bool | isReadNever () const
bool | isReadIfPresent () const
bool | isWriteAlways () const
bool | isWriteNever () const
bool | readWriteHeader () const
Public Member Functions inherited from internalField< T, void >
| internalField (const word &name, const internalPoints &internal, const T &defVal)
| internalField (const word &name, const internalPoints &internal, const T &defVal, const T &val)
const auto & | deviceViewAll () const
auto | deviceView () const
auto | hostView () const
const FieldType & | field () const
FieldType & | field ()
const pFlagTypeDevice & | activePointsMaskDevice () const
const pFlagTypeHost & | activePointsMaskHost () const
FieldTypeHost | activeValuesHost () const
auto | size () const
auto | capacity () const
word | name () const
word | fieldKey () const
const T & | defaultValue () const
rangeU32 | activeRange () const
auto | isAllActive () const
void | fillInternal (const T &val)
bool | insertSetElement (uint32IndexContainer indices, const T &val)
const Time & | time () const
bool | hearChanges (real t, real dt, uint32 iter, const message &msg, const anyList &varList) override
bool | write (iOstream &os, const IOPattern &iop) const
| TypeInfoTemplateNV2 ("pointField", T, VectorType::memoerySpaceName())
| pointField (const objectFile &objf, pointStructure &pStruct, const T &defVal)
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< particleIdHandler > | create (pointStructure &pStruct)
Static Public Member Functions inherited from observer
static constexpr auto | numEvents ()

## Private Member Functions

virtual bool | initialIdCheck ()=0

## Additional Inherited Members

Public Types inherited from pointField< T, MemorySpace >
using | PointFieldType = pointField< T, MemorySpace >
using | InternalFieldType = internalField< T, MemorySpace >
using | boundaryFieldListType = boundaryFieldList< T, MemorySpace >
using | FieldType = typename InternalFieldType::FieldType
using | VectorType = typename InternalFieldType::VectorType
using | memory_space = typename InternalFieldType::memory_space
using | execution_space = typename InternalFieldType::execution_space
using | pointFieldType = pointField< VectorField, T, MemorySpace >
using | FieldType = Field< VectorField, T, MemorySpace >
using | VectorType = typename FieldType::VectorType
using | iterator = typename FieldType::iterator
using | constIterator = typename FieldType::constIterator
using | reference = typename FieldType::reference
using | constReference = typename FieldType::constReference
using | valueType = typename FieldType::valueType
using | pointer = typename FieldType::pointer
using | constPointer = typename FieldType::constPointer
Public Types inherited from objectFile
enum | readFlag { READ_ALWAYS, READ_NEVER, READ_IF_PRESENT }
enum | writeFlag { WRITE_ALWAYS, WRITE_NEVER }
Public Types inherited from internalField< T, void >
using | InternalFieldType = internalField< T, void >
using | FieldType = Field< T, void >
using | FieldType = Field< VectorField, T, void >
using | FieldTypeHost = Field< T, HostSpace >
using | VectorType = typename FieldType::VectorType
using | VectorType = typename FieldType::VectorType
using | memory_space = typename FieldType::memory_space
using | execution_space = typename FieldType::execution_space
using | pointFieldType = pointField< VectorField, T, void >
using | boundaryFieldListType = boundaryFieldList< VectorField, T, void >
using | iterator = typename FieldType::iterator
using | const_iterator = typename FieldType::const_iterator
using | reference = typename FieldType::reference
using | const_reference = typename FieldType::const_reference
using | value_type = typename FieldType::value_type
using | pointer = typename FieldType::pointer
using | const_pointer = typename FieldType::const_pointer
Protected Member Functions inherited from IOfileHeader
uniquePtr< iFstream > | inStream () const
uniquePtr< oFstream > | outStream () const
uniquePtr< oFstream > | dummyOutStream () const
Protected Member Functions inherited from internalField< T, void >
bool | insert (const anyList &varList)
bool | rearrange (const anyList &varList)
Protected Attributes inherited from pointField< T, MemorySpace >
T | defaultValue_
Protected Attributes inherited from IOfileHeader
word | objectName_
word | objectType_
word | fileFormat_ = "ASCII"
| file format read from file More...
Protected Attributes inherited from internalField< T, void >
FieldType | field_
| Field. More...
T | defaultValue_
| value when a new item is added to field More...
const internalPoints & | internalPoints_
| const ref to internal points More...
boundaryFieldListType | boundaryFieldList_
| list of boundaries More...
const pointStructure & | pStruct_
| refrence to point structure More...
Static Protected Attributes inherited from internalField< T, void >
static const message | defaultMessage_

## Detailed Description

Definition at line 30 of file particleIdHandler.hpp.

## Constructor & Destructor Documentation

## particleIdHandler()

particleIdHandler | ( | pointStructure & | pStruct | ) |

explicit

Definition at line 23 of file particleIdHandler.cpp.

## ~particleIdHandler()

~particleIdHandler | ( |  | ) |

overridedefault

## Member Function Documentation

## initialIdCheck()

virtual bool initialIdCheck | ( |  | ) |

privatepure virtual

Implemented in regularParticleIdHandler.

## ClassInfo()

ClassInfo | ( | "particleIdHandler" |  | ) |

class info

## create_vCtor()

create_vCtor | ( | particleIdHandler | ,
|  | pointStructure | ,
|  | (pointStructure &pStruct) | ,
|  | (pStruct) |
| ) |  |

## getIdRange()

virtual Pair<uint32, uint32> getIdRange | ( | uint32 | nNewParticles | ) |

pure virtual

Implemented in regularParticleIdHandler.

## maxId()

virtual uint32 maxId | ( |  | ) | const

pure virtual

Implemented in regularParticleIdHandler.

## hearChanges()

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

overridevirtual

Implements observer.

Definition at line 43 of file particleIdHandler.cpp.

References message::equivalentTo(), message::eventName(), pFlow::fillSequence(), anyList::getObject(), internalField< T, void >::hearChanges(), message::ITEM_INSERT, and indexContainer< IndexType >::size().

Here is the call graph for this function:

## create()

pFlow::uniquePtr< pFlow::particleIdHandler > create | ( | pointStructure & | pStruct | ) |

static

Definition at line 74 of file particleIdHandler.cpp.

References pFlow::angleBracketsNames(), END_REPORT, fatalError, fatalExit, Green_Text, pFlow::pFlowProcessors(), pFlow::printKeys(), pStruct, and REPORT.

Here is the call graph for this function:

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

- src/Particles/particles/particleIdHandler/particleIdHandler.hpp
- src/Particles/particles/particleIdHandler/particleIdHandler.cpp