SpECTRE  v2025.08.19
ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr > Class Template Reference

A Gaussian plus a constant: \(f = C + A \exp\left(-\frac{(x-x_0)^2}{w^2}\right)\). More...

#include <GaussianPlusConstant.hpp>

Classes

struct  Amplitude
 
struct  Center
 
struct  Constant
 
struct  Width
 

Public Types

using options = tmpl::list< Constant, Amplitude, Width, Center >
 
- Public Types inherited from ConstraintDamping::DampingFunction< VolumeDim, Fr >
using creatable_classes = tmpl::conditional_t<(VolumeDim==3 and std::is_same< Fr, Frame::Grid >::value), tmpl::list< ConstraintDamping::Constant< VolumeDim, Fr >, ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr >, ConstraintDamping::TimeDependentTripleGaussian >, tmpl::list< ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr >, ConstraintDamping::Constant< VolumeDim, Fr > > >
 
using frame = Fr
 

Public Member Functions

 GaussianPlusConstant (double constant, double amplitude, double width, const std::array< double, VolumeDim > &center)
 
 GaussianPlusConstant (const GaussianPlusConstant &)=default
 
GaussianPlusConstantoperator= (const GaussianPlusConstant &)=default
 
 GaussianPlusConstant (GaussianPlusConstant &&)=default
 
GaussianPlusConstantoperator= (GaussianPlusConstant &&)=default
 
void operator() (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 override
 
void operator() (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 override
 
auto get_clone () const -> std::unique_ptr< DampingFunction< VolumeDim, Fr > > override
 
void pup (PUP::er &p) override
 
- Public Member Functions inherited from ConstraintDamping::DampingFunction< VolumeDim, Fr >
 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'.
 
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'.
 

Static Public Attributes

static constexpr Options::String help
 
- Static Public Attributes inherited from ConstraintDamping::DampingFunction< VolumeDim, Fr >
static constexpr size_t volume_dim = VolumeDim
 

Friends

bool operator== (const GaussianPlusConstant &lhs, const GaussianPlusConstant &rhs)
 

Detailed Description

template<size_t VolumeDim, typename Fr>
class ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr >

A Gaussian plus a constant: \(f = C + A \exp\left(-\frac{(x-x_0)^2}{w^2}\right)\).

Details

Input file options are: Constant \(C\), Amplitude \(A\), Width \(w\), and Center \(x_0\). The function takes input coordinates of type tnsr::I<T, VolumeDim, Fr>, where T is e.g. double or DataVector, Fr is a frame (e.g. Frame::Inertial), and VolumeDim is the dimension of the spatial volume.

Member Function Documentation

◆ get_clone()

template<size_t VolumeDim, typename Fr >
auto ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr >::get_clone ( ) const -> std::unique_ptr< DampingFunction< VolumeDim, Fr > >
overridevirtual

Member Data Documentation

◆ help

template<size_t VolumeDim, typename Fr >
constexpr Options::String ConstraintDamping::GaussianPlusConstant< VolumeDim, Fr >::help
staticconstexpr
Initial value:
= {
"Computes a Gaussian plus a constant about an arbitrary coordinate "
"center with given width and amplitude"}

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