45 struct SecondThreadData {
SPH solver with asymmetric particle evaluation.
uint32_t Size
Integral type used to index arrays (by default).
#define NAMESPACE_SPH_END
Generic dynamically allocated resizable storage.
Generic SPH solver, evaluating equations for each particle separately.
Wrapper of pointer that deletes the resource from destructor.
Container holding equation terms.
GradHSolver(IScheduler &scheduler, const RunSettings &settings, const EquationHolder &basicTerms, Array< AutoPtr< IAsymmetricTerm >> &&asymmetricTerms)
virtual void create(Storage &storage, IMaterial &material) const override
Initializes all quantities needed by the solver in the storage.
virtual void loop(Storage &storage, Statistics &stats) override
Special derivative evaluated by GradHSolver.
virtual void evalAsymmetric(const Size idx, ArrayView< const Size > neighs, ArrayView< const Vector > gradi, ArrayView< const Vector > gradj)=0
Compute a part of derivatives from interaction of particle pairs.
IScheduler & scheduler
Scheduler used to parallelize the solver.
virtual void setAsymmetricDerivatives(Array< AutoPtr< IAsymmetricDerivative >> &asymmetricDerivatives)=0
Derivative accumulated by summing up neighbouring particles.
Material settings and functions specific for one material.
Interface that allows unified implementation of sequential and parallelized versions of algorithms.
Object holding various statistics about current run.
Container storing all quantities used within the simulations.
Base class for all polymorphic objects.