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

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

## Public Member Functions

| systemControl (const fileSystem path=CWD())
| systemControl (const real startTime, const real endTime, const real saveInterval, const word startTimeName, const fileSystem path=CWD())
const repository & | settings () const
repository & | settings ()
const repository & | caseSetup () const
repository & | caseSetup ()
const Time & | time () const
Time & | time ()
const repository & | geometry () const
repository & | geometry ()
const Timers & | timers () const
Timers & | timers ()
bool | timersReport () const
const fileDictionary & | settingsDict () const
fileDictionary & | settingsDict ()
virtual word | runName () const
const realx3 | g () const
bool | operator++ (int)
void | setSaveTimeFolder (bool saveToFile, const word &timeName="wrongTimeFolder")
size_t | outFilePrecision () const override
bool | isIncluded (const word &objName) const final
bool | isExcluded (const word &objName) const final
void | clearIncludeExclude ()
bool | addInclude (const word &objName)
bool | addExclude (const word &objName)
Public Member Functions inherited from repository
| TypeInfo ("repository")
| repository (const word &name, const fileSystem &localPath, repository *owner=nullptr)
| repository (const repository &)=delete
repository & | operator= (const repository &)=delete
virtual | ~repository ()
word | name () const
virtual fileSystem | localPath () const
virtual fileSystem | path () const
const repository * | owner () const
repository * | owner ()
const repository & | thisRepository () const
repository & | thisRepository ()
bool | addToRepository (repository *rep)
| add repository to this repository return false if the name already exists More...
bool | removeFromRepository (repository *rep)
| remove rep from the list of repositories More...
bool | addToRepository (IOobject *io)
| add IOobject to this repository More...
bool | removeFromRepository (IOobject *io)
| remove rep from the list of repositories More...
repository * | releaseOwner (bool fromOwner=false)
bool | lookupObjectName (const word &nm) const
word | lookupObjectTypeName (const word &nm) const
bool | globalLookupObjectName (const word &nm, bool downward=false) const
bool | lookupRepositoryName (const word &nm) const
bool | lookupName (const word nm) const
size_t | numObjects () const
size_t | numRepositories () const
template<typename T >
T & | lookupObject (const word &name)
| return a ref to the underlaying data in the object More...
template<typename T >
const T & | lookupObject (const word &name) const
| return a const ref to the underlaying data in the object More...
repository & | lookupRepository (const word &name)
wordList | objectNames () const
wordList | repositoryNames () const
virtual bool | outFileBinary () const
virtual bool | write (bool verbose=false) const
template<typename Type1 >
pFlow::word | reportTypeError (IOobject &object) const

## Protected Member Functions

bool | readIncludeExclue (const dictionary &dict)

## Static Protected Member Functions

static word | getRunName (const fileSystem &path)
static word | getTopFolder (const fileSystem &path)

## Protected Attributes

const word | runName_
const fileSystem | topLevelFolder_
uniquePtr< fileDictionary > | settingsDict_
| settingsDict fileDictionary More...
Time | Time_
| time repository More...
uniquePtr< repository > | settings_
| settings folder repository More...
uniquePtr< repository > | caseSetup_
| caseSetup folder repository More...
dynamicLinkLibs | libs_
| extra libs to be loaded More...
size_t | outFilePrecision_ = 6
| precision for writing to file More...
bool | externalTimeControl_ = false
| if time control is managed externaly More...
Timers | timers_
Logical | timersReport_
Timer | writeToFileTimer_
wordSet | includeList_
wordSet | excludeList_

## Detailed Description

Definition at line 41 of file systemControl.hpp.

## Constructor & Destructor Documentation

## systemControl() [1/2]

systemControl | ( | const fileSystem | path = `CWD()` | ) |

Definition at line 100 of file systemControl.cpp.

References systemControl::readIncludeExclue(), and systemControl::settingsDict_.

Here is the call graph for this function:

## systemControl() [2/2]

systemControl | ( | const real | startTime,
|  | const real | endTime,
|  | const real | saveInterval,
|  | const word | startTimeName,
|  | const fileSystem | path = `CWD()`
| ) |  |

