SpECTRE  v2024.04.12
gh::ConstraintDamping::DampingFunction< VolumeDim, Fr > Class Template Referenceabstract

Base class defining interface for constraint damping functions. More...

#include <DampingFunction.hpp>

Public Types

using creatable_classes = tmpl::conditional_t<(VolumeDim==3 and std::is_same< Fr, Frame::Grid >::value), tmpl::list< gh::ConstraintDamping::Constant< VolumeDim, Fr >, gh::ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr >, gh::ConstraintDamping::TimeDependentTripleGaussian >, tmpl::list< gh::ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr >, gh::ConstraintDamping::Constant< VolumeDim, Fr > > >
 
using frame = Fr
 

Public Member Functions

 WRAPPED_PUPable_abstract (DampingFunction)
 
 DampingFunction (const DampingFunction &)=default
 
DampingFunctionoperator= (const DampingFunction &)=default
 
 DampingFunction (DampingFunction &&)=default
 
DampingFunctionoperator= (DampingFunction &&)=default
 
 DampingFunction (CkMigrateMessage *msg)
 
virtual auto get_clone () const -> std::unique_ptr< DampingFunction< VolumeDim, Fr > >=0
 
virtual void operator() (const gsl::not_null< Scalar< double > * > value_at_x, const tnsr::I< double, VolumeDim, Fr > &x, double time, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time) const =0
 Returns the value of the function at the coordinate 'x'. More...
 
virtual void operator() (const gsl::not_null< Scalar< DataVector > * > value_at_x, const tnsr::I< DataVector, VolumeDim, Fr > &x, double time, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time) const =0
 Returns the value of the function at the coordinate 'x'. More...
 

Static Public Attributes

static constexpr size_t volume_dim = VolumeDim
 

Detailed Description

template<size_t VolumeDim, typename Fr>
class gh::ConstraintDamping::DampingFunction< VolumeDim, Fr >

Base class defining interface for constraint damping functions.

Encodes a function \(R^n \to R\) where n is VolumeDim that represents a generalized-harmonic constraint-damping parameter (i.e., Gamma0, Gamma1, or Gamma2).

Member Function Documentation

◆ operator()() [1/2]

template<size_t VolumeDim, typename Fr >
virtual void gh::ConstraintDamping::DampingFunction< VolumeDim, Fr >::operator() ( const gsl::not_null< Scalar< DataVector > * >  value_at_x,
const tnsr::I< DataVector, VolumeDim, Fr > &  x,
double  time,
const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &  functions_of_time 
) const
pure virtual

Returns the value of the function at the coordinate 'x'.

Implemented in gh::ConstraintDamping::Constant< VolumeDim, Fr >, and gh::ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr >.

◆ operator()() [2/2]

template<size_t VolumeDim, typename Fr >
virtual void gh::ConstraintDamping::DampingFunction< VolumeDim, Fr >::operator() ( const gsl::not_null< Scalar< double > * >  value_at_x,
const tnsr::I< double, VolumeDim, Fr > &  x,
double  time,
const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &  functions_of_time 
) const
pure virtual

Returns the value of the function at the coordinate 'x'.

Implemented in gh::ConstraintDamping::Constant< VolumeDim, Fr >, and gh::ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr >.


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