double Float
Precision used withing the code. Use Float instead of float or double where precision is important.
Base class for all particle materials.
AutoPtr< IMaterial > getMaterial(const MaterialEnum type)
MaterialEnum
Basic materials available in the code.
#define NAMESPACE_SPH_END
Material holding equation of state.
virtual void finalize(IScheduler &UNUSED(scheduler), Storage &UNUSED(storage), const IndexSequence UNUSED(sequence)) override
virtual void initialize(IScheduler &scheduler, Storage &storage, const IndexSequence sequence) override
Initialize all quantities and material parameters.
const IEos & getEos() const
Returns the equation of state.
EosMaterial(const BodySettings &body, AutoPtr< IEos > &&eos)
Creates the material by specifying an equation of state.
Pair< Float > evaluate(const Float rho, const Float u) const
virtual void create(Storage &storage, const MaterialInitialContext &context) override
Create all quantities needed by the material.
Base class for equations of state.
Material settings and functions specific for one material.
Base class of rheological models.
Interface that allows unified implementation of sequential and parallelized versions of algorithms.
Generalization of material with equation of state.
virtual void initialize(IScheduler &scheduler, Storage &storage, const IndexSequence sequence) override
Initialize all quantities and material parameters.
virtual void create(Storage &storage, const MaterialInitialContext &context) override
Create all quantities needed by the material.
virtual void finalize(IScheduler &scheduler, Storage &storage, const IndexSequence sequence) override
Finalizes the material for the time step.
SolidMaterial(const BodySettings &body, AutoPtr< IEos > &&eos, AutoPtr< IRheology > &&rheology)
Array with fixed number of allocated elements.
Container storing all quantities used within the simulations.
Shared data used when creating all bodies in the simulation.