SPH
|
Special derivative evaluated by GradHSolver. More...
#include <GradHSolver.h>
Public Member Functions | |
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. More... | |
![]() | |
virtual void | create (Accumulated &results)=0 |
Emplace all needed buffers into shared storage. More... | |
virtual void | initialize (const Storage &input, Accumulated &results)=0 |
Initialize derivative before iterating over neighbours. More... | |
virtual void | evalNeighs (const Size idx, ArrayView< const Size > neighs, ArrayView< const Vector > grads)=0 |
Compute derivatives of given particle. More... | |
virtual DerivativePhase | phase () const =0 |
Returns the phase of the derivative. More... | |
virtual bool | equals (const IDerivative &other) const |
Returns true if this derivative is equal to the given derivative. More... | |
![]() | |
virtual | ~Polymorphic () |
Special derivative evaluated by GradHSolver.
Unlike other derivatives which use the same gradient for both particles in evaluated pair (due to symmetrization in smoothing lenghts or direct symmetrization of kernel values), asymmetric derivatives have generally different gradients for both particles.
Definition at line 17 of file GradHSolver.h.
|
pure virtual |
Compute a part of derivatives from interaction of particle pairs.
idx | Index of first interacting particle. |
neighs | Array of some neighbours of idx-th particle. May be empty. |
gradi | Computed gradients of the SPH kernel for particle i. |
gradj | Computed gradients of the SPH kernel for particle j. |
Implemented in AsymmetricPressureGradient.