28#ifndef _CLASSIC_SRC_ALGORITHMS_ABSTRACTTIMEDEPENDENCE_H_
29#define _CLASSIC_SRC_ALGORITHMS_ABSTRACTTIMEDEPENDENCE_H_
76 static std::shared_ptr<AbstractTimeDependence>
86 std::shared_ptr<AbstractTimeDependence> time_dep);
97 (std::shared_ptr<AbstractTimeDependence> time_dep);
100 static std::map<std::string, std::shared_ptr<AbstractTimeDependence> >
td_map;
Time dependence abstraction for field parameters that vary slowly with time; for example,...
static void setTimeDependence(std::string name, std::shared_ptr< AbstractTimeDependence > time_dep)
Add a value to the lookup table.
static std::string getName(std::shared_ptr< AbstractTimeDependence > time_dep)
Get the name corresponding to a given time_dep.
static std::shared_ptr< AbstractTimeDependence > getTimeDependence(std::string name)
Look up the time dependence that has a given name.
static std::map< std::string, std::shared_ptr< AbstractTimeDependence > > td_map
virtual AbstractTimeDependence * clone()=0
Inheritable copy constructor.
virtual ~AbstractTimeDependence()
Destructor does nothing.
virtual double getValue(double time)=0
getValue(time) returns the value as a function of time.
virtual double getIntegral(double time)=0
getIntegral(time) returns the integral from 0 to time of the function.