|
|
| TimeDependentTripleGaussian (CkMigrateMessage *msg) |
| |
|
| TimeDependentTripleGaussian (double constant, double amplitude_1, double width_1, const std::optional< std::array< double, 3 > > ¢er_1, double amplitude_2, double width_2, const std::optional< std::array< double, 3 > > ¢er_2, double amplitude_3, double width_3, const std::array< double, 3 > ¢er_3, const std::string &movement_method, const Options::Context &context={}) |
| |
|
| TimeDependentTripleGaussian (const TimeDependentTripleGaussian &)=default |
| |
|
TimeDependentTripleGaussian & | operator= (const TimeDependentTripleGaussian &)=default |
| |
|
| TimeDependentTripleGaussian (TimeDependentTripleGaussian &&)=default |
| |
|
TimeDependentTripleGaussian & | operator= (TimeDependentTripleGaussian &&)=default |
| |
|
void | operator() (gsl::not_null< Scalar< double > * > value_at_x, const tnsr::I< double, 3, Frame::Grid > &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, 3, Frame::Grid > &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< 3, Frame::Grid > > override |
| |
|
void | pup (PUP::er &p) override |
| |
|
| WRAPPED_PUPable_abstract (DampingFunction) |
| |
|
| DampingFunction (const DampingFunction &)=default |
| |
|
| DampingFunction (DampingFunction &&)=default |
| |
|
| DampingFunction (CkMigrateMessage *msg) |
| |
|
DampingFunction & | operator= (const DampingFunction &)=default |
| |
|
DampingFunction & | operator= (DampingFunction &&)=default |
| |
|
virtual auto | get_clone () const -> std::unique_ptr< DampingFunction< VolumeDim, Frame::Grid > >=0 |
| |
|
virtual void | operator() (const gsl::not_null< Scalar< double > * > value_at_x, const tnsr::I< double, VolumeDim, Frame::Grid > &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, Frame::Grid > &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'.
|
| |
A sum of three Gaussians plus a constant, where the Gaussian widths are scaled by a domain::FunctionsOfTime::FunctionOfTime.
Details
The function \(f\) is given by
\begin{align} f = C + \sum_{\alpha=1}^3 A_\alpha \exp\left(-\frac{(x-(x_0)_\alpha)^2}{w_\alpha^2(t)}\right). \end{align}
Input file options are: Constant \(C\), Amplitude[1-3] \(A_\alpha\), Width[1-3] \(w_\alpha\), and Center[1-3] \((x_0)_\alpha\). The function takes input coordinates \(x\) of type tnsr::I<T, 3, Frame::Grid>, where T is e.g. double or DataVector; note that this DampingFunction is only defined for three spatial dimensions and for the grid frame. The Gaussian widths \(w_\alpha\) are scaled by the inverse of the value of a scalar domain::FunctionsOfTime::FunctionOfTime \(f(t)\): \(w_\alpha(t) = w_\alpha / f(t)\).
You can choose one of two methods for tracking the object centers. ExpansionFactor should be used for BBH simulations where the expansion control system is used to track the objects. ObjectCenters sholud be used for BNS simulations where the coordinate centers of the two stars is tracked separately and there is no expansion control system.