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

insertion Class Reference

Base class for particle insertion. More...

Inheritance diagram for insertion:
[legend]
Collaboration diagram for insertion:
[legend]

## Public Member Functions

| TypeInfo ("insertion")
| Type info. More...
| insertion (particles &prtcl)
| Construct from component. More...
| ~insertion () override=default
| Destructor. More...
bool | isActive () const
| is Insertion active More...
bool | checkForCollision () const
particles & | Particles ()
const particles & | Particles () const
const pointStructure & | pStruct () const
bool | readFromFile () const
const word & | diameterName () const
const word & | velocityName () const
bool | write (iOstream &os, const IOPattern &iop) const override
| write to iOstream More...
bool | write (iOstream &os, const IOPattern &iop) const override
| read from stream More...
Public Member Functions inherited from fileDictionary
| TypeInfo ("fileDictionary")
| fileDictionary (const objectFile &of, repository *owner=nullptr)
| construct an empty dictionary with keyword and make it global/fileDictionary More...
| fileDictionary (const word &keyword, const fileSystem &file)
| construct a dictionary with name and read it from file More...
| fileDictionary (const objectFile &objf, const dictionary &dict, repository *owner=nullptr)
bool | read (iIstream &is, const IOPattern &iop) override
| read from stream More...
bool | write (iOstream &os, const IOPattern &iop) const override
| write to stream More...
bool | read (iIstream &is) override
| read from stream More...
bool | write (iOstream &os) const override
| write to stream More...
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 word & | name () const
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 dictionary
| TypeInfo ("dictionary")
| dictionary (const word &keyword, bool global)
| construct an empty dictionary with keyword and make it global/fileDictionary (if true) More...
| dictionary (const word &keyword, const fileSystem &file)
| construct a dictionary with name and read it from file More...
| dictionary ()
| cunstructs a null dictionary More...
| dictionary (const word &keyword)
| construct an empty dictionary with keyword More...
| dictionary (const word &keyword, const dictionary &parDict)
| cunstruct an empty dictionary with keyword and parDict More...
| dictionary (const word &keyword, const dictionary &parDict, iIstream &is)
| cunstruct a dictionary with keyword and parDict and from stream More...
| dictionary (const word &keyword, const dictionary &parDict, const dictionary &dict)
| copy construct with keyword and new parrent dict discard the keyword and parDict of dict More...
| dictionary (const dictionary &)
| copy construct as default behavior entries_ are copied smoothly. More...
| dictionary (const dictionary &src, bool global)
dictionary & | operator= (const dictionary &rhs)
| assignment preserve name of this dictionary only entries are transfered with ownership More...
virtual dictionary * | dictPtr ()
| pointer to this dictionary More...
virtual const dictionary * | dictPtr () const
| pointer to this dictionary More...
virtual bool | isDictionary () const
| if this is a dictionary More...
virtual word | globalName () const
| global name of entry, separated with dots More...
virtual const dictionary & | parrentDict () const
| const ref to parrent dictionary More...
virtual dictionary & | dict ()
| ref to this dictionary, if it is a dictionary More...
virtual const dictionary & | dict () const
| const ref to this dictionary, if it is a dictionary More...
virtual bool | isFileDict () const
| if dictionary is file dictionary, return false More...
bool | addPtr (const word &keyword, uniquePtr< iEntry > &etry, bool warning=true)
| add a pointer entry (dictionary/dataEntry) replaces this entry with existing one and issue a warning More...
bool | add (const word &keyword, const float &v)
| add a float dataEntry More...
bool | add (const word &keyword, const double &v)
| add a double dataEntry More...
bool | add (const word &keyword, const word &v)
| add a word dataEntry More...
bool | add (const word &keyword, const int64 &v)
| add a int64 dataEntry More...
bool | add (const word &keyword, const int32 &v)
| add a int32 dataEntry More...
bool | add (const word &keyword, const int8 &v)
| add a int8 dataEntry More...
bool | add (const word &keyword, const uint64 &v)
| add a uint64 dataEntry More...
bool | add (const word &keyword, const uint32 &v)
| add a uint32 dataEntry More...
bool | add (const word &keyword, const uint8 &v)
| add a uint8 dataEntry More...
bool | addDict (const word &keyword, const dictionary &dict)
| add a dictionary with the specifiedd keyword, if it exists, replace it. More...
template<typename T >
bool | add (const word &keyword, const T &v)
| add a dataEntry of type T More...
template<typename T >
bool | addOrKeep (const word &keyword, const T &v)
template<typename T >
bool | addOrReplace (const word &keyword, const T &v)
void | clear ()
dictionary * | subDictPtr (const word &keyword)
| pointer to a subdictionary fatalExit if not found More...
dictionary & | subDict (const word &keyword)
| ref to a subdictioanry fatalExit if not found More...
const dictionary & | subDict (const word &keyword) const
| const ref to a subdictioanry fatalExit if not found More...
dataEntry * | dataEntryPtr (const word &keyword)
| pointer to a dataEntry fatalExit if not found/not a dataEntry More...
dataEntry & | dataEntryRef (const word &keyword)
| ref to a subdictioanry fatalExit if not found/not a dataEntry More...
const dataEntry & | dataEntryRef (const word &keyword) const
| const ref to a subdictioanry fatalExit if not found/not a dataEntry More...
dictionary & | subDictOrCreate (const word &keyword)
| search for a sub-dict with keyword create a new sub-dict if not found and return a ref to it fatalExit if fails More...
template<typename T >
T | getVal (const word &keyword) const
| get the value of data entry More...
template<typename T >
T | getValMax (const word &keyword, const T &maxVal) const
| get the value of data entry and return max(value, maxVal) More...
template<typename T >
T | getValMin (const word &keyword, const T &minVal) const
| get the value of data entry and return min(value, minVal) More...
template<typename T >
T | getValOrSet (const word &keyword, const T &setVal) const
| get the value of data entry or if not found, set the value to setVal More...
template<typename T >
T | getValOrSetMax (const word &keyword, const T &setMaxVal) const
| get the value of data entry anf return max(setMaxVal, value) if not found, set the value to setMaxVal More...
template<typename T >
T | getValOrSetMin (const word &keyword, const T &setMinVal) const
| get the value of data entry anf return max(setMinVal, value) if not found, set the value to setMinVal More...
size_t | numEntries () const
| return number of entris in this dictionary More...
size_t | numDataEntries () const
| return number of non-nullptr dataEntries More...
size_t | numDictionaries () const
| return number of non-nullptr dictionaries More...
wordList | allKeywords () const
| return all keywords (non-nullptr) in this dictionary More...
wordList | dataEntryKeywords () const
| return a list of all dataEntries (non-nullptr) keywords More...
wordList | dictionaryKeywords () const
| return a list of all dictionary (non-null) keywords More...
bool | containsDictionay (const word &name) const
| check if a sub-dictionary exists More...
bool | containsDataEntry (const word &name) const
| check if a data entry exist More...
virtual uniquePtr< iEntry > | clone () const
| clone polymorphic object (here dictionary) More...
virtual iEntry * | clonePtr () const
| clone the object More...
virtual uniquePtr< iEntry > | clone (const dictionary &parDict) const
| clone the polymorhpic object with parDict as the new parrent dictionary More...
virtual iEntry * | clonePtr (const dictionary &parDict) const
| clone the object and change its ownership to parDict More...
bool | read (iIstream &is) override
| read from stream More...
bool | write (iOstream &os) const override
| write to stream More...
Public Member Functions inherited from iEntry
| TypeInfo ("iEntry")
| Type info. More...
| iEntry ()
| empty constructor More...
| iEntry (const word &key)
| construct with a keyword More...
virtual | ~iEntry ()
| destructor More...
virtual const word & | keyword () const
| return keyword More...
virtual word & | keyword ()
| return keyword More...
virtual word | name () const
| name/keyword of entry More...

## Protected Member Functions

virtual bool | writeInsertionDict (dictionary &dict) const
| Write to dictionary. More...
Protected Member Functions inherited from IOfileHeader
uniquePtr< iFstream > | inStream () const
uniquePtr< oFstream > | outStream () const
uniquePtr< oFstream > | dummyOutStream () const
Protected Member Functions inherited from dictionary
iEntry * | findEntry (const word &keyword)
| find an entry based on keyword return nullptr if not found More...
iEntry * | findEntry (const word &keyword) const
| find and entry based on keyword return nullptr if not found More...
template<typename T >
bool | readDataEntry (const word &keyword, T &val) const
| reads a dataEntry with keyword from dictionary More...
bool | readDictionary (iIstream &is)
| read dictionary from stream - without keyword More...
bool | writeDictionary (iOstream &os, bool withBlock=true) const
| write dictionary to stream - with keyword More...
Protected Member Functions inherited from iEntry
bool | writeKeyword (iOstream &os) const

## Private Member Functions

bool | readInsertionDict ()
| Read from dictionary. More...

## Private Attributes

Logical | active_ = "No"
| Is insertion active. More...
Logical | checkForCollision_ = "No"
| Check for collision? It is not active now. More...
Logical | increaseVelocity_ = "No"
| if increase velocity in case particles are failed to be inserted due to collision More...
word | diameterName_ = "diameter"
word | velocityName_ = "velocity"
particles & | particles_
| Ref to particles. More...
bool | readFromFile_ = false

## Additional Inherited Members

Public Types inherited from objectFile
enum | readFlag { READ_ALWAYS, READ_NEVER, READ_IF_PRESENT }
enum | writeFlag { WRITE_ALWAYS, WRITE_NEVER }
Static Public Member Functions inherited from iEntry
static bool | readKeyword (iIstream &is, word &keyword, token &tok)
| read a keyword from stream More...
static bool | createEntry (dictionary &parDict, iIstream &is, bool hasBlockToken=false)
| create an entry (dataEntry or dictionary) from stream More...
Static Public Attributes inherited from dictionary
static dictionary | nullDict
Protected Attributes inherited from IOfileHeader
word | objectName_
word | objectType_
word | fileFormat_ = "ASCII"
| file format read from file More...
Protected Attributes inherited from dictionary
word | name_
| global name of dictionary, separated with dots More...
wordOrderedMapPtr< iEntry > | entries_
| all the entries (data and dictionary) of the current dictionary More...
List< iEntry * > | orderedEntries_
| entries in order of insertion More...
const dictionary & | parDict_
| ref to parrent dictionary More...
bool | isGlobal_ = false
Protected Attributes inherited from iEntry
word | keyword_

