SPH
Public Member Functions | List of all members
SummationSolver< Dim > Class Template Reference

SPH solver using density and specific energy as independent variables. More...

#include <SummationSolver.h>

Inheritance diagram for SummationSolver< Dim >:
SymmetricSolver< Dim > ISolver Polymorphic

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...
 
- Public Member Functions inherited from SymmetricSolver< Dim >
 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...
 
- Public Member Functions inherited from ISolver
virtual void collide (Storage &UNUSED(storage), Statistics &UNUSED(stats), const Float UNUSED(dt))
 Detects the collisions and computes new positions of particles. More...
 
- Public Member Functions inherited from Polymorphic
virtual ~Polymorphic ()
 

Additional Inherited Members

- Protected Member Functions inherited from SymmetricSolver< Dim >
virtual void loop (Storage &storage, Statistics &stats)
 
virtual void afterLoop (Storage &storage, Statistics &stats)
 
virtual RawPtr< const IBasicFindergetFinder (ArrayView< const Vector > r)
 
- Protected Attributes inherited from SymmetricSolver< Dim >
ISchedulerscheduler
 Scheduler to parallelize the solver. More...
 
ThreadLocal< ThreadDatathreadData
 Thread-local structure caching all buffers needed to compute derivatives. More...
 
EquationHolder equations
 Holds all equation terms evaluated by the solver. More...
 
AutoPtr< IBoundaryConditionbc
 Boundary condition used by the solver. More...
 
AutoPtr< ISymmetricFinderfinder
 Structure used to search for neighbouring particles. More...
 
LutKernel< Dim > kernel
 Selected SPH kernel. More...
 

Detailed Description

template<Size Dim>
class SummationSolver< Dim >

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.

Constructor & Destructor Documentation

◆ SummationSolver() [1/2]

template<Size Dim>
SummationSolver< Dim >::SummationSolver ( IScheduler scheduler,
const RunSettings settings,
const EquationHolder additionalEquations = {} 
)

Definition at line 52 of file SummationSolver.cpp.

◆ SummationSolver() [2/2]

template<Size Dim>
SummationSolver< Dim >::SummationSolver ( IScheduler scheduler,
const RunSettings settings,
const EquationHolder additionalEquations,
AutoPtr< IBoundaryCondition > &&  bc 
)

Definition at line 37 of file SummationSolver.cpp.

Member Function Documentation

◆ create()

template<Size Dim>
void SummationSolver< Dim >::create ( Storage storage,
IMaterial material 
) const
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.

Parameters
storageParticle storage that shall be modified as needed by the solver.
materialMaterial 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.


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