4#ifndef IONIC_BUENO_OROVIO_H
5#define IONIC_BUENO_OROVIO_H
24 static inline const std::string
label =
"BO";
28 {
"u", -84.0}, {
"v", 1.0}, {
"w", 1.0}, {
"s", 0.0}};
41 constexpr bool required =
true;
81 virtual std::unique_ptr<IonicModelParameters>
83 return std::make_unique<Parameters>();
91 const cmType &cm)
override;
143 virtual void update_g(
const unsigned int zone_id,
const double dt,
151 const double I_sac)
const override;
154 virtual Array<double>
getj(
const unsigned int zone_id,
156 const double Ksac)
const override;
159 inline double step(
const double r)
const {
return r < 0.0 ? 0.0 : 1.0; }
162 inline double delta(
const double r)
const {
163 return utils::is_zero(r) ? 1.0 : 0.0;
Model parameters class.
Definition IonicModelBuenoOrovio.h:38
Bueno-Orovio ionic model.
Definition IonicModelBuenoOrovio.h:21
static constexpr unsigned int calcium_index
Definition IonicModelBuenoOrovio.h:35
ModelParam theta_v
[1].
Definition IonicModelBuenoOrovio.h:112
ModelParam tau_so2
[1/s].
Definition IonicModelBuenoOrovio.h:128
virtual void read_parameters(const IonicModelParameters ¶ms) override
Read model parameters from a parameter object.
Definition IonicModelBuenoOrovio.cpp:6
ModelParam theta_w
[1].
Definition IonicModelBuenoOrovio.h:113
ModelParam u_so
[1].
Definition IonicModelBuenoOrovio.h:130
static const InitialStates initial_X
State variables.
Definition IonicModelBuenoOrovio.h:27
ModelParam tau_s2
[1/s].
Definition IonicModelBuenoOrovio.h:132
ModelParam tau_s1
[1/s].
Definition IonicModelBuenoOrovio.h:131
ModelParam u_u
[1].
Definition IonicModelBuenoOrovio.h:111
virtual unsigned int get_calcium_index() const override
Get the calcium proxy index.
Definition IonicModelBuenoOrovio.h:94
virtual void update_g(const unsigned int zone_id, const double dt, const Vector< double > &X, Vector< double > &Xg) const override
Definition IonicModelBuenoOrovio.h:143
ModelParam tau_winf
[1/s].
Definition IonicModelBuenoOrovio.h:136
ModelParam taum_w1
[1/s].
Definition IonicModelBuenoOrovio.h:119
ModelParam taum_w2
[1/s].
Definition IonicModelBuenoOrovio.h:120
ModelParam tau_o2
[1/s].
Definition IonicModelBuenoOrovio.h:126
ModelParam tau_so1
[1/s].
Definition IonicModelBuenoOrovio.h:127
virtual Vector< double > getf(const unsigned int zone_id, const Vector< double > &X, const Vector< double > &Xg, const double I_stim, const double I_sac) const override
Model right-hand side.
Definition IonicModelBuenoOrovio.cpp:72
ModelParam k_so
[1].
Definition IonicModelBuenoOrovio.h:129
double delta(const double r) const
Delta function.
Definition IonicModelBuenoOrovio.h:162
ModelParam taup_w
[1/s].
Definition IonicModelBuenoOrovio.h:123
virtual Array< double > getj(const unsigned int zone_id, const Vector< double > &X, const Vector< double > &Xg, const double Ksac) const override
Model jacobian.
Definition IonicModelBuenoOrovio.cpp:119
ModelParam taum_v1
[1/s].
Definition IonicModelBuenoOrovio.h:116
virtual std::unique_ptr< IonicModelParameters > get_parameters() const override
Construct an instance of model parameters.
Definition IonicModelBuenoOrovio.h:82
ModelParam u_o
[1].
Definition IonicModelBuenoOrovio.h:110
static const InitialStates initial_Xg
Gating variables.
Definition IonicModelBuenoOrovio.h:31
ModelParam tau_si
[1/s].
Definition IonicModelBuenoOrovio.h:135
ModelParam theta_o
[1].
Definition IonicModelBuenoOrovio.h:115
static const std::string label
Model label.
Definition IonicModelBuenoOrovio.h:24
ModelParam tau_o1
[1/s].
Definition IonicModelBuenoOrovio.h:125
ModelParam taup_v
[1/s].
Definition IonicModelBuenoOrovio.h:118
virtual void distribute_parameters(const CmMod &cm_mod, const cmType &cm) override
Distribute model parameters to all parallel processes.
Definition IonicModelBuenoOrovio.cpp:39
ModelParam taum_v2
[1/s].
Definition IonicModelBuenoOrovio.h:117
ModelParam km_w
[1].
Definition IonicModelBuenoOrovio.h:121
double step(const double r) const
Step function.
Definition IonicModelBuenoOrovio.h:159
ModelParam um_w
[1].
Definition IonicModelBuenoOrovio.h:122
ModelParam tau_fi
[1/s].
Definition IonicModelBuenoOrovio.h:124
ModelParam k_s
[1].
Definition IonicModelBuenoOrovio.h:133
ModelParam ws_inf
[1].
Definition IonicModelBuenoOrovio.h:137
ModelParam thetam_v
[1].
Definition IonicModelBuenoOrovio.h:114
BuenoOrovio()
Constructor.
Definition IonicModelBuenoOrovio.h:75
ModelParam u_s
[1].
Definition IonicModelBuenoOrovio.h:134
The CmMod class duplicates the data structures in the Fortran CMMOD module defined in COMU....
Definition CmMod.h:36
Abstract ionic model class.
Definition IonicModel.h:127
std::vector< std::pair< std::string, double > > InitialStates
Definition IonicModel.h:133
Parameters for a generic ionic model.
Definition Parameters.h:1344
void add_parameter(const std::string &label, double default_value, bool required)
Add a new parameter to this object.
Definition Parameters.h:1404
The cmType class stores data and defines methods used for mpi communication.
Definition CmMod.h:56