SPH
|
Standard artificial viscosity Monaghan & Gingold [9]. More...
#include <Standard.h>
Classes | |
class | Derivative |
Public Member Functions | |
virtual void | setDerivatives (DerivativeHolder &derivatives, const RunSettings &settings) override |
Sets derivatives required by this term. More... | |
virtual void | initialize (IScheduler &UNUSED(scheduler), Storage &UNUSED(storage), const Float UNUSED(t)) override |
virtual void | finalize (IScheduler &UNUSED(scheduler), Storage &UNUSED(storage), const Float UNUSED(t)) override |
virtual void | create (Storage &UNUSED(storage), IMaterial &UNUSED(material)) const override |
![]() | |
virtual void | initialize (IScheduler &scheduler, Storage &storage, const Float t)=0 |
Initialize all the derivatives and/or quantity values before derivatives are computed. More... | |
virtual void | finalize (IScheduler &scheduler, Storage &storage, const Float t)=0 |
Computes all the derivatives and/or quantity values based on accumulated derivatives. More... | |
virtual void | create (Storage &storage, IMaterial &material) const =0 |
Creates all quantities needed by the term using given material. More... | |
![]() | |
virtual | ~Polymorphic () |
Standard artificial viscosity Monaghan & Gingold [9].
The artificial viscosity term uses a velocity divergence in linear and quadratic term as a measure of local (scalar) dissipation. Acceleration due to the term is:
\[ \frac{{\rm d} \vec v_i}{{\rm d} t} = \sum_j \frac{m_j}{\bar\rho} \left(-\alpha_{\rm AV} \bar{c_{\rm s}} \mu + \beta_{\rm AV} \mu^2 \right) \nabla W_{ij}\,, \]
where \(\mu\) is defined as:
\[ \mu = \frac{\bar{h} (\vec v_i-\vec v_j)\cdot(\vec r_i-\vec r_j)}{ \epsilon \bar{h}^2 \| \vec r_i - \vec r_j \| }\,. \]
A bar over values denodes symmetrization over particle pair, for example \(\bar{h} = 0.5(h_i + h_j)\).
The viscosity only applies in convergent flow ( \((\vec v_i-\vec v_j)\cdot(\vec r_i-\vec r_j) < 0\)), it is zero in divergent flow. Parameters \(\alpha_{\rm AV}\) and \(\beta_{\rm AV}\) are constant (in time) and equal for all particles.
Definition at line 34 of file Standard.h.
|
inlineoverridevirtual |
Definition at line 98 of file Standard.h.
|
inlineoverridevirtual |
Definition at line 94 of file Standard.h.
|
inlineoverridevirtual |
Definition at line 90 of file Standard.h.
|
inlineoverridevirtual |
Sets derivatives required by this term.
The derivatives are then automatically evaluated by the solver, the equation term can access the result in finalize function. This function is called once for each thread at the beginning of the run.
Implements IEquationTerm.
Definition at line 86 of file Standard.h.