svZeroDSolver
Loading...
Searching...
No Matches
ActivationFunction Class Referenceabstract

Base class for activation functions. More...

#include <ActivationFunction.h>

Inheritance diagram for ActivationFunction:
[legend]

Public Member Functions

 ActivationFunction (double cardiac_period, const std::vector< std::pair< std::string, InputParameter > > &input_param_properties)
 Construct activation function.
 
virtual ~ActivationFunction ()=default
 Virtual destructor.
 
virtual double compute (double time)=0
 Compute activation value at given time.
 
void set_param (const std::string &name, double value)
 Set a scalar parameter value by name.
 
virtual void finalize ()
 Called after all parameters are set (e.g. by loader).
 

Static Public Member Functions

static std::unique_ptr< ActivationFunctioncreate_default (const std::string &type_str, double cardiac_period)
 Create a default activation function from activation function type.
 

Public Attributes

const std::vector< std::pair< std::string, InputParameter > > input_param_properties
 Properties of the input parameters for this activation function [(name, InputParameter), ...].
 

Protected Attributes

double cardiac_period_
 Time duration of one cardiac cycle.
 
std::map< std::string, double > params_
 Map of parameter names to their values.
 

Detailed Description

Base class for activation functions.

Activation functions compute the activation value (between 0 and 1) at a given time point within a cardiac cycle. These are used to modulate chamber elastance over time.

Constructor & Destructor Documentation

◆ ActivationFunction()

ActivationFunction::ActivationFunction ( double cardiac_period,
const std::vector< std::pair< std::string, InputParameter > > & input_param_properties )

Construct activation function.

Parameters
cardiac_periodCardiac cycle period
input_param_propertiesProperties of the input parameters [(name, InputParameter), ...] for this activation function

◆ ~ActivationFunction()

virtual ActivationFunction::~ActivationFunction ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ compute()

virtual double ActivationFunction::compute ( double time)
pure virtual

Compute activation value at given time.

Parameters
timeCurrent time
Returns
Activation value between 0 and 1

Implemented in HalfCosineActivation, PiecewiseCosineActivation, and TwoHillActivation.

◆ create_default()

std::unique_ptr< ActivationFunction > ActivationFunction::create_default ( const std::string & type_str,
double cardiac_period )
static

Create a default activation function from activation function type.

Parameters
type_strOne of: "half_cosine", "piecewise_cosine", "two_hill"
cardiac_periodCardiac cycle period
Returns
Unique pointer to the created activation function

◆ finalize()

virtual void ActivationFunction::finalize ( )
inlinevirtual

Called after all parameters are set (e.g. by loader).

Default no-op. TwoHillActivation overrides to recompute normalization.

Reimplemented in TwoHillActivation.

◆ set_param()

void ActivationFunction::set_param ( const std::string & name,
double value )

Set a scalar parameter value by name.

Calling function must validate the parameter name and value

Parameters
nameParameter name
valueParameter value

Member Data Documentation

◆ cardiac_period_

double ActivationFunction::cardiac_period_
protected

Time duration of one cardiac cycle.

◆ input_param_properties

const std::vector<std::pair<std::string, InputParameter> > ActivationFunction::input_param_properties

Properties of the input parameters for this activation function [(name, InputParameter), ...].

◆ params_

std::map<std::string, double> ActivationFunction::params_
protected

Map of parameter names to their values.


The documentation for this class was generated from the following files: