www.cemf.ir
demComponent Class Referenceabstract

A base class for every main component of DEM system. More...

+ Inheritance diagram for demComponent:
+ Collaboration diagram for demComponent:

Public Member Functions

 TypeInfo ("demComponent")
 Type info. More...
 
 demComponent (const word &name, systemControl &control)
 construct from components More...
 
 demComponent (const demComponent &)=delete
 No copy constructor. More...
 
 demComponent (demComponent &&)=delete
 No move constructor. More...
 
demComponentoperator= (const demComponent &)=delete
 No copy assignment. More...
 
demComponentoperator= (demComponent &&)=delete
 No move assignment. More...
 
virtual ~demComponent ()=default
 destructor More...
 
const auto & control () const
 Const ref to systemControl. More...
 
auto & control ()
 Ref to systemControl. More...
 
real dt () const
 Time step of integration. More...
 
real currentTime () const
 Current simulation time. More...
 
const auto & timers () const
 Const ref to timers. More...
 
auto & timers ()
 Ref to timers. More...
 
virtual bool beforeTimeLoop ()
 This is called before the start of time loop. More...
 
virtual bool beforeIteration ()=0
 This is called in time loop, before iterate. More...
 
virtual bool iterate ()=0
 This is called in time loop. More...
 
virtual bool afterIteration ()=0
 This is called in time loop, after iterate. More...
 
virtual bool afterTimeLoop ()
 This is called after the time loop. More...
 

Protected Attributes

word componentName_
 Name of the DEM component. More...
 
systemControlcontrol_
 Reference to systemControl. More...
 
Timers timers_
 All timers (if any) of this component. More...
 

Detailed Description

A base class for every main component of DEM system.

This class provides abstraction at a very high level for any solver/utility that forces the derived component (i.e. particles, geometry, and etc) to advance over time when iterate is called in time a loop.

Definition at line 39 of file demComponent.hpp.

Constructor & Destructor Documentation

◆ demComponent() [1/3]

demComponent ( const word name,
systemControl control 
)
inline

construct from components

Definition at line 62 of file demComponent.hpp.

◆ demComponent() [2/3]

demComponent ( const demComponent )
delete

No copy constructor.

◆ demComponent() [3/3]

demComponent ( demComponent &&  )
delete

No move constructor.

◆ ~demComponent()

virtual ~demComponent ( )
virtualdefault

destructor

Member Function Documentation

◆ TypeInfo()

TypeInfo ( "demComponent"  )

Type info.

◆ operator=() [1/2]

demComponent& operator= ( const demComponent )
delete

No copy assignment.

◆ operator=() [2/2]

demComponent& operator= ( demComponent &&  )
delete

No move assignment.

◆ control() [1/2]

const auto& control ( ) const
inline

Const ref to systemControl.

Definition at line 89 of file demComponent.hpp.

References demComponent::control_.

Referenced by particles::beforeIteration().

+ Here is the caller graph for this function:

◆ control() [2/2]

auto& control ( )
inline

Ref to systemControl.

Definition at line 96 of file demComponent.hpp.

References demComponent::control_.

◆ dt()

real dt ( ) const
inline

Time step of integration.

Definition at line 103 of file demComponent.hpp.

References demComponent::control_, timeControl::dt(), and systemControl::time().

+ Here is the call graph for this function:

◆ currentTime()

real currentTime ( ) const
inline

Current simulation time.

Definition at line 110 of file demComponent.hpp.

References demComponent::control_, timeControl::currentTime(), and systemControl::time().

+ Here is the call graph for this function:

◆ timers() [1/2]

const auto& timers ( ) const
inline

Const ref to timers.

Definition at line 117 of file demComponent.hpp.

References demComponent::timers_.

◆ timers() [2/2]

auto& timers ( )
inline

Ref to timers.

Definition at line 124 of file demComponent.hpp.

References demComponent::timers_.

◆ beforeTimeLoop()

virtual bool beforeTimeLoop ( )
inlinevirtual

This is called before the start of time loop.

Definition at line 131 of file demComponent.hpp.

References notImplementedFunction.

◆ beforeIteration()

virtual bool beforeIteration ( )
pure virtual

◆ iterate()

virtual bool iterate ( )
pure virtual

This is called in time loop.

Perform the main calculations when the component should evolve along time.

Implemented in sphereParticles, geometryMotion< MotionModelType >, and sphereInteraction< contactForceModel, geometryMotionModel, contactListType >.

◆ afterIteration()

virtual bool afterIteration ( )
pure virtual

◆ afterTimeLoop()

virtual bool afterTimeLoop ( )
inlinevirtual

This is called after the time loop.

Definition at line 152 of file demComponent.hpp.

References notImplementedFunction.

Member Data Documentation

◆ componentName_

word componentName_
protected

Name of the DEM component.

Definition at line 46 of file demComponent.hpp.

◆ control_

systemControl& control_
protected

Reference to systemControl.

Definition at line 49 of file demComponent.hpp.

Referenced by demComponent::control(), demComponent::currentTime(), and demComponent::dt().

◆ timers_

Timers timers_
protected

All timers (if any) of this component.

Definition at line 52 of file demComponent.hpp.

Referenced by demComponent::timers().


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