www.cemf.ir
geometryMotion< MotionModelType > Class Template Reference
+ Inheritance diagram for geometryMotion< MotionModelType >:
+ Collaboration diagram for geometryMotion< MotionModelType >:

Public Types

using MotionModel = MotionModelType
 

Public Member Functions

 TypeInfoTemplate ("geometry", MotionModel)
 Type info. More...
 
 geometryMotion (systemControl &control, const property &prop)
 
 geometryMotion (systemControl &control, const property &prop, const multiTriSurface &triSurface, const wordVector &motionCompName, const wordVector &propName, const MotionModel &motionModel)
 
 geometryMotion (systemControl &control, const property &prop, const dictionary &dict, const multiTriSurface &triSurface, const wordVector &motionCompName, const wordVector &propName)
 Construct from components and dictionary that contains motionModel. More...
 
 add_vCtor (geometry, geometryMotion, systemControl)
 Add virtual constructor. More...
 
 add_vCtor (geometry, geometryMotion, dictionary)
 Add virtual constructor. More...
 
auto getModel (real t) const
 Obtain motion model at time t. More...
 
word motionModelTypeName () const override
 TypeName / TypeInfo of motion model. More...
 
const int8Vector_HDtriMotionIndex () const override
 Access to motion model index of triangles. More...
 
const int8Vector_HDpointMotionIndex () const override
 Access to motion model index of points. More...
 
bool beforeIteration () override
 Operations before each iteration. More...
 
bool iterate () override
 Iterate geometry one time step
More...
 
bool afterIteration () override
 Operations after each iteration. More...
 
bool moveGeometry ()
 Move geometry. More...
 
- Public Member Functions inherited from geometry
 TypeInfo ("geometry")
 Type info. More...
 
 geometry (systemControl &control, const property &prop)
 Construct from controlSystem and property, for reading from file. More...
 
 geometry (systemControl &control, const property &prop, const multiTriSurface &triSurface, const wordVector &motionCompName, const wordVector &propName)
 Construct from components. More...
 
 geometry (systemControl &control, const property &prop, const dictionary &dict, const multiTriSurface &triSurface, const wordVector &motionCompName, const wordVector &propName)
 Construct from components and dictionary that contains motionModel. More...
 
virtual ~geometry ()=default
 Destructor. More...
 
 create_vCtor (geometry, systemControl,(systemControl &control, const property &prop),(control, prop))
 Virtual constructor. More...
 
 create_vCtor (geometry, dictionary,(systemControl &control, const property &prop, const dictionary &dict, const multiTriSurface &triSurface, const wordVector &motionCompName, const wordVector &propName),(control, prop, dict, triSurface, motionCompName, propName))
 Virtual constructor. More...
 
auto size () const
 Size of tri-surface. More...
 
auto numPoints () const
 Number of points in the set of surface walls. More...
 
auto numTriangles () const
 Number of triangles in the set of surface walls. More...
 
const auto & points () const
 Access to the points. More...
 
const auto & vertices () const
 Access to the vertices. More...
 
auto getTriangleAccessor () const
 Obtain an object for accessing triangles. More...
 
auto & surface ()
 Surface. More...
 
const auto & surface () const
 Surface. More...
 
realx3TriSurfaceField_DcontactForceWall ()
 Access to contact force. More...
 
const realx3TriSurfaceField_DcontactForceWall () const
 Access to contact force. More...
 
const auto & wallProperty () const
 Access to property. More...
 
const repositoryowner () const
 Owner repository. More...
 
repositoryowner ()
 Owner repository. More...
 
auto path ()
 Path to the repository folder. More...
 
const int8TriSurfaceField_DpropertyId () const
 Property ide of triangles. More...
 
bool write () const
 write More...
 
- Public Member Functions inherited from demGeometry
 demGeometry (systemControl &control)
 
- Public Member Functions inherited from demComponent
 TypeInfo ("demComponent")
 
 demComponent (const word &name, systemControl &control)
 
virtual ~demComponent ()=default
 
const auto & control () const
 
auto & control ()
 
real dt () const
 
real currentTime () const
 
auto & timers ()
 
const auto & timers () const
 

Protected Member Functions

bool findMotionIndex ()
 determine the motion index of each triangle More...
 
- Protected Member Functions inherited from geometry
bool findPropertyId ()
 Find property id of each triangle based on the supplied material name and the surface wall that the triangle belongs to. More...
 
void zeroForce ()
 Initialize contact force to zero. More...
 

Protected Attributes

MotionModelmotionModel_
 Ref to motion model. More...
 
int32Vector_HD motionIndex_
 motion indext mapped on each surface More...
 
int8Vector_HD triMotionIndex_
 motion index mapped on each triangle More...
 
int8Vector_HD pointMotionIndex_
 motion index mapped on each point More...
 
Timer moveGeomTimer_
 timer for moveGeometry More...
 
- Protected Attributes inherited from geometry
const propertywallProperty_
 Const reference to physical property of materials. More...
 
repositorygeometryRepository_
 Repository to store geometry data at each simulation moment. More...
 
multiTriSurfacetriSurface_
 All triangles in the set of wall surfaces. More...
 
wordFieldmotionComponentName_
 The name of motion component of each wall surface. More...
 
wordFieldmaterialName_
 Material name of each wall surface
