www.cemf.ir
multiRotatingAxisMotion Class Reference

Rotating axis motion model for walls. More...

+ Collaboration diagram for multiRotatingAxisMotion:

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 multiRotatingAxisMotionoperator= (const multiRotatingAxisMotion &)=default
 Copy assignment. More...
 
multiRotatingAxisMotionoperator= (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 multiRotatingAxisgetAxisListPtrHost ()
 Pointer to axis list on host side. More...
 
INLINE_FUNCTION_H multiRotatingAxisgetAxisListPtrDevice ()
 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< int32sortedIndex_
 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

Definition at line 121 of file multiRotatingAxisMotion.hpp.

Constructor & Destructor Documentation

◆ multiRotatingAxisMotion() [1/4]

Empty constructor.

Definition at line 163 of file multiRotatingAxisMotion.cpp.

◆ multiRotatingAxisMotion() [2/4]

Construct with dictionary.

Definition at line 167 of file multiRotatingAxisMotion.cpp.

References fatalExit.

◆ multiRotatingAxisMotion() [3/4]

Copy constructor.

◆ multiRotatingAxisMotion() [4/4]

◆ ~multiRotatingAxisMotion()

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]

Copy assignment.

◆ operator=() [2/2]

No move assignment.

◆ getModel()

◆ 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 >::data().

+ 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 >::data().

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_

◆ 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

◆ 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: