www.cemf.ir
geometry Class Referenceabstract

Base class for geometry for managing tri-surfaces, geometry motion, and surface physical properties. More...

+ Inheritance diagram for geometry:
+ Collaboration diagram for geometry:

Public Member Functions

 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...
 
virtual word motionModelTypeName () const =0
 The name of motion model. More...
 
virtual const int8Vector_HDtriMotionIndex () const =0
 Motion model index of triangles. More...
 
virtual const int8Vector_HDpointMotionIndex () const =0
 Motion model index of points. More...
 
const int8TriSurfaceField_DpropertyId () const
 Property ide of triangles. More...
 
bool beforeIteration () override
 Operations before each iteration. More...
 
bool afterIteration () override
 Operations after each iteration. 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
 
virtual bool iterate ()=0
 

Static Public Member Functions

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)
 

Protected Member Functions

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

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_
 

Detailed Description

Base class for geometry for managing tri-surfaces, geometry motion, and surface physical properties.

Definition at line 43 of file geometry.hpp.

Constructor & Destructor Documentation

◆ geometry() [1/3]

geometry ( systemControl control,
const property prop 
)

Construct from controlSystem and property, for reading from file.

Definition at line 57 of file geometry.cpp.

References fatalExit.

◆ geometry() [2/3]

geometry ( systemControl control,
const property prop,
const multiTriSurface triSurface,
const wordVector motionCompName,
const wordVector propName 
)

Construct from components.

Definition at line 133 of file geometry.cpp.

References fatalExit.

◆ geometry() [3/3]

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.

Definition at line 214 of file geometry.cpp.

◆ ~geometry()

virtual ~geometry ( )
virtualdefault

Destructor.

Member Function Documentation

◆ findPropertyId()

bool findPropertyId ( )
protected

Find property id of each triangle based on the supplied material name and the surface wall that the triangle belongs to.


Definition at line 25 of file geometry.cpp.

References Vector< T, Allocator >::clear(), pFlow::endl(), fatalErrorInFunction, ForAll, geometry::materialName_, property::nameToIndex(), geometry::propertyId_, geometry::surface(), and geometry::wallProperty_.

+ Here is the call graph for this function:

◆ zeroForce()

void zeroForce ( )
inlineprotected

Initialize contact force to zero.

Definition at line 82 of file geometry.hpp.

References geometry::contactForceWall_, and pFlow::zero3.

◆ TypeInfo()

TypeInfo ( "geometry"  )

Type info.

◆ create_vCtor() [1/2]

create_vCtor ( geometry  ,
systemControl  ,
(systemControl &control, const property &prop)  ,
(control, prop)   
)

Virtual constructor.

◆ create_vCtor() [2/2]

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.

◆ size()

auto size ( ) const
inline

Size of tri-surface.

Definition at line 148 of file geometry.hpp.

References triSurface::size(), and geometry::triSurface_.

Referenced by geometry::numTriangles().

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

◆ numPoints()

auto numPoints ( ) const
inline

Number of points in the set of surface walls.

Definition at line 155 of file geometry.hpp.

References triSurface::numPoints(), and geometry::triSurface_.

+ Here is the call graph for this function:

◆ numTriangles()

auto numTriangles ( ) const
inline

Number of triangles in the set of surface walls.

Definition at line 162 of file geometry.hpp.

References geometry::size().

+ Here is the call graph for this function:

◆ points()

const auto& points ( ) const
inline

Access to the points.

Definition at line 169 of file geometry.hpp.

References triSurface::points(), and geometry::triSurface_.

+ Here is the call graph for this function:

◆ vertices()

const auto& vertices ( ) const
inline

Access to the vertices.

Definition at line 176 of file geometry.hpp.

References geometry::triSurface_, and triSurface::vertices().

+ Here is the call graph for this function:

◆ getTriangleAccessor()

auto getTriangleAccessor ( ) const
inline

Obtain an object for accessing triangles.

Definition at line 182 of file geometry.hpp.

References triSurface::getTriangleAccessor(), and geometry::triSurface_.

+ Here is the call graph for this function:

◆ surface() [1/2]

auto& surface ( )
inline

Surface.

Definition at line 188 of file geometry.hpp.

References geometry::triSurface_.

Referenced by geometry::findPropertyId(), and interactionBase::surface().

+ Here is the caller graph for this function:

◆ surface() [2/2]

const auto& surface ( ) const
inline

Surface.

Definition at line 194 of file geometry.hpp.

References geometry::triSurface_.

◆ contactForceWall() [1/2]

realx3TriSurfaceField_D& contactForceWall ( )
inline

Access to contact force.

Definition at line 201 of file geometry.hpp.

References geometry::contactForceWall_.

