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

rotatingAxisMotion Class Reference

Rotating axis motion model for walls. More...

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

## Public Member Functions

| TypeInfo ("rotatingAxisMotion")
| rotatingAxisMotion (const objectFile &objf, repository *owner)
| rotatingAxisMotion (const objectFile &objf, const dictionary &dict, repository *owner)
bool | write (iOstream &os, const IOPattern &iop) const override
void | impl_setTime (uint32 iter, real t, real dt) const
bool | write (iOstream &os, const IOPattern &iop) const override
| write to 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...
Public Member Functions inherited from MotionModel< rotatingAxisMotion, rotatingAxis >
| MotionModel ()
| Empty. More...
| MotionModel (const MotionModel &)=default
| Copy constructor. More...
| MotionModel (MotionModel &&)=default
| Move constructor. More...
MotionModel & | operator= (const MotionModel &)=default
| Copy assignment. More...
MotionModel & | operator= (MotionModel &&)=default
| No move assignment. More...
| ~MotionModel ()=default
| Destructor. More...
bool | nameToIndex (const word &name, uint32 &idx) const
| name of the compoenent to index of the component More...
bool | indexToName (uint32 idx, word &name) const
| Component index to motion component name. More...
const wordList & | componentNames () const
| Return a const reference to the list of compoenent names. More...
bool | isMoving () const
| Is the wall assocciated to this motion component moving? More...
bool | move (uint32 iter, real t, real dt)
| Move the component itself. More...
auto | getModelInterface (uint32 iter, real t, real dt) const
| Obtain an object to model interface. More...

## Static Public Member Functions

static auto | noneComponent ()
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...

## Protected Member Functions

bool | impl_isMoving () const
| is the geometry attached to this component moving More...
bool | impl_move (uint32, real, real) const
| move the component itself 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
Protected Member Functions inherited from MotionModel< rotatingAxisMotion, rotatingAxis >
auto & | getModel ()
| obtain a reference to the actual motion model More...
const auto & | getModel () const
| Obtain a const reference to the actual motion model. More...
auto | impl_noneComponent () const
| Return a none object for the motion model. More...
bool | impl_nameToIndex (const word &name, uint32 &idx) const
| Name of the compoenent to index of the component. More...
bool | impl_indexToName (uint32 i, word &name) const
| Component index to motion component name. More...
const wordList & | impl_componentNames () const
| const reference to the list of component names More...
auto | impl_getModelInterface (uint32 iter, real t, real dt) const
| Return model interface. More...
bool | impl_readDictionary (const dictionary &dict)
| Read from dictionary. More...
bool | impl_writeDictionary (dictionary &dict) const
| Write to dictionary. More...

## Protected Attributes

friend | MotionModel< rotatingAxisMotion, rotatingAxis >
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_

## Additional Inherited Members

Public Types inherited from objectFile
enum | readFlag { READ_ALWAYS, READ_NEVER, READ_IF_PRESENT }
enum | writeFlag { WRITE_ALWAYS, WRITE_NEVER }
Public Types inherited from MotionModel< rotatingAxisMotion, rotatingAxis >
using | ModelType = rotatingAxisMotion
using | ModelComponent = rotatingAxis
using | ComponentVector_D = VectorSingle< ModelComponent >
Static Public Attributes inherited from dictionary
static dictionary | nullDict

## Detailed Description

Rotating axis motion model for walls.

This class is used for simulaiton that at least one wall components is moving according to rotatingAxis motion mode. One or more than one motion components can be defined in rotatingAxisInfo dictionary

    // In geometryDict file, this will defines rotating walls during simulation
    ...
    motionModel rotatingAxis;

    rotatingAxisInfo
    {
        rotationAxis1
        {
            // the definition based on class rotatingAxis
        }
        rotatoinAxis2
        {
            // the definition based on calss rotatingAxis
        }
    }
    ...

Definition at line 59 of file rotatingAxisMotion.hpp.

## Constructor & Destructor Documentation

## rotatingAxisMotion() [1/2]

rotatingAxisMotion | ( | const objectFile & | objf,
|  | repository * | owner
| ) |  |

Definition at line 40 of file rotatingAxisMotion.cpp.

References fatalErrorInFunction, fatalExit, and MotionModel< rotatingAxisMotion, rotatingAxis >::impl_readDictionary().

Here is the call graph for this function:

## rotatingAxisMotion() [2/2]

rotatingAxisMotion | ( | const objectFile & | objf,
|  | const dictionary & | dict,
|  | repository * | owner
| ) |  |

Definition at line 54 of file rotatingAxisMotion.cpp.

References fatalErrorInFunction, and fatalExit.

## Member Function Documentation

## impl_isMoving()

bool impl_isMoving | ( |  | ) | const

inlineprotected

is the geometry attached to this component moving

Definition at line 69 of file rotatingAxisMotion.hpp.

## impl_move()

bool impl_move | ( | uint32 | ,
|  | real | ,
|  | real |
| ) |  | const

inlineprotected

move the component itself

Definition at line 75 of file rotatingAxisMotion.hpp.

## TypeInfo()

TypeInfo | ( | "rotatingAxisMotion" |  | ) |

## write() [1/2]

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

overridevirtual

Implements IOobject.

Definition at line 70 of file rotatingAxisMotion.cpp.

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

Here is the call graph for this function:

## noneComponent()

static auto noneComponent | ( |  | ) |

inlinestatic

Definition at line 96 of file rotatingAxisMotion.hpp.

## impl_setTime()

void impl_setTime | ( | uint32 | iter,
|  | real | t,
|  | real | dt
| ) |  | const

Definition at line 24 of file rotatingAxisMotion.cpp.

References LAMBDA_HD.

## write() [2/2]

bool write

override

write to stream

Definition at line 75 of file fileDictionary.cpp.

## Member Data Documentation

## MotionModel< rotatingAxisMotion, rotatingAxis >

friend MotionModel< rotatingAxisMotion, rotatingAxis >

protected

Definition at line 66 of file rotatingAxisMotion.hpp.

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

- src/MotionModel/rotatingAxisMotion/rotatingAxisMotion.hpp
- src/MotionModel/rotatingAxisMotion/rotatingAxisMotion.cpp