109 void rotateLocalFrame(
Storage& storage,
const Float dt);
111 enum class SearchEnum {
121 const SearchEnum opt,
133 const Float dt)
const;
Container storing sorted unique values.
uint32_t Size
Integral type used to index arrays (by default).
double Float
Precision used withing the code. Use Float instead of float or double where precision is important.
Base interface for all solvers.
#define NAMESPACE_SPH_END
Template for thread-local storage.
Object providing safe access to continuous memory of data.
Solver computing gravitational interactions of hard-sphere particles.
HardSphereSolver(IScheduler &scheduler, const RunSettings &settings)
Creates the solver, using the gravity implementation specified by settings.
Float allowedRatio
Limit ovelap of particle to be classified as "overlap" rather than "collision".
virtual void collide(Storage &storage, Statistics &stats, const Float dt) override
Checks and resolves particle collisions.
bool use
Use moment of inertia of individual particles.
AutoPtr< IOverlapHandler > handler
Handler used to resolve particle overlaps.
virtual void integrate(Storage &storage, Statistics &stats) override
Computes derivatives of all time-dependent quantities.
AutoPtr< ICollisionHandler > handler
Handler used to resolve particle collisions.
Float maxAngle
Maximum rotation of a particle in a single (sub)step.
~HardSphereSolver() override
AutoPtr< ISymmetricFinder > finder
Finder for searching the neighbours.
virtual void create(Storage &storage, IMaterial &material) const override
Initializes all quantities needed by the solver in the storage.
Abstraction of collision outcome.
Interface for computing gravitational interactions of particles.
Material settings and functions specific for one material.
Handles overlaps of particles.
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.
Object representing a 1D interval of real numbers.
Solver computing gravitational interactions and repulsive forces between particles.
virtual void create(Storage &storage, IMaterial &material) const override
Initializes all quantities needed by the solver in the storage.
~SoftSphereSolver() override
SoftSphereSolver(IScheduler &scheduler, const RunSettings &settings)
virtual void integrate(Storage &storage, Statistics &stats) override
Computes derivatives of all time-dependent quantities.
Object holding various statistics about current run.
Container storing all quantities used within the simulations.