Definition at line 136 of file systemControl.cpp.

References systemControl::readIncludeExclue(), and systemControl::settingsDict_.

Here is the call graph for this function:

## Member Function Documentation

## readIncludeExclue()

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

protected

Definition at line 28 of file systemControl.cpp.

References dictionary::containsDataEntry(), systemControl::excludeList_, dictionary::getVal(), and systemControl::includeList_.

Referenced by systemControl::systemControl().

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

## getRunName()

pFlow::word getRunName | ( | const fileSystem & | path | ) |

staticprotected

Definition at line 50 of file systemControl.cpp.

References fileSystem::canonical(), fatalErrorInFunction, fatalExit, and fileSystem::wordPath().

Here is the call graph for this function:

## getTopFolder()

pFlow::word getTopFolder | ( | const fileSystem & | path | ) |

staticprotected

Definition at line 75 of file systemControl.cpp.

References fileSystem::canonical(), fatalErrorInFunction, fatalExit, and fileSystem::wordPath().

Here is the call graph for this function:

## settings() [1/2]

const repository& settings | ( |  | ) | const

inline

Definition at line 105 of file systemControl.hpp.

References systemControl::settings_.

Referenced by positionParticles::positionParticles().

Here is the caller graph for this function:

## settings() [2/2]

repository& settings | ( |  | ) |

inline

Definition at line 109 of file systemControl.hpp.

References systemControl::settings_.

## caseSetup() [1/2]

const repository& caseSetup | ( |  | ) | const

inline

Definition at line 113 of file systemControl.hpp.

References systemControl::caseSetup_.

Referenced by interaction::create().

Here is the caller graph for this function:

## caseSetup() [2/2]

repository& caseSetup | ( |  | ) |

inline

Definition at line 117 of file systemControl.hpp.

References systemControl::caseSetup_.

## time() [1/2]

const Time& time | ( |  | ) | const

inline

Definition at line 122 of file systemControl.hpp.

References systemControl::Time_.

Referenced by pFlow::applySelector(), pFlow::PFtoVTK::convertTimeFolderPointFields(), pFlow::PFtoVTK::convertTimeFolderPointFieldsSelected(), pFlow::TSFtoVTK::convertTimeFolderTriSurfaceFields(), and geometry::create().

Here is the caller graph for this function:

## time() [2/2]

Time& time | ( |  | ) |

inline

Definition at line 127 of file systemControl.hpp.

References systemControl::Time_.

## geometry() [1/2]

const repository& geometry | ( |  | ) | const

inline

Definition at line 132 of file systemControl.hpp.

References Time::geometry(), and systemControl::Time_.

Referenced by pFlow::TSFtoVTK::convertTimeFolderTriSurfaceFields().

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

## geometry() [2/2]

repository& geometry | ( |  | ) |

inline

Definition at line 137 of file systemControl.hpp.

References Time::geometry(), and systemControl::Time_.

Here is the call graph for this function:

## timers() [1/2]

const Timers& timers | ( |  | ) | const

inline

Definition at line 142 of file systemControl.hpp.

References systemControl::timers_.

## timers() [2/2]

Timers& timers | ( |  | ) |

inline

Definition at line 147 of file systemControl.hpp.

References systemControl::timers_.

## timersReport()

bool timersReport | ( |  | ) | const

inline

Definition at line 152 of file systemControl.hpp.

References systemControl::timersReport_.

## settingsDict() [1/2]

const fileDictionary& settingsDict | ( |  | ) | const

inline

Definition at line 157 of file systemControl.hpp.

References systemControl::settingsDict_.

## settingsDict() [2/2]

fileDictionary& settingsDict | ( |  | ) |

inline

Definition at line 161 of file systemControl.hpp.

References systemControl::settingsDict_.

## runName()

virtual word runName | ( |  | ) | const

inlinevirtual

Definition at line 168 of file systemControl.hpp.

References systemControl::runName_.

## g()

const realx3 g | ( |  | ) | const

inline

Definition at line 173 of file systemControl.hpp.

References systemControl::settingsDict_.

## operator++()

bool operator++ | ( | int |  | ) |

Definition at line 182 of file systemControl.cpp.