More...
 
int8TriSurfaceField_DpropertyId_
 Property id of each triangle in the set of wall surfaces. More...
 
realx3TriSurfaceField_DcontactForceWall_
 Contact force on each triangle in the set of wall surfaces. More...
 
realx3TriSurfaceField_DstressWall_
 Stress on ech triangle in the set of wall surfaces. More...
 
- Protected Attributes inherited from demComponent
word componentName_
 
systemControlcontrol_
 
Timers timers_
 

Additional Inherited Members

- Static Public Member Functions inherited from geometry
static uniquePtr< geometrycreate (systemControl &control, const property &prop)
 
static uniquePtr< geometrycreate (systemControl &control, const property &prop, const dictionary &dict, const multiTriSurface &triSurface, const wordVector &motionCompName, const wordVector &propName)
 

Detailed Description

template<typename MotionModelType>
class pFlow::geometryMotion< MotionModelType >

A class that represent surfaces in the simulation and moves surfaces 

based on the MotionModelType. MotionModelType can be any motion model.

Definition at line 36 of file geometryMotion.hpp.

Member Typedef Documentation

◆ MotionModel

using MotionModel = MotionModelType

Definition at line 42 of file geometryMotion.hpp.

Constructor & Destructor Documentation

◆ geometryMotion() [1/3]

geometryMotion ( systemControl control,
const property prop 
)

Definition at line 62 of file geometryMotion.cpp.

◆ geometryMotion() [2/3]

geometryMotion ( systemControl control,
const property prop,
const multiTriSurface triSurface,
const wordVector motionCompName,
const wordVector propName,
const MotionModel motionModel 
)

Definition at line 85 of file geometryMotion.cpp.

◆ geometryMotion() [3/3]

geometryMotion ( systemControl control,
const property prop,
const dictionary dict,
const multiTriSurface triSurface,
const wordVector motionCompName,
const wordVector propName 
)

Construct from components and dictionary that contains motionModel.

Definition at line 119 of file geometryMotion.cpp.

Member Function Documentation

◆ findMotionIndex()

bool findMotionIndex
protected

determine the motion index of each triangle

Definition at line 22 of file geometryMotion.cpp.

References ForAll.

◆ TypeInfoTemplate()

TypeInfoTemplate ( "geometry"  ,
MotionModel   
)

Type info.

◆ add_vCtor() [1/2]

add_vCtor ( geometry  ,
geometryMotion< MotionModelType >  ,
systemControl   
)

Add virtual constructor.

◆ add_vCtor() [2/2]

add_vCtor ( geometry  ,
geometryMotion< MotionModelType >  ,
dictionary   
)

Add virtual constructor.

◆ getModel()

auto getModel ( real  t) const
inline

Obtain motion model at time t.

Definition at line 110 of file geometryMotion.hpp.

References geometryMotion< MotionModelType >::motionModel_.

◆ motionModelTypeName()

word motionModelTypeName ( ) const
inlineoverridevirtual

TypeName / TypeInfo of motion model.

Implements geometry.

Definition at line 116 of file geometryMotion.hpp.

References geometryMotion< MotionModelType >::motionModel_.

◆ triMotionIndex()

const int8Vector_HD& triMotionIndex ( ) const
inlineoverridevirtual

Access to motion model index of triangles.

Implements geometry.

Definition at line 122 of file geometryMotion.hpp.

References geometryMotion< MotionModelType >::triMotionIndex_.

◆ pointMotionIndex()

const int8Vector_HD& pointMotionIndex ( ) const
inlineoverridevirtual

Access to motion model index of points.

Implements geometry.

Definition at line 128 of file geometryMotion.hpp.

References geometryMotion< MotionModelType >::pointMotionIndex_.

◆ beforeIteration()

bool beforeIteration
overridevirtual

Operations before each iteration.

Reimplemented from geometry.

Definition at line 153 of file geometryMotion.cpp.

◆ iterate()

bool iterate
overridevirtual

Iterate geometry one time step

Implements demComponent.

Definition at line 160 of file geometryMotion.cpp.

◆ afterIteration()

bool afterIteration
overridevirtual

Operations after each iteration.

Reimplemented from geometry.

Definition at line 172 of file geometryMotion.cpp.

◆ moveGeometry()

bool moveGeometry

Move geometry.

Definition at line 179 of file geometryMotion.cpp.

References LAMBDA_HD.

Member Data Documentation

◆ motionModel_

MotionModel& motionModel_
protected

◆ motionIndex_

int32Vector_HD motionIndex_
protected

motion indext mapped on each surface

Definition at line 50 of file geometryMotion.hpp.

◆ triMotionIndex_

int8Vector_HD triMotionIndex_
protected

motion index mapped on each triangle

Definition at line 53 of file geometryMotion.hpp.

Referenced by geometryMotion< MotionModelType >::triMotionIndex().

◆ pointMotionIndex_

int8Vector_HD pointMotionIndex_
protected

motion index mapped on each point

Definition at line 56 of file geometryMotion.hpp.

Referenced by geometryMotion< MotionModelType >::pointMotionIndex().

◆ moveGeomTimer_

Timer moveGeomTimer_
protected

timer for moveGeometry

Definition at line 59 of file geometryMotion.hpp.


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