SPH
Public Member Functions | Protected Member Functions | List of all members
GravitySolver< TSphSolver > Class Template Reference

Extension of a generic SPH solver, including gravitational interactions of particles. More...

#include <GravitySolver.h>

Inheritance diagram for GravitySolver< TSphSolver >:

Public Member Functions

 GravitySolver (IScheduler &scheduler, const RunSettings &settings, const EquationHolder &equations)
 Creates the gravity solver, used implementation of gravity given by settings parameters. More...
 
 GravitySolver (IScheduler &scheduler, const RunSettings &settings, const EquationHolder &equations, AutoPtr< IBoundaryCondition > &&bc)
 Creates the gravity solver by explicitly specifying the boundary conditions. More...
 
 GravitySolver (IScheduler &scheduler, const RunSettings &settings, const EquationHolder &equations, AutoPtr< IBoundaryCondition > &&bc, AutoPtr< IGravity > &&gravity)
 Creates the gravity solver by explicitly specifying the boundary conditions and gravity implementation. More...
 
 ~GravitySolver ()
 
 GravitySolver (IScheduler &scheduler, const RunSettings &settings, const EquationHolder &equations, AutoPtr< IBoundaryCondition > &&bc, AutoPtr< IGravity > &&gravity)
 

Protected Member Functions

virtual void loop (Storage &storage, Statistics &stats) override
 
virtual void sanityCheck (const Storage &storage) const override
 
virtual RawPtr< const IBasicFindergetFinder (ArrayView< const Vector > r) override
 
AccumulatedgetAccumulated ()
 Returns the accumulated storage, either thread-local or shared one based on SPH solver. More...
 
AccumulatedgetAccumulated ()
 
AccumulatedgetAccumulated ()
 
AccumulatedgetAccumulated ()
 
RawPtr< const IBasicFindergetFinder (ArrayView< const Vector > r)
 
RawPtr< const IBasicFindergetFinder (ArrayView< const Vector > r)
 
RawPtr< const IBasicFindergetFinder (ArrayView< const Vector > UNUSED(r))
 

Detailed Description

template<typename TSphSolver>
class GravitySolver< TSphSolver >

Extension of a generic SPH solver, including gravitational interactions of particles.

Explicitly specialized for AsymmetricSolver, SymmetricSolver and EnergyConservingSolver.

Definition at line 22 of file GravitySolver.h.

Constructor & Destructor Documentation

◆ GravitySolver() [1/4]

template<typename TSphSolver >
NAMESPACE_SPH_BEGIN GravitySolver< TSphSolver >::GravitySolver ( IScheduler scheduler,
const RunSettings settings,
const EquationHolder equations 
)

Creates the gravity solver, used implementation of gravity given by settings parameters.

Definition at line 18 of file GravitySolver.cpp.

◆ GravitySolver() [2/4]

template<typename TSphSolver >
GravitySolver< TSphSolver >::GravitySolver ( IScheduler scheduler,
const RunSettings settings,
const EquationHolder equations,
AutoPtr< IBoundaryCondition > &&  bc 
)

Creates the gravity solver by explicitly specifying the boundary conditions.

Definition at line 24 of file GravitySolver.cpp.

◆ GravitySolver() [3/4]

template<typename TSphSolver >
GravitySolver< TSphSolver >::GravitySolver ( IScheduler scheduler,
const RunSettings settings,
const EquationHolder equations,
AutoPtr< IBoundaryCondition > &&  bc,
AutoPtr< IGravity > &&  gravity 
)

Creates the gravity solver by explicitly specifying the boundary conditions and gravity implementation.

Definition at line 31 of file GravitySolver.cpp.

◆ ~GravitySolver()

template<typename TSphSolver >
GravitySolver< TSphSolver >::~GravitySolver ( )
default

◆ GravitySolver() [4/4]

GravitySolver< SymmetricSolver< DIMENSIONS > >::GravitySolver ( IScheduler scheduler,
const RunSettings settings,
const EquationHolder equations,
AutoPtr< IBoundaryCondition > &&  bc,
AutoPtr< IGravity > &&  gravity 
)

Definition at line 45 of file GravitySolver.cpp.

Member Function Documentation

◆ getAccumulated() [1/4]

Accumulated & GravitySolver< SymmetricSolver< DIMENSIONS > >::getAccumulated ( )
protected

Definition at line 90 of file GravitySolver.cpp.

◆ getAccumulated() [2/4]

Accumulated & GravitySolver< AsymmetricSolver >::getAccumulated ( )
protected

Definition at line 97 of file GravitySolver.cpp.

◆ getAccumulated() [3/4]

Accumulated & GravitySolver< EnergyConservingSolver >::getAccumulated ( )
protected

Definition at line 102 of file GravitySolver.cpp.

◆ getAccumulated() [4/4]

template<typename TSphSolver >
Accumulated& GravitySolver< TSphSolver >::getAccumulated ( )
protected

Returns the accumulated storage, either thread-local or shared one based on SPH solver.

◆ getFinder() [1/4]

RawPtr< const IBasicFinder > GravitySolver< AsymmetricSolver >::getFinder ( ArrayView< const Vector r)
protected

Definition at line 107 of file GravitySolver.cpp.

◆ getFinder() [2/4]

RawPtr< const IBasicFinder > GravitySolver< EnergyConservingSolver >::getFinder ( ArrayView< const Vector r)
protected

Definition at line 118 of file GravitySolver.cpp.

◆ getFinder() [3/4]

template<typename TSphSolver >
virtual RawPtr<const IBasicFinder> GravitySolver< TSphSolver >::getFinder ( ArrayView< const Vector r)
overrideprotectedvirtual

◆ getFinder() [4/4]

RawPtr< const IBasicFinder > GravitySolver< SymmetricSolver< DIMENSIONS > >::getFinder ( ArrayView< const Vector >   UNUSEDr)
protected

Definition at line 129 of file GravitySolver.cpp.

◆ loop()

template<typename TSphSolver >
void GravitySolver< TSphSolver >::loop ( Storage storage,
Statistics stats 
)
overrideprotectedvirtual

Definition at line 64 of file GravitySolver.cpp.

◆ sanityCheck()

template<typename TSphSolver >
void GravitySolver< TSphSolver >::sanityCheck ( const Storage storage) const
overrideprotectedvirtual
Todo:
generalize for ALL solvers of gravity (some categories?)

Definition at line 137 of file GravitySolver.cpp.


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