# PhasicFlow: multiRotatingAxisMotion Class Reference

multiRotatingAxisMotion Class Reference

Rotating axis motion model for walls. More...

Collaboration diagram for multiRotatingAxisMotion:
[legend]

## Classes

class | Model
| Motion model class to be passed to computational units/kernels for transfing points and returning velocities at various positions. More...

## Public Member Functions

| TypeInfoNV ("multiRotatingAxisMotion")
| Type info. More...
FUNCTION_H | multiRotatingAxisMotion ()
| Empty constructor. More...
FUNCTION_H | multiRotatingAxisMotion (const dictionary &dict)
| Construct with dictionary. More...
FUNCTION_H | multiRotatingAxisMotion (const multiRotatingAxisMotion &)=default
| Copy constructor. More...
| multiRotatingAxisMotion (multiRotatingAxisMotion &&)=delete
| No Move. More...
FUNCTION_H multiRotatingAxisMotion & | operator= (const multiRotatingAxisMotion &)=default
| Copy assignment. More...
multiRotatingAxisMotion & | operator= (multiRotatingAxisMotion &&)=delete
| No move assignment. More...
FUNCTION_H | ~multiRotatingAxisMotion ()=default
| Destructor. More...
Model | getModel (real t)
| Retrun motion model at time t. More...
INLINE_FUNCTION_H multiRotatingAxis * | getAxisListPtrHost ()
| Pointer to axis list on host side. More...
INLINE_FUNCTION_H multiRotatingAxis * | getAxisListPtrDevice ()
| Pointer to axis list on device. More...
INLINE_FUNCTION_H int32 | nameToIndex (const word &name) const
| Name of motion component to index. More...
INLINE_FUNCTION_H word | indexToName (label i) const
| Index of motion component to component name. More...
INLINE_FUNCTION_HD bool | isMoving () const
| Is moving. More...
FUNCTION_H bool | move (real t, real dt)
| Move points. More...
FUNCTION_H bool | read (iIstream &is)
| Read from input stream is. More...
FUNCTION_H bool | write (iOstream &os) const
| Write to output stream os. More...

## Protected Types

using | axisVector_HD = VectorDual< multiRotatingAxis >

## Protected Member Functions

bool | readDictionary (const dictionary &dict)
| Read from a dictionary. More...
bool | writeDictionary (dictionary &dict) const
| Write to a dictionary. More...

## Protected Attributes

axisVector_HD | axis_
| Vector of multiRotaingAxis axes. More...
VectorDual< int32 > | sortedIndex_
| Sorted index based on number of parrents each axis ha. More...
wordList | axisName_
| List of axes names. More...
label | numAxis_ = 0
| Number of axes. More...

## Detailed Description

Rotating axis motion model for walls.

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

    // In geometryDict file, this will defines multi-rotating walls during simulation
    ...
    motionModel multiRotatingAxisMotion;

    multiRotatingAxisMotionInfo
    {
        rotationAxis1
        {
            // the definition based on class multiRotatingAxis
        }
        rotatoinAxis2
        {
            // the definition based on calss multiRotatingAxis
        }
    }
    ...

Definition at line 65 of file multiRotatingAxisMotion.hpp.

## Member Typedef Documentation

## axisVector_HD

using axisVector_HD = VectorDual<multiRotatingAxis>

protected

Definition at line 121 of file multiRotatingAxisMotion.hpp.

## Constructor & Destructor Documentation

## multiRotatingAxisMotion() [1/4]

multiRotatingAxisMotion | ( |  | ) |

Empty constructor.

Definition at line 163 of file multiRotatingAxisMotion.cpp.

## multiRotatingAxisMotion() [2/4]

multiRotatingAxisMotion | ( | const dictionary & | dict | ) |

Construct with dictionary.

Definition at line 167 of file multiRotatingAxisMotion.cpp.

References fatalExit.

## multiRotatingAxisMotion() [3/4]

FUNCTION_H multiRotatingAxisMotion | ( | const multiRotatingAxisMotion & |  | ) |

default

Copy constructor.

## multiRotatingAxisMotion() [4/4]

multiRotatingAxisMotion | ( | multiRotatingAxisMotion && |  | ) |

delete

No Move.

## ~multiRotatingAxisMotion()

FUNCTION_H ~multiRotatingAxisMotion | ( |  | ) |

default

Destructor.

## Member Function Documentation

## readDictionary()

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

protected

Read from a dictionary.

Definition at line 27 of file multiRotatingAxisMotion.cpp.

References dictionary::dictionaryKeywords(), pFlow::endl(), fatalErrorInFunction, dictionary::getVal(), n, sort(), and dictionary::subDict().

Here is the call graph for this function:

## writeDictionary()

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

protected

Write to a dictionary.

Definition at line 139 of file multiRotatingAxisMotion.cpp.

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

Here is the call graph for this function:

## TypeInfoNV()

TypeInfoNV | ( | "multiRotatingAxisMotion" |  | ) |

Type info.

## operator=() [1/2]

FUNCTION_H multiRotatingAxisMotion& operator= | ( | const multiRotatingAxisMotion & |  | ) |

default

Copy assignment.

## operator=() [2/2]

multiRotatingAxisMotion& operator= | ( | multiRotatingAxisMotion && |  | ) |

delete

No move assignment.

## getModel()

Model getModel | ( | real | t | ) |

inline

Retrun motion model at time t.

Definition at line 177 of file multiRotatingAxisMotion.hpp.

References multiRotatingAxisMotion::axis_, VectorDual< T, MemorySpace >::deviceVector(), multiRotatingAxisMotion::getAxisListPtrDevice(), VectorDual< T, MemorySpace >::modifyOnHost(), multiRotatingAxisMotion::numAxis_, and VectorDual< T, MemorySpace >::syncViews().

Here is the call graph for this function:

## getAxisListPtrHost()

INLINE_FUNCTION_H multiRotatingAxis* getAxisListPtrHost | ( |  | ) |

inline

Pointer to axis list on host side.

Definition at line 192 of file multiRotatingAxisMotion.hpp.

References multiRotatingAxisMotion::axis_, and VectorDual< T, MemorySpace >::hostVectorAll().

Here is the call graph for this function:

## getAxisListPtrDevice()

INLINE_FUNCTION_H multiRotatingAxis* getAxisListPtrDevice | ( |  | ) |

inline

Pointer to axis list on device.

Definition at line 199 of file multiRotatingAxisMotion.hpp.

References multiRotatingAxisMotion::axis_, and VectorDual< T, MemorySpace >::deviceVectorAll().

Referenced by multiRotatingAxisMotion::getModel().

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

## nameToIndex()

INLINE_FUNCTION_H int32 nameToIndex | ( | const word & | name | ) | const

inline

Name of motion component to index.

Definition at line 206 of file multiRotatingAxisMotion.hpp.

References multiRotatingAxisMotion::axisName_, fatalErrorInFunction, fatalExit, and List< T >::findi().

Here is the call graph for this function:

## indexToName()

INLINE_FUNCTION_H word indexToName | ( | label | i | ) | const

inline

Index of motion component to component name.

Definition at line 224 of file multiRotatingAxisMotion.hpp.

References multiRotatingAxisMotion::axisName_, pFlow::endl(), fatalErrorInFunction, fatalExit, and multiRotatingAxisMotion::numAxis_.

Referenced by multiRotatingAxis::write().

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

## isMoving()

INLINE_FUNCTION_HD bool isMoving | ( |  | ) | const

inline

Is moving.

Definition at line 240 of file multiRotatingAxisMotion.hpp.

## move()

FUNCTION_H bool move | ( | real | t,
|  | real | dt
| ) |  |

Move points.

Definition at line 178 of file multiRotatingAxisMotion.cpp.

## read()

bool read | ( | iIstream & | is | ) |

Read from input stream is.

Definition at line 198 of file multiRotatingAxisMotion.cpp.

References ioErrorInFile, IOstream::lineNumber(), pFlow::motionModelFile__, IOstream::name(), and dictionary::read().

Here is the call graph for this function:

## write()

bool write | ( | iOstream & | os | ) | const

Write to output stream os.

Definition at line 219 of file multiRotatingAxisMotion.cpp.

References ioErrorInFile, IOstream::lineNumber(), pFlow::motionModelFile__, IOstream::name(), and dictionary::write().

Here is the call graph for this function:

## Member Data Documentation

## axis_

axisVector_HD axis_

protected

Vector of multiRotaingAxis axes.

Definition at line 124 of file multiRotatingAxisMotion.hpp.

Referenced by multiRotatingAxisMotion::getAxisListPtrDevice(), multiRotatingAxisMotion::getAxisListPtrHost(), and multiRotatingAxisMotion::getModel().

## sortedIndex_

VectorDual<int32> sortedIndex_

protected

Sorted index based on number of parrents each axis ha.

Definition at line 127 of file multiRotatingAxisMotion.hpp.

## axisName_

wordList axisName_

protected

List of axes names.

Definition at line 130 of file multiRotatingAxisMotion.hpp.

Referenced by multiRotatingAxisMotion::indexToName(), and multiRotatingAxisMotion::nameToIndex().

## numAxis_

label numAxis_ = 0

protected

Number of axes.

Definition at line 133 of file multiRotatingAxisMotion.hpp.

Referenced by multiRotatingAxisMotion::getModel(), and multiRotatingAxisMotion::indexToName().

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

- src/MotionModel/multiRotatingAxisMotion/multiRotatingAxisMotion.hpp
- src/MotionModel/multiRotatingAxisMotion/multiRotatingAxisMotion.cpp