◆ contactForceWall() [2/2]

const realx3TriSurfaceField_D& contactForceWall ( ) const
inline

Access to contact force.

Definition at line 208 of file geometry.hpp.

References geometry::contactForceWall_.

◆ wallProperty()

const auto& wallProperty ( ) const
inline

Access to property.

Definition at line 214 of file geometry.hpp.

References geometry::wallProperty_.

◆ owner() [1/2]

const repository& owner ( ) const
inline

Owner repository.

Definition at line 221 of file geometry.hpp.

References geometry::geometryRepository_.

Referenced by geometry::path(), and geometry::write().

+ Here is the caller graph for this function:

◆ owner() [2/2]

repository& owner ( )
inline

Owner repository.

Definition at line 228 of file geometry.hpp.

References geometry::geometryRepository_.

◆ path()

auto path ( )
inline

Path to the repository folder.

Definition at line 234 of file geometry.hpp.

References geometry::owner(), and repository::path().

+ Here is the call graph for this function:

◆ motionModelTypeName()

virtual word motionModelTypeName ( ) const
pure virtual

The name of motion model.

Implemented in geometryMotion< MotionModelType >.

Referenced by interaction::create().

+ Here is the caller graph for this function:

◆ triMotionIndex()

virtual const int8Vector_HD& triMotionIndex ( ) const
pure virtual

Motion model index of triangles.

Implemented in geometryMotion< MotionModelType >.

◆ pointMotionIndex()

virtual const int8Vector_HD& pointMotionIndex ( ) const
pure virtual

Motion model index of points.

Implemented in geometryMotion< MotionModelType >.

◆ propertyId()

const int8TriSurfaceField_D& propertyId ( ) const
inline

Property ide of triangles.

Definition at line 252 of file geometry.hpp.

References geometry::propertyId_.

◆ beforeIteration()

bool beforeIteration ( )
overridevirtual

Operations before each iteration.

Implements demComponent.

Reimplemented in geometryMotion< MotionModelType >.

Definition at line 274 of file geometry.cpp.

◆ afterIteration()

bool afterIteration ( )
overridevirtual

Operations after each iteration.

Implements demComponent.

Reimplemented in geometryMotion< MotionModelType >.

Definition at line 281 of file geometry.cpp.

References LAMBDA_HD.

◆ write()

bool write ( ) const
inline

write

Definition at line 266 of file geometry.hpp.

References geometry::owner(), and repository::write().

+ Here is the call graph for this function:

◆ create() [1/2]

◆ create() [2/2]

pFlow::uniquePtr< pFlow::geometry > create ( systemControl control,
const property prop,
const dictionary dict,
const multiTriSurface triSurface,
const wordVector motionCompName,
const wordVector propName 
)
static

Definition at line 302 of file geometry.cpp.

References pFlow::angleBracketsNames(), endREPORT, fatalError, fatalExit, dictionary::getVal(), greenText, pFlow::printKeys(), REPORT, and yellowText.

+ Here is the call graph for this function:

Member Data Documentation

◆ wallProperty_

const property& wallProperty_
protected

Const reference to physical property of materials.

Definition at line 52 of file geometry.hpp.

Referenced by geometry::findPropertyId(), and geometry::wallProperty().

◆ geometryRepository_

repository& geometryRepository_
protected

Repository to store geometry data at each simulation moment.

Definition at line 55 of file geometry.hpp.

Referenced by geometry::owner().

◆ triSurface_

multiTriSurface& triSurface_
protected

All triangles in the set of wall surfaces.

Definition at line 58 of file geometry.hpp.

Referenced by geometry::getTriangleAccessor(), geometry::numPoints(), geometry::points(), geometry::size(), geometry::surface(), and geometry::vertices().

◆ motionComponentName_

wordField& motionComponentName_
protected

The name of motion component of each wall surface.

Definition at line 61 of file geometry.hpp.

◆ materialName_

wordField& materialName_
protected

Material name of each wall surface

Definition at line 64 of file geometry.hpp.

Referenced by geometry::findPropertyId().

◆ propertyId_

int8TriSurfaceField_D& propertyId_
protected

Property id of each triangle in the set of wall surfaces.

Definition at line 67 of file geometry.hpp.

Referenced by geometry::findPropertyId(), and geometry::propertyId().

◆ contactForceWall_

realx3TriSurfaceField_D& contactForceWall_
protected

Contact force on each triangle in the set of wall surfaces.

Definition at line 70 of file geometry.hpp.

Referenced by geometry::contactForceWall(), and geometry::zeroForce().

◆ stressWall_

realx3TriSurfaceField_D& stressWall_
protected

Stress on ech triangle in the set of wall surfaces.

Definition at line 73 of file geometry.hpp.


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