References fatalErrorInFunction, and pFlow::mOutput.

## setSaveTimeFolder()

void setSaveTimeFolder | ( | bool | saveToFile,
|  | const word & | timeName = `"wrongTimeFolder"`
| ) |  |

inline

Definition at line 180 of file systemControl.hpp.

References timeControl::setSaveTimeFolder(), and systemControl::Time_.

Here is the call graph for this function:

## outFilePrecision()

size_t outFilePrecision | ( |  | ) | const

inlineoverridevirtual

Reimplemented from repository.

Definition at line 187 of file systemControl.hpp.

References systemControl::outFilePrecision_.

## isIncluded()

bool isIncluded | ( | const word & | objName | ) | const

inlinefinalvirtual

Reimplemented from repository.

Definition at line 193 of file systemControl.hpp.

References systemControl::includeList_.

## isExcluded()

bool isExcluded | ( | const word & | objName | ) | const

inlinefinalvirtual

Reimplemented from repository.

Definition at line 199 of file systemControl.hpp.

References systemControl::excludeList_.

## clearIncludeExclude()

void clearIncludeExclude | ( |  | ) |

inline

Definition at line 204 of file systemControl.hpp.

References systemControl::excludeList_, and systemControl::includeList_.

## addInclude()

bool addInclude | ( | const word & | objName | ) |

inline

Definition at line 210 of file systemControl.hpp.

References systemControl::includeList_.

## addExclude()

bool addExclude | ( | const word & | objName | ) |

inline

Definition at line 216 of file systemControl.hpp.

References systemControl::excludeList_.

## Member Data Documentation

## runName_

const word runName_

protected

Definition at line 48 of file systemControl.hpp.

Referenced by systemControl::runName().

## topLevelFolder_

const fileSystem topLevelFolder_

protected

Definition at line 51 of file systemControl.hpp.

## settingsDict_

uniquePtr<fileDictionary> settingsDict_

protected

settingsDict fileDictionary

Definition at line 54 of file systemControl.hpp.

Referenced by systemControl::g(), systemControl::settingsDict(), and systemControl::systemControl().

## Time_

Time Time_

protected

time repository

Definition at line 57 of file systemControl.hpp.

Referenced by systemControl::geometry(), systemControl::setSaveTimeFolder(), and systemControl::time().

## settings_

uniquePtr<repository> settings_

protected

settings folder repository

Definition at line 60 of file systemControl.hpp.

Referenced by systemControl::settings().

## caseSetup_

uniquePtr<repository> caseSetup_

protected

caseSetup folder repository

Definition at line 63 of file systemControl.hpp.

Referenced by systemControl::caseSetup().

## libs_

dynamicLinkLibs libs_

protected

extra libs to be loaded

Definition at line 66 of file systemControl.hpp.

## outFilePrecision_

size_t outFilePrecision_ = 6

protected

precision for writing to file

Definition at line 69 of file systemControl.hpp.

Referenced by systemControl::outFilePrecision().

## externalTimeControl_

bool externalTimeControl_ = false

protected

if time control is managed externaly

Definition at line 73 of file systemControl.hpp.

## timers_

Timers timers_

protected

Definition at line 76 of file systemControl.hpp.

Referenced by systemControl::timers().

## timersReport_

Logical timersReport_

protected

Definition at line 78 of file systemControl.hpp.

Referenced by systemControl::timersReport().

## writeToFileTimer_

Timer writeToFileTimer_

protected

Definition at line 80 of file systemControl.hpp.

## includeList_

wordSet includeList_

protected

Definition at line 82 of file systemControl.hpp.

Referenced by systemControl::addInclude(), systemControl::clearIncludeExclude(), systemControl::isIncluded(), and systemControl::readIncludeExclue().

## excludeList_

wordSet excludeList_

protected

Definition at line 84 of file systemControl.hpp.

Referenced by systemControl::addExclude(), systemControl::clearIncludeExclude(), systemControl::isExcluded(), and systemControl::readIncludeExclue().

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

- src/phasicFlow/repository/systemControl/systemControl.hpp
- src/phasicFlow/repository/systemControl/systemControl.cpp