ViennaLS
Loading...
Searching...
No Matches
viennals::OxidationMaterialVelocity< T, D > Class Template Referencefinal

Monolithic contact: one material's velocity from the shared mechanics solve, as a VelocityField for advecting that material's surface. More...

#include <lsOxidationDeformation.hpp>

Inheritance diagram for viennals::OxidationMaterialVelocity< T, D >:
viennals::VelocityField< T >

Public Member Functions

 OxidationMaterialVelocity (SmartPointer< OxidationDeformation< T, D > > field, bool nitride)
Vec3D< T > getVectorVelocity (const Vec3D< T > &coordinate, int, const Vec3D< T > &, unsigned long) final
 Like getScalarVelocity, but returns a velocity value for each cartesian direction.
T getDissipationAlpha (int direction, int material, const Vec3D< T > &centralDifferences) final
 If lsLocalLaxFriedrichsAnalytical is used as the spatial discretization scheme, this is called to provide the analytical solution for the alpha values, needed for numerical stability.
virtual T getScalarVelocity (const Vec3D< T > &, int, const Vec3D< T > &, unsigned long)
 Should return a scalar value for the velocity at coordinate for a point of material with the given normalVector.

Static Public Member Functions

template<class... Args>
static auto New (Args &&...args)

Detailed Description

template<class T, int D>
class viennals::OxidationMaterialVelocity< T, D >

Monolithic contact: one material's velocity from the shared mechanics solve, as a VelocityField for advecting that material's surface.

Constructor & Destructor Documentation

◆ OxidationMaterialVelocity()

template<class T, int D>
viennals::OxidationMaterialVelocity< T, D >::OxidationMaterialVelocity ( SmartPointer< OxidationDeformation< T, D > > field,
bool nitride )
inline

Member Function Documentation

◆ getDissipationAlpha()

template<class T, int D>
T viennals::OxidationMaterialVelocity< T, D >::getDissipationAlpha ( int direction,
int material,
const Vec3D< T > & centralDifferences )
inlinefinalvirtual

If lsLocalLaxFriedrichsAnalytical is used as the spatial discretization scheme, this is called to provide the analytical solution for the alpha values, needed for numerical stability.

Reimplemented from viennals::VelocityField< T >.

◆ getScalarVelocity()

template<class T>
virtual T viennals::VelocityField< T >::getScalarVelocity ( const Vec3D< T > & ,
int ,
const Vec3D< T > & ,
unsigned long  )
inlinevirtualinherited

Should return a scalar value for the velocity at coordinate for a point of material with the given normalVector.

Reimplemented in viennals::OxidationDeformation< T, D >, viennals::OxidationDiffusion< T, D >, and viennals::OxidationMaskCarry< T, D >.

◆ getVectorVelocity()

template<class T, int D>
Vec3D< T > viennals::OxidationMaterialVelocity< T, D >::getVectorVelocity ( const Vec3D< T > & coordinate,
int ,
const Vec3D< T > & ,
unsigned long  )
inlinefinalvirtual

Like getScalarVelocity, but returns a velocity value for each cartesian direction.

Reimplemented from viennals::VelocityField< T >.

◆ New()

template<class T, int D>
template<class... Args>
auto viennals::OxidationMaterialVelocity< T, D >::New ( Args &&... args)
inlinestatic

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