SPH
Public Member Functions | List of all members
DruckerPragerRheology Class Reference

Pressure dependent failure modes [5]. More...

#include <Rheology.h>

Inheritance diagram for DruckerPragerRheology:
IRheology Polymorphic

Public Member Functions

 DruckerPragerRheology ()
 Constructs a rheology with no fragmentation model. More...
 
 DruckerPragerRheology (AutoPtr< IFractureModel > &&damage)
 Constructs a rheology with given fragmentation model. More...
 
 ~DruckerPragerRheology ()
 
virtual void create (Storage &storage, IMaterial &material, const MaterialInitialContext &context) const override
 Creates all the necessary quantities and material parameters needed by the rheology. More...
 
virtual void initialize (IScheduler &scheduler, Storage &storage, const MaterialView material) override
 Evaluates the stress tensor reduction factors. More...
 
virtual void integrate (IScheduler &scheduler, Storage &storage, const MaterialView material) override
 Computes derivatives of the time-dependent quantities of the rheological model. More...
 
- Public Member Functions inherited from Polymorphic
virtual ~Polymorphic ()
 

Detailed Description

Pressure dependent failure modes [5].

Definition at line 84 of file Rheology.h.

Constructor & Destructor Documentation

◆ DruckerPragerRheology() [1/2]

DruckerPragerRheology::DruckerPragerRheology ( )

Constructs a rheology with no fragmentation model.

Stress tensor is only modified by von Mises criterion, yielding strength does not depend on damage.

Definition at line 94 of file Rheology.cpp.

◆ DruckerPragerRheology() [2/2]

DruckerPragerRheology::DruckerPragerRheology ( AutoPtr< IFractureModel > &&  damage)

Constructs a rheology with given fragmentation model.

Definition at line 97 of file Rheology.cpp.

◆ ~DruckerPragerRheology()

DruckerPragerRheology::~DruckerPragerRheology ( )
default

Member Function Documentation

◆ create()

void DruckerPragerRheology::create ( Storage storage,
IMaterial material,
const MaterialInitialContext context 
) const
overridevirtual

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.
Todo:
user defined max value

Implements IRheology.

Definition at line 104 of file Rheology.cpp.

◆ initialize()

void DruckerPragerRheology::initialize ( IScheduler scheduler,
Storage storage,
const MaterialView  material 
)
overridevirtual

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.

Implements IRheology.

Definition at line 119 of file Rheology.cpp.

◆ integrate()

void DruckerPragerRheology::integrate ( IScheduler scheduler,
Storage storage,
const MaterialView  material 
)
overridevirtual

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.

Implements IRheology.

Definition at line 190 of file Rheology.cpp.


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