SPH
Classes | Typedefs | Enumerations | Functions
DerivativeHelpers.h File Reference
#include "quantities/Quantity.h"
#include "sph/equations/Derivative.h"

Go to the source code of this file.

Classes

class  DerivativeTemplate< TDerived >
 Helper template for derivatives that define both the symmetrized and asymmetric variant. More...
 
class  AccelerationTemplate< TDerived >
 Helper template specifically used to implement forces. More...
 
class  CenterDensityDiscr
 Discretization using the density of the center particle. More...
 
class  NeighbourDensityDiscr
 Discretization using the densities of summed particles. More...
 
class  VelocityTemplate< Id, Discr, Traits >
 
struct  DivergenceTraits
 
struct  RotationTraits
 
struct  GradientTraits
 

Typedefs

template<typename Discr >
using VelocityDivergence = VelocityTemplate< QuantityId::VELOCITY_DIVERGENCE, Discr, DivergenceTraits >
 
template<typename Discr >
using VelocityRotation = VelocityTemplate< QuantityId::VELOCITY_ROTATION, Discr, RotationTraits >
 
template<typename Discr >
using VelocityGradient = VelocityTemplate< QuantityId::VELOCITY_GRADIENT, Discr, GradientTraits >
 

Enumerations

enum class  DerivativeFlag { CORRECTED = 1 << 0 , SUM_ONLY_UNDAMAGED = 1 << 1 }
 

Functions

template<template< class > class TVelocityDerivative>
AutoPtr< IDerivativemakeDerivative (const RunSettings &settings, Flags< DerivativeFlag > flags=EMPTY_FLAGS)
 Creates a given velocity derivative, using discretization given by selected SPH formulation. More...
 

Typedef Documentation

◆ VelocityDivergence

Definition at line 385 of file DerivativeHelpers.h.

◆ VelocityGradient

Definition at line 391 of file DerivativeHelpers.h.

◆ VelocityRotation

Definition at line 388 of file DerivativeHelpers.h.

Enumeration Type Documentation

◆ DerivativeFlag

enum DerivativeFlag
strong
Enumerator
CORRECTED 

Use correction tensor on kernel gradient when evaluating the derivative.

Can be currently only used for asymmetric derivatives. Implies \ref SUM_ONLY_UNDAMAGED - the
correction tensor is only computed for undamaged particles. 
SUM_ONLY_UNDAMAGED 

Only undamaged particles (particles with damage > 0) from the same body (body with the same flag) will contribute to the sum.

Definition at line 8 of file DerivativeHelpers.h.

Function Documentation

◆ makeDerivative()

template<template< class > class TVelocityDerivative>
AutoPtr<IDerivative> makeDerivative ( const RunSettings settings,
Flags< DerivativeFlag flags = EMPTY_FLAGS 
)

Creates a given velocity derivative, using discretization given by selected SPH formulation.

Note that other formulations can still be used, provided the specialization of VelocityTemplate for given discretization is defined.

Definition at line 399 of file DerivativeHelpers.h.