Generic wrappers of lambdas, functors and other callables.
double Float
Precision used withing the code. Use Float instead of float or double where precision is important.
#define NAMESPACE_SPH_END
Container holding equation terms.
Gravitational kernel approximated by LUT for close particles.
Base object for boundary conditions.
Abstraction of collision outcome.
Base class for generating vertices with specific distribution.
Base class for computational domains.
Base class for equations of state.
Represents a term or terms appearing in evolutionary equations.
Interface representing a fragmentation model.
Interface for computing gravitational interactions of particles.
Base class for objects logging run statistics.
Interface providing generic (text, human readable) output of the program.
Material settings and functions specific for one material.
Interface for saving quantities of SPH particles to a file.
Handles overlaps of particles.
Base class of rheological models.
Polymorphic holder allowing to store any RNG (type erasure).
Interface that allows unified implementation of sequential and parallelized versions of algorithms.
Base class for all solvers.
Extension of IBasicFinder, allowing to search only particles with lower rank in smoothing length.
Base class for timestep setters.
Base object providing integration in time for all quantities.
A look-up table approximation of the kernel.
Object representing a path on a filesystem.
static const Settings & getDefaults()
\brief Returns a reference to object containing default values of all settings.
Container storing all quantities used within the simulations.
Generic storage and input/output routines of settings.
Provides a convenient way to construct objects from settings.
AutoPtr< ITimeStepCriterion > getTimeStepCriterion(const RunSettings &settings)
AutoPtr< IGravity > getGravity(const RunSettings &settings)
AutoPtr< IOutput > getOutput(const RunSettings &settings)
AutoPtr< ISolver > getSolver(IScheduler &scheduler, const RunSettings &settings)
AutoPtr< IFractureModel > getDamage(const BodySettings &settings)
AutoPtr< IMaterial > getMaterial(const BodySettings &settings)
AutoPtr< ISymmetricFinder > getFinder(const RunSettings &settings)
AutoPtr< ICollisionHandler > getCollisionHandler(const RunSettings &settings)
AutoPtr< IUvMapping > getUvMapping(const RunSettings &settings)
AutoPtr< IRheology > getRheology(const BodySettings &settings)
AutoPtr< IEquationTerm > getArtificialViscosity(const RunSettings &settings)
AutoPtr< IOverlapHandler > getOverlapHandler(const RunSettings &settings)
AutoPtr< ITimeStepping > getTimeStepping(const RunSettings &settings, const SharedPtr< Storage > &storage)
GravityLutKernel getGravityKernel(const RunSettings &settings)
AutoPtr< IDistribution > getDistribution(const BodySettings &settings, Function< bool(Float)> progressCallback=nullptr)
AutoPtr< ILogWriter > getLogWriter(SharedPtr< ILogger > logger, const RunSettings &settings)
AutoPtr< ILogger > getLogger(const RunSettings &settings)
AutoPtr< IEos > getEos(const BodySettings &settings)
AutoPtr< IDomain > getDomain(const RunSettings &settings)
AutoPtr< IRng > getRng(const RunSettings &settings)
LutKernel< D > getKernel(const RunSettings &settings)
AutoPtr< IBoundaryCondition > getBoundaryConditions(const RunSettings &settings, SharedPtr< IDomain > domain)
SharedPtr< IScheduler > getScheduler(const RunSettings &settings=RunSettings::getDefaults())
AutoPtr< IInput > getInput(const Path &path)