svZeroDSolver
Loading...
Searching...
No Matches
DoubleTanhActivation Class Reference

Double tanh (systole/diastole sigmoid product) activation function. More...

#include <ActivationFunction.h>

Inheritance diagram for DoubleTanhActivation:
[legend]

Public Member Functions

 DoubleTanhActivation (double cardiac_period)
 Construct with default parameter values (loader fills via set_param).
double compute (double time) override
 Compute activation value at given time.
Public Member Functions inherited from ActivationFunction
 ActivationFunction (double cardiac_period, const std::vector< std::pair< std::string, InputParameter > > &input_param_properties)
 Construct activation function.
virtual ~ActivationFunction ()=default
 Virtual destructor.
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).

Additional Inherited Members

Static Public Member Functions inherited from ActivationFunction
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 inherited from ActivationFunction
const std::vector< std::pair< std::string, InputParameter > > input_param_properties
 Properties of the input parameters for this activation function [(name, InputParameter), ...].
Protected Attributes inherited from ActivationFunction
double cardiac_period_
 Time duration of one cardiac cycle.
std::map< std::string, double > params_
 Map of parameter names to their values.

Detailed Description

Double tanh (systole/diastole sigmoid product) activation function.

This implements the original ChamberSphere activation: a smooth indicator function built from the product of two tanh sigmoids, one rising at systole and one falling at diastole.

\‍[f(t) = S_+ (t_{in\_cycle} - t_sys) \cdot S_- (t_{in\_cycle} - t_dias), \quad S_\pm (\Delta t) = \frac{1}{2} \left(1.0 \pm
\text{tanh}\left( \frac{\Delta t} {\gamma}
\right) \right)
\‍]

Constructor & Destructor Documentation

◆ DoubleTanhActivation()

DoubleTanhActivation::DoubleTanhActivation ( double cardiac_period)
inlineexplicit

Construct with default parameter values (loader fills via set_param).

Parameters
cardiac_periodCardiac cycle period

Member Function Documentation

◆ compute()

double DoubleTanhActivation::compute ( double time)
overridevirtual

Compute activation value at given time.

Parameters
timeCurrent time
Returns
Activation value between 0 and 1

Implements ActivationFunction.


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