SpECTRE  2021.08.02
domain::FunctionsOfTime::FunctionOfTime Class Referenceabstract

Base class for FunctionsOfTime. More...

#include <FunctionOfTime.hpp>

Public Member Functions

 FunctionOfTime (FunctionOfTime &&) noexcept=default
 
FunctionOfTimeoperator= (FunctionOfTime &&) noexcept=default
 
 FunctionOfTime (const FunctionOfTime &)=default
 
FunctionOfTimeoperator= (const FunctionOfTime &)=default
 
virtual auto get_clone () const noexcept -> std::unique_ptr< FunctionOfTime >=0
 
virtual std::array< double, 2 > time_bounds () const noexcept=0
 Returns the domain of validity of the function. For FunctionsOfTime that allow a small amount of time extrapolation, time_bounds tells you the bounds including the allowed extrapolation interval. More...
 
virtual std::array< DataVector, 1 > func (double t) const noexcept=0
 The DataVector can be of any size. More...
 
virtual std::array< DataVector, 2 > func_and_deriv (double t) const noexcept=0
 The DataVector can be of any size. More...
 
virtual std::array< DataVector, 3 > func_and_2_derivs (double t) const noexcept=0
 The DataVector can be of any size. More...
 
 WRAPPED_PUPable_abstract (FunctionOfTime)
 

Detailed Description

Base class for FunctionsOfTime.

A FunctionOfTime is a function that will return the same value for a time t, regardless of when that function is called during a run (provided that the time t is in the domain of validity of the function). All FunctionsOfTime have members

The DataVectors that are returned can be of any size: e.g. a scalar FunctionOfTime will have DataVectors with one component and a 3-vector FunctionOfTime will have DataVectors with three components.

The domain of validity of the function is given by the time_bounds member function.

Member Function Documentation

◆ func()

virtual std::array< DataVector, 1 > domain::FunctionsOfTime::FunctionOfTime::func ( double  t) const
pure virtualnoexcept

◆ func_and_2_derivs()

virtual std::array< DataVector, 3 > domain::FunctionsOfTime::FunctionOfTime::func_and_2_derivs ( double  t) const
pure virtualnoexcept

◆ func_and_deriv()

virtual std::array< DataVector, 2 > domain::FunctionsOfTime::FunctionOfTime::func_and_deriv ( double  t) const
pure virtualnoexcept

◆ time_bounds()

virtual std::array< double, 2 > domain::FunctionsOfTime::FunctionOfTime::time_bounds ( ) const
pure virtualnoexcept

Returns the domain of validity of the function. For FunctionsOfTime that allow a small amount of time extrapolation, time_bounds tells you the bounds including the allowed extrapolation interval.

Implemented in domain::FunctionsOfTime::FixedSpeedCubic, domain::FunctionsOfTime::PiecewisePolynomial< MaxDeriv >, and domain::FunctionsOfTime::SettleToConstant.