SPH
|
Generalization of material with equation of state. More...
#include <Materials.h>
Public Member Functions | |
SolidMaterial (const BodySettings &body, AutoPtr< IEos > &&eos, AutoPtr< IRheology > &&rheology) | |
SolidMaterial (const BodySettings &body) | |
virtual void | create (Storage &storage, const MaterialInitialContext &context) override |
Create all quantities needed by the material. More... | |
virtual void | initialize (IScheduler &scheduler, Storage &storage, const IndexSequence sequence) override |
Initialize all quantities and material parameters. More... | |
virtual void | finalize (IScheduler &scheduler, Storage &storage, const IndexSequence sequence) override |
Finalizes the material for the time step. More... | |
![]() | |
EosMaterial (const BodySettings &body, AutoPtr< IEos > &&eos) | |
Creates the material by specifying an equation of state. More... | |
EosMaterial (const BodySettings &body) | |
Creates the material. More... | |
Pair< Float > | evaluate (const Float rho, const Float u) const |
const IEos & | getEos () const |
Returns the equation of state. More... | |
virtual void | finalize (IScheduler &UNUSED(scheduler), Storage &UNUSED(storage), const IndexSequence UNUSED(sequence)) override |
![]() | |
IMaterial (const BodySettings &settings) | |
template<typename TValue > | |
INLINE IMaterial & | setParam (const BodySettingsId paramIdx, TValue &&value) |
template<typename TValue > | |
INLINE TValue | getParam (const BodySettingsId paramIdx) const |
Returns a parameter associated with given particle. More... | |
INLINE const BodySettings & | getParams () const |
Returns settings containing material parameters. More... | |
void | setRange (const QuantityId id, const Interval &range, const Float minimal) |
Sets the timestepping parameters of given quantity. More... | |
INLINE void | setRange (const QuantityId id, const BodySettingsId rangeId, const BodySettingsId minimalId) |
Sets the timestepping parameters of given quantity. More... | |
INLINE Float | minimal (const QuantityId id) const |
Returns the scale value of the quantity. More... | |
INLINE const Interval | range (const QuantityId id) const |
Returns the range of allowed quantity values. More... | |
![]() | |
virtual | ~Polymorphic () |
Additional Inherited Members | |
![]() | |
BodySettings | params |
Per-material parameters. More... | |
FlatMap< QuantityId, Float > | minimals |
Minimal values used in timestepping, do not affect values of quantities themselves. More... | |
FlatMap< QuantityId, Interval > | ranges |
Allowed range of quantities. More... | |
![]() | |
static const Interval | DEFAULT_RANGE = Interval::unbounded() |
Default values. More... | |
static const Float | DEFAULT_MINIMAL = 0._f |
Generalization of material with equation of state.
It holds a rheology implementation that modifies pressure and stress tensor. This is done in initialize function, function finalize then integrates the fragmentation model (if used, of course).
Definition at line 60 of file Materials.h.
SolidMaterial::SolidMaterial | ( | const BodySettings & | body, |
AutoPtr< IEos > && | eos, | ||
AutoPtr< IRheology > && | rheology | ||
) |
Definition at line 63 of file Materials.cpp.
|
explicit |
Definition at line 67 of file Materials.cpp.
|
overridevirtual |
Create all quantities needed by the material.
Reimplemented from EosMaterial.
Definition at line 70 of file Materials.cpp.
|
overridevirtual |
Finalizes the material for the time step.
Called after derivatives are computed.
scheduler | Scheduler potentially used for parallelization |
storage | Storage containing the particles and materials |
sequence | Index sequence of the particles with this material |
Implements IMaterial.
Definition at line 84 of file Materials.cpp.
|
overridevirtual |
Initialize all quantities and material parameters.
Called once every step before loop.
scheduler | Scheduler potentially used for parallelization |
storage | Storage containing the particles and materials |
sequence | Index sequence of the particles with this material |
Reimplemented from EosMaterial.
Definition at line 77 of file Materials.cpp.