SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
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
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 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>
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:
  • src/PointwiseFunctions/ConstraintDamping/GaussianPlusConstant.hpp