|
SpECTRE
2021.08.02
|
Given an initial function of time, transitions the map to a constant-in-time value. More...
#include <SettleToConstant.hpp>
Public Member Functions | |
| SettleToConstant (const std::array< DataVector, 3 > &initial_func_and_derivs, double match_time, double decay_time) noexcept | |
| SettleToConstant (SettleToConstant &&) noexcept=default | |
| SettleToConstant & | operator= (SettleToConstant &&) noexcept=default |
| SettleToConstant (const SettleToConstant &)=default | |
| SettleToConstant & | operator= (const SettleToConstant &)=default |
| WRAPPED_PUPable_decl_template (SettleToConstant) | |
| SettleToConstant (CkMigrateMessage *) | |
| auto | get_clone () const noexcept -> std::unique_ptr< FunctionOfTime > override |
| std::array< DataVector, 1 > | func (const double t) const noexcept override |
Returns the function at an arbitrary time t. More... | |
| std::array< DataVector, 2 > | func_and_deriv (const double t) const noexcept override |
Returns the function and its first derivative at an arbitrary time t. More... | |
| std::array< DataVector, 3 > | func_and_2_derivs (const double t) const noexcept override |
Returns the function and the first two derivatives at an arbitrary time t. More... | |
| std::array< double, 2 > | time_bounds () const noexcept override |
| Returns the domain of validity of the function. More... | |
| void | pup (PUP::er &p) override |
Public Member Functions inherited from domain::FunctionsOfTime::FunctionOfTime | |
| FunctionOfTime (FunctionOfTime &&) noexcept=default | |
| FunctionOfTime & | operator= (FunctionOfTime &&) noexcept=default |
| FunctionOfTime (const FunctionOfTime &)=default | |
| FunctionOfTime & | operator= (const FunctionOfTime &)=default |
| WRAPPED_PUPable_abstract (FunctionOfTime) | |
Friends | |
| bool | operator== (const SettleToConstant &lhs, const SettleToConstant &rhs) noexcept |
Given an initial function of time, transitions the map to a constant-in-time value.
Given an initial function \(f(t)\) and its first two derivatives at the matching time \(t_0\), the constant coefficients \(A,B,C\) are computed such that the resulting function of time \(g(t)\) satisfies \(g(t=t_0)=f(t=t_0)\) and approaches a constant value for \(t > t_0\) on a timescale of \(\tau\). The resultant function is
\[ g(t) = A + (B+C(t-t_0)) e^{-(t-t_0)/\tau} \]
where \(\tau\)=decay_time and \(t_0\)=match_time.
|
inlineoverridevirtualnoexcept |
Returns the function at an arbitrary time t.
Implements domain::FunctionsOfTime::FunctionOfTime.
|
inlineoverridevirtualnoexcept |
Returns the function and the first two derivatives at an arbitrary time t.
Implements domain::FunctionsOfTime::FunctionOfTime.
|
inlineoverridevirtualnoexcept |
Returns the function and its first derivative at an arbitrary time t.
Implements domain::FunctionsOfTime::FunctionOfTime.
|
overridevirtualnoexcept |
Implements domain::FunctionsOfTime::FunctionOfTime.
|
inlineoverridevirtualnoexcept |
Returns the domain of validity of the function.
Implements domain::FunctionsOfTime::FunctionOfTime.