9#ifndef SVZERODSOLVER_MODEL_ACTIVATIONFUNCTION_HPP_
10#define SVZERODSOLVER_MODEL_ACTIVATIONFUNCTION_HPP_
32 const std::vector<std::pair<std::string, InputParameter>>
43 const std::vector<std::pair<std::string, InputParameter>>&
67 const std::string& type_str,
double cardiac_period);
77 void set_param(
const std::string& name,
double value);
126 double compute(
double time)
override;
163 double compute(
double time)
override;
201 normalization_factor_(1.0),
202 normalization_initialized_(
false) {}
204 double compute(
double time)
override;
209 void calculate_normalization_factor();
211 double normalization_factor_;
212 bool normalization_initialized_;
model::Parameter source file
static std::unique_ptr< ActivationFunction > create_default(const std::string &type_str, double cardiac_period)
Create a default activation function from activation function type.
Definition ActivationFunction.cpp:33
double cardiac_period_
Time duration of one cardiac cycle.
Definition ActivationFunction.h:90
virtual double compute(double time)=0
Compute activation value at given time.
virtual ~ActivationFunction()=default
Virtual destructor.
void set_param(const std::string &name, double value)
Set a scalar parameter value by name.
Definition ActivationFunction.cpp:29
ActivationFunction(double cardiac_period, const std::vector< std::pair< std::string, InputParameter > > &input_param_properties)
Construct activation function.
Definition ActivationFunction.cpp:14
const std::vector< std::pair< std::string, InputParameter > > input_param_properties
Properties of the input parameters for this activation function [(name, InputParameter),...
Definition ActivationFunction.h:33
std::map< std::string, double > params_
Map of parameter names to their values.
Definition ActivationFunction.h:95
virtual void finalize()
Called after all parameters are set (e.g. by loader).
Definition ActivationFunction.h:84
HalfCosineActivation(double cardiac_period)
Construct with default parameter values (loader fills via set_param).
Definition ActivationFunction.h:122
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:49
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:67
PiecewiseCosineActivation(double cardiac_period)
Construct with default parameter values (loader fills via set_param).
Definition ActivationFunction.h:156
TwoHillActivation(double cardiac_period)
Construct with default parameter values (loader fills via set_param).
Definition ActivationFunction.h:195
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:130
void finalize() override
Called after all parameters are set (e.g. by loader).
Definition ActivationFunction.cpp:128