SPH
Public Member Functions | List of all members
IRheology Class Referenceabstract

Base class of rheological models. More...

#include <Rheology.h>

Inheritance diagram for IRheology:
Polymorphic DruckerPragerRheology ElasticRheology VonMisesRheology

Public Member Functions

virtual void create (Storage &storage, IMaterial &material, const MaterialInitialContext &context) const =0
 Creates all the necessary quantities and material parameters needed by the rheology. More...
 
virtual void initialize (IScheduler &scheduler, Storage &storage, const MaterialView material)=0
 Evaluates the stress tensor reduction factors. More...
 
virtual void integrate (IScheduler &scheduler, Storage &storage, const MaterialView material)=0
 Computes derivatives of the time-dependent quantities of the rheological model. More...
 
- Public Member Functions inherited from Polymorphic
virtual ~Polymorphic ()
 

Detailed Description

Base class of rheological models.

Shall be only used in SolidMaterial, functions do not have to be called directly from the solver.

Definition at line 22 of file Rheology.h.

Member Function Documentation

◆ create()

virtual void IRheology::create ( Storage storage,
IMaterial material,
const MaterialInitialContext context 
) const
pure virtual

Creates all the necessary quantities and material parameters needed by the rheology.

The function is called for each body added to the simulation.

Parameters
storageParticle storage, containing particle positions and their masses (optionally also other quantities). Particles belong only to the body being created, other bodies have separate storages.
materialMaterial containing input material parameters. The rheology may sets the timestepping parameters (range and minimal values) of the material.
contextShared data for creating all materials in the simulation.

Implemented in VonMisesRheology, ElasticRheology, and DruckerPragerRheology.

◆ initialize()

virtual void IRheology::initialize ( IScheduler scheduler,
Storage storage,
const MaterialView  material 
)
pure virtual

Evaluates the stress tensor reduction factors.

Called for every material in the simulation every timestep, before iteration over particle pairs

Parameters
schedulerScheduler used for parallelization.
storageStorage including all the particles.
materialMaterial properties and sequence of particles with this material. Implementation should only modify particles with indices in this sequence.

Implemented in ElasticRheology, DruckerPragerRheology, and VonMisesRheology.

◆ integrate()

virtual void IRheology::integrate ( IScheduler scheduler,
Storage storage,
const MaterialView  material 
)
pure virtual

Computes derivatives of the time-dependent quantities of the rheological model.

Called for every material in the simulation every timestep, after all derivatives are computed.

Parameters
schedulerScheduler used for parallelization.
storageStorage including all the particles.
materialMaterial properties and sequence of particles with this material. Implementation should only modify particles with indices in this sequence.

Implemented in ElasticRheology, DruckerPragerRheology, and VonMisesRheology.


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