## Detailed Description

Base class for particle insertion.

Definition at line 35 of file insertion.hpp.

## Constructor & Destructor Documentation

## insertion()

insertion | ( | particles & | prtcl | ) |

explicit

Construct from component.

Definition at line 27 of file insertion.cpp.

References demComponent::control(), IOfileHeader::implyRead(), pFlow::insertionFile__, objectFile::objectFile(), objectFile::READ_IF_PRESENT, insertion::readFromFile_, insertion::readInsertionDict(), and objectFile::WRITE_NEVER.

Here is the call graph for this function:

## ~insertion()

~insertion | ( |  | ) |

overridedefault

Destructor.

## Member Function Documentation

## readInsertionDict()

bool readInsertionDict | ( |  | ) |

private

Read from dictionary.

Definition at line 78 of file insertion.cpp.

References END_REPORT, REPORT, and Yellow_Text.

Referenced by insertion::insertion().

Here is the caller graph for this function:

## writeInsertionDict()

bool writeInsertionDict | ( | dictionary & | dict | ) | const

protectedvirtual

Write to dictionary.

Reimplemented in Insertion< ShapeType >.

Definition at line 99 of file insertion.cpp.

References dictionary::add(), pFlow::endl(), fatalErrorInFunction, and dictionary::globalName().

Here is the call graph for this function:

## TypeInfo()

TypeInfo | ( | "insertion" |  | ) |

Type info.

## isActive()

bool isActive | ( |  | ) | const

inline

is Insertion active

Definition at line 80 of file insertion.hpp.

References insertion::active_, and insertion::readFromFile_.

## checkForCollision()

bool checkForCollision | ( |  | ) | const

inline

Definition at line 85 of file insertion.hpp.

References insertion::checkForCollision_.

## Particles() [1/2]

particles& Particles | ( |  | ) |

inline

Definition at line 90 of file insertion.hpp.

References insertion::particles_.

Referenced by insertionRegion::readInsertionRegion().

Here is the caller graph for this function:

## Particles() [2/2]

const particles& Particles | ( |  | ) | const

inline

Definition at line 95 of file insertion.hpp.

References insertion::particles_.

## pStruct()

const pFlow::pointStructure & pStruct | ( |  | ) | const

Definition at line 72 of file insertion.cpp.

Referenced by insertionRegion::pStruct().

Here is the caller graph for this function:

## readFromFile()

bool readFromFile | ( |  | ) | const

inline

Definition at line 102 of file insertion.hpp.

References insertion::readFromFile_.

## diameterName()

const word& diameterName | ( |  | ) | const

inline

Definition at line 107 of file insertion.hpp.

References insertion::diameterName_.

## velocityName()

const word& velocityName | ( |  | ) | const

inline

Definition at line 112 of file insertion.hpp.

References insertion::velocityName_.

## write() [1/2]

bool write | ( | iOstream & | os,
|  | const IOPattern & | iop
| ) |  | const

overridevirtual

write to iOstream

Implements IOobject.

Definition at line 120 of file insertion.cpp.

References pFlow::endl(), fatalErrorInFunction, dictionary::globalName(), IOPattern::thisProcWriteData(), and dictionary::write().

Here is the call graph for this function:

## write() [2/2]

bool write

override

read from stream

Definition at line 75 of file fileDictionary.cpp.

## Member Data Documentation

## active_

Logical active_ = "No"

private

Is insertion active.

Definition at line 42 of file insertion.hpp.

Referenced by insertion::isActive().

## checkForCollision_

Logical checkForCollision_ = "No"

private

Check for collision? It is not active now.

Definition at line 45 of file insertion.hpp.

Referenced by insertion::checkForCollision().

## increaseVelocity_

Logical increaseVelocity_ = "No"

private

if increase velocity in case particles are failed to be inserted due to collision

Definition at line 49 of file insertion.hpp.

## diameterName_

word diameterName_ = "diameter"

private

Definition at line 51 of file insertion.hpp.

Referenced by insertion::diameterName().

## velocityName_

word velocityName_ = "velocity"

private

Definition at line 53 of file insertion.hpp.

Referenced by insertion::velocityName().

## particles_

particles& particles_

private

Ref to particles.

Definition at line 56 of file insertion.hpp.

Referenced by insertion::Particles().

## readFromFile_

bool readFromFile_ = false

private

Definition at line 58 of file insertion.hpp.

Referenced by insertion::insertion(), insertion::isActive(), and insertion::readFromFile().

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

- src/Particles/Insertion/insertion/insertion.hpp
- src/Particles/Insertion/insertion/insertion.cpp