4#ifndef ACTIVE_STRESS_ODE_H
5#define ACTIVE_STRESS_ODE_H
7#include "ActiveStress.h"
85 constexpr bool required =
true;
113 const cmType &cm)
override;
135 const double calcium,
136 const double fiber_stretch,
137 const double fiber_stretch_rate,
152 const double calcium,
const double fiber_stretch,
153 const double fiber_stretch_rate)
const = 0;
Abstract active stress class.
Definition ActiveStress.h:100
const unsigned int n_states
Number of state variables for this model.
Definition ActiveStress.h:188
bool needs_fiber_stretch_rate() const
Whether this model uses the fiber stretch rate passed to advance_time_step. This flag can be used to ...
Definition ActiveStress.h:202
bool needs_fiber_stretch() const
Whether this model uses the fiber stretch passed to advance_time_step. This flag can be used to deter...
Definition ActiveStress.h:195
Parameters for a generic active stress model.
Definition Parameters.h:1444
void add_parameter(const std::string &label, double default_value, bool required)
Add a new parameter to this object.
Definition Parameters.h:1490
Model parameters class.
Definition ActiveStressODE.h:82
Abstract ODE-based active stress model.
Definition ActiveStressODE.h:51
virtual Vector< double > getf(const double t, const Vector< double > &state, const double calcium, const double fiber_stretch, const double fiber_stretch_rate) const =0
Compute the rate of change in the state variables.
ODESolver
Enumeration of supported ODE solvers.
Definition ActiveStressODE.h:60
@ ForwardEuler
Forward Euler.
virtual void distribute_model_specific_parameters(const CmMod &cm_mod, const cmType &cm) override
Distribute model parameters to all parallel processes.
Definition ActiveStressODE.cpp:18
virtual void advance_time_step_local(const double t, const double dt, const double calcium, const double fiber_stretch, const double fiber_stretch_rate, Vector< double > &state) const override
Advance in time for a single node.
Definition ActiveStressODE.cpp:23
virtual void read_model_specific_parameters(const ActiveStressModelParameters ¶ms) override
Read model parameters from a parameter object.
Definition ActiveStressODE.cpp:6
ActiveStressODE(const unsigned int n_states, const bool needs_fiber_stretch, const bool needs_fiber_stretch_rate)
Constructor.
Definition ActiveStressODE.h:98
ODESolver ode_solver
ODE solver.
Definition ActiveStressODE.h:156
The CmMod class duplicates the data structures in the Fortran CMMOD module defined in COMU....
Definition CmMod.h:36
The Vector template class is used for storing int and double data.
Definition Vector.h:26
The cmType class stores data and defines methods used for mpi communication.
Definition CmMod.h:56