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

Velocity field for the oxide outer interface when part of that interface is in contact with a mask. Open oxide/ambient regions use the oxide deformation field. Mask-contact regions are kinematically constrained to the solved mask vector velocity and do not receive additional free-surface scalar growth. More...

#include <lsOxidationMask.hpp>

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

Public Member Functions

 OxidationConstrainedAmbient ()=default
 OxidationConstrainedAmbient (SmartPointer< OxidationDeformation< T, D > > passedDeformation, SmartPointer< OxidationMaskBending< T, D > > passedMaskVelocity, SmartPointer< Domain< T, D > > passedMaskInterface, int passedMaskSign=1)
 OxidationConstrainedAmbient (SmartPointer< OxidationDeformation< T, D > > passedDeformation, SmartPointer< OxidationMaskBending< T, D > > passedMaskVelocity, SmartPointer< Domain< T, D > > passedMaskInterface, SmartPointer< Domain< T, D > > passedAmbientInterface, int passedMaskSign=1)
Vec3D< TgetVectorVelocity (const Vec3D< T > &coordinate, int material, const Vec3D< T > &normalVector, unsigned long pointId) final
 Like getScalarVelocity, but returns a velocity value for each cartesian direction.
T getScalarVelocity (const Vec3D< T > &coordinate, int material, const Vec3D< T > &normalVector, unsigned long pointId) final
 Should return a scalar value for the velocity at coordinate for a point of material with the given normalVector.
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.

Static Public Member Functions

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

Detailed Description

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

Velocity field for the oxide outer interface when part of that interface is in contact with a mask. Open oxide/ambient regions use the oxide deformation field. Mask-contact regions are kinematically constrained to the solved mask vector velocity and do not receive additional free-surface scalar growth.

Constructor & Destructor Documentation

◆ OxidationConstrainedAmbient() [1/3]

template<class T, int D>
viennals::OxidationConstrainedAmbient< T, D >::OxidationConstrainedAmbient ( )
default

◆ OxidationConstrainedAmbient() [2/3]

template<class T, int D>
viennals::OxidationConstrainedAmbient< T, D >::OxidationConstrainedAmbient ( SmartPointer< OxidationDeformation< T, D > > passedDeformation,
SmartPointer< OxidationMaskBending< T, D > > passedMaskVelocity,
SmartPointer< Domain< T, D > > passedMaskInterface,
int passedMaskSign = 1 )
inline

◆ OxidationConstrainedAmbient() [3/3]

template<class T, int D>
viennals::OxidationConstrainedAmbient< T, D >::OxidationConstrainedAmbient ( SmartPointer< OxidationDeformation< T, D > > passedDeformation,
SmartPointer< OxidationMaskBending< T, D > > passedMaskVelocity,
SmartPointer< Domain< T, D > > passedMaskInterface,
SmartPointer< Domain< T, D > > passedAmbientInterface,
int passedMaskSign = 1 )
inline

Member Function Documentation

◆ getDissipationAlpha()

template<class T, int D>
T viennals::OxidationConstrainedAmbient< T, D >::getDissipationAlpha ( int ,
int ,
const Vec3D< T > &  )
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, int D>
T viennals::OxidationConstrainedAmbient< T, D >::getScalarVelocity ( const Vec3D< T > & ,
int ,
const Vec3D< T > & ,
unsigned long  )
inlinefinalvirtual

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

Reimplemented from viennals::VelocityField< T >.

◆ getVectorVelocity()

template<class T, int D>
Vec3D< T > viennals::OxidationConstrainedAmbient< T, D >::getVectorVelocity ( const Vec3D< T > & ,
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::OxidationConstrainedAmbient< T, D >::New ( Args &&... args)
inlinestatic

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