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

Material that does not require any initialization or finalization. More...

#include <IMaterial.h>

Inheritance diagram for NullMaterial:
IMaterial Polymorphic CustomMaterial

Public Member Functions

 NullMaterial (const BodySettings &body)
 
virtual void create (Storage &UNUSED(storage), const MaterialInitialContext &UNUSED(context)) override
 
virtual void initialize (IScheduler &UNUSED(scheduler), Storage &UNUSED(storage), const IndexSequence UNUSED(sequence)) override
 
virtual void finalize (IScheduler &UNUSED(scheduler), Storage &UNUSED(storage), const IndexSequence UNUSED(sequence)) override
 
- Public Member Functions inherited from IMaterial
 IMaterial (const BodySettings &settings)
 
template<typename TValue >
INLINE IMaterialsetParam (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 BodySettingsgetParams () 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 void create (Storage &storage, const MaterialInitialContext &context)=0
 Create all quantities needed by the material. More...
 
virtual void initialize (IScheduler &scheduler, Storage &storage, const IndexSequence sequence)=0
 Initialize all quantities and material parameters. More...
 
virtual void finalize (IScheduler &scheduler, Storage &storage, const IndexSequence sequence)=0
 Finalizes the material for the time step. More...
 
- Public Member Functions inherited from Polymorphic
virtual ~Polymorphic ()
 

Additional Inherited Members

- Protected Attributes inherited from IMaterial
BodySettings params
 Per-material parameters. More...
 
FlatMap< QuantityId, Floatminimals
 Minimal values used in timestepping, do not affect values of quantities themselves. More...
 
FlatMap< QuantityId, Intervalranges
 Allowed range of quantities. More...
 
- Static Protected Attributes inherited from IMaterial
static const Interval DEFAULT_RANGE = Interval::unbounded()
 Default values. More...
 
static const Float DEFAULT_MINIMAL = 0._f
 

Detailed Description

Material that does not require any initialization or finalization.

It only holds the per-material properties of particles.

Definition at line 200 of file IMaterial.h.

Constructor & Destructor Documentation

◆ NullMaterial()

NullMaterial::NullMaterial ( const BodySettings body)
inlineexplicit

Definition at line 202 of file IMaterial.h.

Member Function Documentation

◆ create()

virtual void NullMaterial::create ( Storage UNUSEDstorage,
const MaterialInitialContext UNUSEDcontext 
)
inlineoverridevirtual

Definition at line 205 of file IMaterial.h.

◆ finalize()

virtual void NullMaterial::finalize ( IScheduler UNUSEDscheduler,
Storage UNUSEDstorage,
const IndexSequence   UNUSEDsequence 
)
inlineoverridevirtual

Definition at line 211 of file IMaterial.h.

◆ initialize()

virtual void NullMaterial::initialize ( IScheduler UNUSEDscheduler,
Storage UNUSEDstorage,
const IndexSequence   UNUSEDsequence 
)
inlineoverridevirtual

Definition at line 207 of file IMaterial.h.


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