SPH
|
SPH solver using density and specific energy as independent variables. More...
#include <SummationSolver.h>
Public Member Functions | |
SummationSolver (IScheduler &scheduler, const RunSettings &settings, const EquationHolder &additionalEquations={}) | |
SummationSolver (IScheduler &scheduler, const RunSettings &settings, const EquationHolder &additionalEquations, AutoPtr< IBoundaryCondition > &&bc) | |
virtual void | create (Storage &storage, IMaterial &material) const override |
Initializes all quantities needed by the solver in the storage. More... | |
![]() | |
SymmetricSolver (IScheduler &scheduler, const RunSettings &settings, const EquationHolder &eqs, AutoPtr< IBoundaryCondition > &&bc) | |
Creates a symmetric solver, given the list of equations to solve. More... | |
SymmetricSolver (IScheduler &scheduler, const RunSettings &settings, const EquationHolder &eqs) | |
Creates a symmetric solver, using boundary conditions specified in settings. More... | |
~SymmetricSolver () | |
virtual void | integrate (Storage &storage, Statistics &stats) override |
Computes derivatives of all time-dependent quantities. More... | |
![]() | |
virtual void | collide (Storage &UNUSED(storage), Statistics &UNUSED(stats), const Float UNUSED(dt)) |
Detects the collisions and computes new positions of particles. More... | |
![]() | |
virtual | ~Polymorphic () |
Additional Inherited Members | |
![]() | |
virtual void | loop (Storage &storage, Statistics &stats) |
virtual void | afterLoop (Storage &storage, Statistics &stats) |
virtual RawPtr< const IBasicFinder > | getFinder (ArrayView< const Vector > r) |
![]() | |
IScheduler & | scheduler |
Scheduler to parallelize the solver. More... | |
ThreadLocal< ThreadData > | threadData |
Thread-local structure caching all buffers needed to compute derivatives. More... | |
EquationHolder | equations |
Holds all equation terms evaluated by the solver. More... | |
AutoPtr< IBoundaryCondition > | bc |
Boundary condition used by the solver. More... | |
AutoPtr< ISymmetricFinder > | finder |
Structure used to search for neighbouring particles. More... | |
LutKernel< Dim > | kernel |
Selected SPH kernel. More... | |
SPH solver using density and specific energy as independent variables.
Density is solved by direct summation, using self-consistent solution with smoothing length. Energy is evolved using energy equation.
Definition at line 17 of file SummationSolver.h.
SummationSolver< Dim >::SummationSolver | ( | IScheduler & | scheduler, |
const RunSettings & | settings, | ||
const EquationHolder & | additionalEquations = {} |
||
) |
Definition at line 52 of file SummationSolver.cpp.
SummationSolver< Dim >::SummationSolver | ( | IScheduler & | scheduler, |
const RunSettings & | settings, | ||
const EquationHolder & | additionalEquations, | ||
AutoPtr< IBoundaryCondition > && | bc | ||
) |
Definition at line 37 of file SummationSolver.cpp.
|
overridevirtual |
Initializes all quantities needed by the solver in the storage.
When called, storage already contains particle positions and their masses. All remaining quantities must be created by the solver. The function is called once for every body in the run. The given storage is guaranteed to be homogeneous; it contains only a single material.
storage | Particle storage that shall be modified as needed by the solver. |
material | Material containing parameters of the body being created. The solver can also set up necessary timestepping parameters of the material (ranges and minimal values of quantities). |
Reimplemented from SymmetricSolver< Dim >.
Definition at line 58 of file SummationSolver.cpp.