Nektar++
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Nektar::Winslow99 Class Reference

#include <Winslow99.h>

Inheritance diagram for Nektar::Winslow99:
[legend]

Public Member Functions

 Winslow99 (const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
 Constructor. More...
 
virtual ~Winslow99 ()
 Destructor. More...
 
- Public Member Functions inherited from Nektar::CellModel
 CellModel (const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
 
virtual ~CellModel ()
 
void Initialise ()
 Initialise the cell model storage and set initial conditions. More...
 
void TimeIntegrate (const Array< OneD, const Array< OneD, NekDouble >> &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray, const NekDouble time)
 Time integrate the cell model by one PDE timestep. More...
 
void Update (const Array< OneD, const Array< OneD, NekDouble >> &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray, const NekDouble time)
 Compute the derivatives of cell model variables. More...
 
void GenerateSummary (SummaryList &s)
 Print a summary of the cell model. More...
 
unsigned int GetNumCellVariables ()
 
std::string GetCellVarName (unsigned int idx)
 
Array< OneD, NekDoubleGetCellSolutionCoeffs (unsigned int idx)
 
Array< OneD, NekDoubleGetCellSolution (unsigned int idx)
 

Static Public Member Functions

static CellModelSharedPtr create (const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
 Creates an instance of this class. More...
 

Static Public Attributes

static std::string className
 Name of class. More...
 

Protected Member Functions

virtual void v_Update (const Array< OneD, const Array< OneD, NekDouble >> &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray, const NekDouble time)
 Computes the reaction terms $f(u,v)$ and $g(u,v)$. More...
 
virtual void v_GenerateSummary (SummaryList &s)
 Prints a summary of the model parameters. More...
 
virtual void v_SetInitialConditions ()
 Set initial conditions for cell model. More...
 
- Protected Member Functions inherited from Nektar::CellModel
virtual std::string v_GetCellVarName (unsigned int idx)
 
void LoadCellModel ()
 

Additional Inherited Members

- Protected Attributes inherited from Nektar::CellModel
LibUtilities::SessionReaderSharedPtr m_session
 Session. More...
 
MultiRegions::ExpListSharedPtr m_field
 Transmembrane potential field from PDE system. More...
 
int m_nq
 Number of physical points. More...
 
int m_nvar
 Number of variables in cell model (inc. transmembrane voltage) More...
 
NekDouble m_lastTime
 Timestep for pde model. More...
 
int m_substeps
 Number of substeps to take. More...
 
Array< OneD, Array< OneD, NekDouble > > m_cellSol
 Cell model solution variables. More...
 
Array< OneD, Array< OneD, NekDouble > > m_wsp
 Cell model integration workspace. More...
 
bool m_useNodal
 Flag indicating whether nodal projection in use. More...
 
StdRegions::StdNodalTriExpSharedPtr m_nodalTri
 StdNodalTri for cell model calculations. More...
 
StdRegions::StdNodalTetExpSharedPtr m_nodalTet
 
Array< OneD, Array< OneD, NekDouble > > m_nodalTmp
 Temporary array for nodal projection. More...
 
std::vector< int > m_concentrations
 Indices of cell model variables which are concentrations. More...
 
std::vector< int > m_gates
 Indices of cell model variables which are gates. More...
 
Array< OneD, Array< OneD, NekDouble > > m_gates_tau
 Storage for gate tau values. More...
 

Detailed Description

Definition at line 42 of file Winslow99.h.

Constructor & Destructor Documentation

◆ Winslow99()

Nektar::Winslow99::Winslow99 ( const LibUtilities::SessionReaderSharedPtr pSession,
const MultiRegions::ExpListSharedPtr pField 
)

Constructor.

Definition at line 49 of file Winslow99.cpp.

51  : CellModel(pSession, pField)
52 {
53  m_nvar = 33;
54  m_gates.push_back(1);
55  m_gates.push_back(2);
56  m_gates.push_back(3);
57  m_gates.push_back(4);
58  m_gates.push_back(5);
59  m_gates.push_back(6);
60  m_gates.push_back(7);
61  m_concentrations.push_back(8);
62  m_concentrations.push_back(9);
63  m_concentrations.push_back(10);
64  m_concentrations.push_back(11);
65  m_concentrations.push_back(12);
66  m_concentrations.push_back(13);
67  m_concentrations.push_back(14);
68  m_concentrations.push_back(15);
69  m_concentrations.push_back(16);
70  m_concentrations.push_back(17);
71  m_concentrations.push_back(18);
72  m_concentrations.push_back(19);
73  m_gates.push_back(20);
74  m_concentrations.push_back(21);
75  m_concentrations.push_back(22);
76  m_concentrations.push_back(23);
77  m_concentrations.push_back(24);
78  m_concentrations.push_back(25);
79  m_concentrations.push_back(26);
80  m_concentrations.push_back(27);
81  m_concentrations.push_back(28);
82  m_concentrations.push_back(29);
83  m_concentrations.push_back(30);
84  m_concentrations.push_back(31);
85  m_concentrations.push_back(32);
86 }
std::vector< int > m_concentrations
Indices of cell model variables which are concentrations.
Definition: CellModel.h:139
std::vector< int > m_gates
Indices of cell model variables which are gates.
Definition: CellModel.h:141
CellModel(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
Definition: CellModel.cpp:66
int m_nvar
Number of variables in cell model (inc. transmembrane voltage)
Definition: CellModel.h:119

References Nektar::CellModel::m_concentrations, Nektar::CellModel::m_gates, and Nektar::CellModel::m_nvar.

◆ ~Winslow99()

virtual Nektar::Winslow99::~Winslow99 ( )
inlinevirtual

Destructor.

Definition at line 62 of file Winslow99.h.

63  {
64  }

Member Function Documentation

◆ create()

static CellModelSharedPtr Nektar::Winslow99::create ( const LibUtilities::SessionReaderSharedPtr pSession,
const MultiRegions::ExpListSharedPtr pField 
)
inlinestatic

Creates an instance of this class.

Definition at line 47 of file Winslow99.h.

50  {
51  return MemoryManager<Winslow99>::AllocateSharedPtr(pSession, pField);
52  }
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr().

◆ v_GenerateSummary()

void Nektar::Winslow99::v_GenerateSummary ( SummaryList s)
protectedvirtual

Prints a summary of the model parameters.

Implements Nektar::CellModel.

Definition at line 1669 of file Winslow99.cpp.

1670 {
1671  SolverUtils::AddSummaryItem(s, "Cell model", "Winslow99");
1672 }
void AddSummaryItem(SummaryList &l, const std::string &name, const std::string &value)
Adds a summary item to the summary info list.
Definition: Misc.cpp:49

References Nektar::SolverUtils::AddSummaryItem().

◆ v_SetInitialConditions()

void Nektar::Winslow99::v_SetInitialConditions ( )
protectedvirtual

Set initial conditions for cell model.

Implements Nektar::CellModel.

Definition at line 1677 of file Winslow99.cpp.

1678 {
1679  Vmath::Fill(m_nq, -96.1638, m_cellSol[0], 1);
1680  Vmath::Fill(m_nq, 0.0328302, m_cellSol[1], 1);
1681  Vmath::Fill(m_nq, 0.988354, m_cellSol[2], 1);
1682  Vmath::Fill(m_nq, 0.99254, m_cellSol[3], 1);
1683  Vmath::Fill(m_nq, 0.51, m_cellSol[4], 1);
1684  Vmath::Fill(m_nq, 0.264, m_cellSol[5], 1);
1685  Vmath::Fill(m_nq, 2.63, m_cellSol[6], 1);
1686  Vmath::Fill(m_nq, 0.99, m_cellSol[7], 1);
1687  Vmath::Fill(m_nq, 9.84546e-21, m_cellSol[8], 1);
1688  Vmath::Fill(m_nq, 0.0, m_cellSol[9], 1);
1689  Vmath::Fill(m_nq, 0.997208, m_cellSol[10], 1);
1690  Vmath::Fill(m_nq, 6.38897e-5, m_cellSol[11], 1);
1691  Vmath::Fill(m_nq, 1.535e-9, m_cellSol[12], 1);
1692  Vmath::Fill(m_nq, 1.63909e-14, m_cellSol[13], 1);
1693  Vmath::Fill(m_nq, 6.56337e-20, m_cellSol[14], 1);
1694  Vmath::Fill(m_nq, 0.00272826, m_cellSol[15], 1);
1695  Vmath::Fill(m_nq, 6.99215e-7, m_cellSol[16], 1);
1696  Vmath::Fill(m_nq, 6.71989e-11, m_cellSol[17], 1);
1697  Vmath::Fill(m_nq, 2.87031e-15, m_cellSol[18], 1);
1698  Vmath::Fill(m_nq, 4.59752e-20, m_cellSol[19], 1);
1699  Vmath::Fill(m_nq, 0.798, m_cellSol[20], 1);
1700  Vmath::Fill(m_nq, 0.0, m_cellSol[21], 1);
1701  Vmath::Fill(m_nq, 0.0, m_cellSol[22], 1);
1702  Vmath::Fill(m_nq, 0.47, m_cellSol[23], 1);
1703  Vmath::Fill(m_nq, 0.53, m_cellSol[24], 1);
1704  Vmath::Fill(m_nq, 0.98, m_cellSol[25], 1);
1705  Vmath::Fill(m_nq, 0.078, m_cellSol[26], 1);
1706  Vmath::Fill(m_nq, 10.0, m_cellSol[27], 1);
1707  Vmath::Fill(m_nq, 0.00008, m_cellSol[28], 1);
1708  Vmath::Fill(m_nq, 157.8, m_cellSol[29], 1);
1709  Vmath::Fill(m_nq, 0.00011, m_cellSol[30], 1);
1710  Vmath::Fill(m_nq, 0.257, m_cellSol[31], 1);
1711  Vmath::Fill(m_nq, 0.257, m_cellSol[32], 1);
1712 }
Array< OneD, Array< OneD, NekDouble > > m_cellSol
Cell model solution variables.
Definition: CellModel.h:126
int m_nq
Number of physical points.
Definition: CellModel.h:117
void Fill(int n, const T alpha, T *x, const int incx)
Fill a vector with a constant value.
Definition: Vmath.cpp:45

References Vmath::Fill(), Nektar::CellModel::m_cellSol, and Nektar::CellModel::m_nq.

◆ v_Update()

void Nektar::Winslow99::v_Update ( const Array< OneD, const Array< OneD, NekDouble >> &  inarray,
Array< OneD, Array< OneD, NekDouble >> &  outarray,
const NekDouble  time 
)
protectedvirtual

Computes the reaction terms $f(u,v)$ and $g(u,v)$.

Implements Nektar::CellModel.

Definition at line 88 of file Winslow99.cpp.

91 {
92  int nq = m_nq;
93  for (unsigned int i = 0; i < nq; ++i)
94  {
95 
96  // Inputs:
97  // Time units: millisecond
98  NekDouble var_chaste_interface__membrane__V = inarray[0][i];
99  // Units: millivolt; Initial value: -96.1638
100  NekDouble var_chaste_interface__fast_sodium_current_m_gate__m =
101  inarray[1][i];
102  // Units: dimensionless; Initial value: 0.0328302
103  NekDouble var_chaste_interface__fast_sodium_current_h_gate__h =
104  inarray[2][i];
105  // Units: dimensionless; Initial value: 0.988354
106  NekDouble var_chaste_interface__fast_sodium_current_j_gate__j =
107  inarray[3][i];
108  // Units: dimensionless; Initial value: 0.99254
109  NekDouble
110  var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr =
111  inarray[4][i];
112  // Units: dimensionless; Initial value: 0.51
113  NekDouble
114  var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks =
115  inarray[5][i];
116  // Units: dimensionless; Initial value: 0.264
117  NekDouble
118  var_chaste_interface__transient_outward_potassium_current_X_to1_gate__X_to1 =
119  inarray[6][i];
120  // Units: dimensionless; Initial value: 2.63
121  NekDouble
122  var_chaste_interface__transient_outward_potassium_current_Y_to1_gate__Y_to1 =
123  inarray[7][i];
124  // Units: dimensionless; Initial value: 0.99
125  NekDouble var_chaste_interface__L_type_Ca_current__O = inarray[8][i];
126  // Units: dimensionless; Initial value: 9.84546e-21
127  NekDouble var_chaste_interface__L_type_Ca_current__O_Ca = inarray[9][i];
128  // Units: dimensionless; Initial value: 0
129  NekDouble var_chaste_interface__L_type_Ca_current__C0 = inarray[10][i];
130  // Units: dimensionless; Initial value: 0.997208
131  NekDouble var_chaste_interface__L_type_Ca_current__C1 = inarray[11][i];
132  // Units: dimensionless; Initial value: 6.38897e-5
133  NekDouble var_chaste_interface__L_type_Ca_current__C2 = inarray[12][i];
134  // Units: dimensionless; Initial value: 1.535e-9
135  NekDouble var_chaste_interface__L_type_Ca_current__C3 = inarray[13][i];
136  // Units: dimensionless; Initial value: 1.63909e-14
137  NekDouble var_chaste_interface__L_type_Ca_current__C4 = inarray[14][i];
138  // Units: dimensionless; Initial value: 6.56337e-20
139  NekDouble var_chaste_interface__L_type_Ca_current__C_Ca0 =
140  inarray[15][i];
141  // Units: dimensionless; Initial value: 0.00272826
142  NekDouble var_chaste_interface__L_type_Ca_current__C_Ca1 =
143  inarray[16][i];
144  // Units: dimensionless; Initial value: 6.99215e-7
145  NekDouble var_chaste_interface__L_type_Ca_current__C_Ca2 =
146  inarray[17][i];
147  // Units: dimensionless; Initial value: 6.71989e-11
148  NekDouble var_chaste_interface__L_type_Ca_current__C_Ca3 =
149  inarray[18][i];
150  // Units: dimensionless; Initial value: 2.87031e-15
151  NekDouble var_chaste_interface__L_type_Ca_current__C_Ca4 =
152  inarray[19][i];
153  // Units: dimensionless; Initial value: 4.59752e-20
154  NekDouble var_chaste_interface__L_type_Ca_current_y_gate__y =
155  inarray[20][i];
156  // Units: dimensionless; Initial value: 0.798
157  NekDouble var_chaste_interface__RyR_channel__P_O1 = inarray[21][i];
158  // Units: dimensionless; Initial value: 0
159  NekDouble var_chaste_interface__RyR_channel__P_O2 = inarray[22][i];
160  // Units: dimensionless; Initial value: 0
161  NekDouble var_chaste_interface__RyR_channel__P_C1 = inarray[23][i];
162  // Units: dimensionless; Initial value: 0.47
163  NekDouble var_chaste_interface__RyR_channel__P_C2 = inarray[24][i];
164  // Units: dimensionless; Initial value: 0.53
165  NekDouble var_chaste_interface__intracellular_Ca_fluxes__HTRPNCa =
166  inarray[25][i];
167  // Units: millimolar; Initial value: 0.98
168  NekDouble var_chaste_interface__intracellular_Ca_fluxes__LTRPNCa =
169  inarray[26][i];
170  // Units: millimolar; Initial value: 0.078
171  NekDouble var_chaste_interface__intracellular_ion_concentrations__Nai =
172  inarray[27][i];
173  // Units: millimolar; Initial value: 10
174  NekDouble var_chaste_interface__intracellular_ion_concentrations__Cai =
175  inarray[28][i];
176  // Units: millimolar; Initial value: 0.00008
177  NekDouble var_chaste_interface__intracellular_ion_concentrations__Ki =
178  inarray[29][i];
179  // Units: millimolar; Initial value: 157.8
180  NekDouble
181  var_chaste_interface__intracellular_ion_concentrations__Ca_ss =
182  inarray[30][i];
183  // Units: millimolar; Initial value: 0.00011
184  NekDouble
185  var_chaste_interface__intracellular_ion_concentrations__Ca_JSR =
186  inarray[31][i];
187  // Units: millimolar; Initial value: 0.257
188  NekDouble
189  var_chaste_interface__intracellular_ion_concentrations__Ca_NSR =
190  inarray[32][i];
191  // Units: millimolar; Initial value: 0.257
192 
193  // Mathematics
194  NekDouble d_dt_chaste_interface__membrane__V;
195  const NekDouble var_membrane__R = 8.314472; // joule_per_mole_kelvin
196  const NekDouble var_membrane__T = 310.0; // kelvin
197  const NekDouble var_membrane__F = 96.4853415; // coulomb_per_millimole
198  const NekDouble var_fast_sodium_current__j =
199  var_chaste_interface__fast_sodium_current_j_gate__j; // dimensionless
200  const NekDouble var_fast_sodium_current__h =
201  var_chaste_interface__fast_sodium_current_h_gate__h; // dimensionless
202  const NekDouble var_fast_sodium_current__g_Na =
203  12.8; // milliS_per_microF
204  const NekDouble var_fast_sodium_current__m =
205  var_chaste_interface__fast_sodium_current_m_gate__m; // dimensionless
206  const NekDouble var_fast_sodium_current__V =
207  var_chaste_interface__membrane__V; // millivolt
208  const NekDouble var_fast_sodium_current__R =
209  var_membrane__R; // joule_per_mole_kelvin
210  const NekDouble var_fast_sodium_current__F =
211  var_membrane__F; // coulomb_per_millimole
212  const NekDouble var_standard_ionic_concentrations__Nao =
213  138.0; // millimolar
214  const NekDouble var_fast_sodium_current__Nao =
215  var_standard_ionic_concentrations__Nao; // millimolar
216  const NekDouble var_fast_sodium_current__Nai =
217  var_chaste_interface__intracellular_ion_concentrations__Nai; // millimolar
218  const NekDouble var_fast_sodium_current__T = var_membrane__T; // kelvin
219  const NekDouble var_fast_sodium_current__E_Na =
220  ((var_fast_sodium_current__R * var_fast_sodium_current__T) /
221  var_fast_sodium_current__F) *
222  log(var_fast_sodium_current__Nao /
223  var_fast_sodium_current__Nai); // millivolt
224  const NekDouble var_fast_sodium_current__i_Na =
225  var_fast_sodium_current__g_Na *
226  pow(var_fast_sodium_current__m, 3.0) * var_fast_sodium_current__h *
227  var_fast_sodium_current__j *
228  (var_fast_sodium_current__V -
229  var_fast_sodium_current__E_Na); // microA_per_microF
230  const NekDouble var_L_type_Ca_current__O =
231  var_chaste_interface__L_type_Ca_current__O; // dimensionless
232  const NekDouble var_L_type_Ca_current__F =
233  var_membrane__F; // coulomb_per_millimole
234  const NekDouble var_L_type_Ca_current__P_Ca =
235  0.0003125; // cm_per_second
236  const NekDouble var_standard_ionic_concentrations__Cao =
237  2.0; // millimolar
238  const NekDouble var_L_type_Ca_current__Cao =
239  var_standard_ionic_concentrations__Cao; // millimolar
240  const NekDouble var_L_type_Ca_current__V =
241  var_chaste_interface__membrane__V; // millivolt
242  const NekDouble var_L_type_Ca_current__T = var_membrane__T; // kelvin
243  const NekDouble var_L_type_Ca_current__R =
244  var_membrane__R; // joule_per_mole_kelvin
245  const NekDouble var_L_type_Ca_current__i_Ca_max =
246  ((((var_L_type_Ca_current__P_Ca / (1.0 * 1.0)) * 4.0 *
247  var_L_type_Ca_current__V * pow(var_L_type_Ca_current__F, 2.0) *
248  1000.0) /
249  (var_L_type_Ca_current__R * var_L_type_Ca_current__T)) *
250  ((0.001 *
251  exp((2.0 * var_L_type_Ca_current__V * var_L_type_Ca_current__F) /
252  (var_L_type_Ca_current__R * var_L_type_Ca_current__T))) -
253  (0.341 * var_L_type_Ca_current__Cao))) /
254  (exp((2.0 * var_L_type_Ca_current__V * var_L_type_Ca_current__F) /
255  (var_L_type_Ca_current__R * var_L_type_Ca_current__T)) -
256  1.0); // microA_per_microF
257  const NekDouble var_L_type_Ca_current__y =
258  var_chaste_interface__L_type_Ca_current_y_gate__y; // dimensionless
259  const NekDouble var_L_type_Ca_current__O_Ca =
260  var_chaste_interface__L_type_Ca_current__O_Ca; // dimensionless
261  const NekDouble var_L_type_Ca_current__i_Ca =
262  var_L_type_Ca_current__i_Ca_max * var_L_type_Ca_current__y *
263  (var_L_type_Ca_current__O +
264  var_L_type_Ca_current__O_Ca); // microA_per_microF
265  const NekDouble var_L_type_Ca_current__P_K = 5.79e-07; // cm_per_second
266  const NekDouble var_L_type_Ca_current__i_Ca_half =
267  -0.265; // microA_per_microF
268  const NekDouble var_L_type_Ca_current__p_prime_k =
269  var_L_type_Ca_current__P_K /
270  (1.0 + (var_L_type_Ca_current__i_Ca_max /
271  var_L_type_Ca_current__i_Ca_half)); // cm_per_second
272  const NekDouble var_standard_ionic_concentrations__Ko =
273  4.0; // millimolar
274  const NekDouble var_L_type_Ca_current__Ko =
275  var_standard_ionic_concentrations__Ko; // millimolar
276  const NekDouble var_L_type_Ca_current__Ki =
277  var_chaste_interface__intracellular_ion_concentrations__Ki; // millimolar
278  const NekDouble var_L_type_Ca_current__i_Ca_K =
279  ((((var_L_type_Ca_current__p_prime_k / (1.0 * 1.0)) *
280  var_L_type_Ca_current__y *
281  (var_L_type_Ca_current__O + var_L_type_Ca_current__O_Ca) *
282  var_L_type_Ca_current__V * pow(var_L_type_Ca_current__F, 2.0)) /
283  (var_L_type_Ca_current__R * var_L_type_Ca_current__T)) *
284  ((var_L_type_Ca_current__Ki *
285  exp((var_L_type_Ca_current__V * var_L_type_Ca_current__F) /
286  (var_L_type_Ca_current__R * var_L_type_Ca_current__T))) -
287  var_L_type_Ca_current__Ko)) /
288  (exp((var_L_type_Ca_current__V * var_L_type_Ca_current__F) /
289  (var_L_type_Ca_current__R * var_L_type_Ca_current__T)) -
290  1.0); // microA_per_microF
291  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__Ko =
292  var_standard_ionic_concentrations__Ko; // millimolar
293  const NekDouble
294  var_rapid_activating_delayed_rectifiyer_K_current__f_Ko =
295  sqrt(var_rapid_activating_delayed_rectifiyer_K_current__Ko /
296  4.0); // dimensionless
297  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__Ki =
298  var_chaste_interface__intracellular_ion_concentrations__Ki; // millimolar
299  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__R =
300  var_membrane__R; // joule_per_mole_kelvin
301  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__F =
302  var_membrane__F; // coulomb_per_millimole
303  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__T =
304  var_membrane__T; // kelvin
305  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__E_K =
306  ((var_rapid_activating_delayed_rectifiyer_K_current__R *
307  var_rapid_activating_delayed_rectifiyer_K_current__T) /
308  var_rapid_activating_delayed_rectifiyer_K_current__F) *
309  log(var_rapid_activating_delayed_rectifiyer_K_current__Ko /
310  var_rapid_activating_delayed_rectifiyer_K_current__Ki); // millivolt
311  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__V =
312  var_chaste_interface__membrane__V; // millivolt
313  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__R_V =
314  1.0 /
315  (1.0 +
316  (1.4945 *
317  exp(0.0446 *
318  var_rapid_activating_delayed_rectifiyer_K_current__V))); // dimensionless
319  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__X_kr =
320  var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr; // dimensionless
321  const NekDouble
322  var_rapid_activating_delayed_rectifiyer_K_current__g_Kr =
323  0.0034; // milliS_per_microF
324  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__i_Kr =
325  var_rapid_activating_delayed_rectifiyer_K_current__g_Kr *
326  var_rapid_activating_delayed_rectifiyer_K_current__f_Ko *
327  var_rapid_activating_delayed_rectifiyer_K_current__R_V *
328  var_rapid_activating_delayed_rectifiyer_K_current__X_kr *
329  (var_rapid_activating_delayed_rectifiyer_K_current__V -
330  var_rapid_activating_delayed_rectifiyer_K_current__E_K); // microA_per_microF
331  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__g_Ks =
332  0.0027134; // milliS_per_microF
333  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__Ko =
334  var_standard_ionic_concentrations__Ko; // millimolar
335  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__Nao =
336  var_standard_ionic_concentrations__Nao; // millimolar
337  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__Ki =
338  var_chaste_interface__intracellular_ion_concentrations__Ki; // millimolar
339  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__Nai =
340  var_chaste_interface__intracellular_ion_concentrations__Nai; // millimolar
341  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__R =
342  var_membrane__R; // joule_per_mole_kelvin
343  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__F =
344  var_membrane__F; // coulomb_per_millimole
345  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__T =
346  var_membrane__T; // kelvin
347  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__E_Ks =
348  ((var_slow_activating_delayed_rectifiyer_K_current__R *
349  var_slow_activating_delayed_rectifiyer_K_current__T) /
350  var_slow_activating_delayed_rectifiyer_K_current__F) *
351  log((var_slow_activating_delayed_rectifiyer_K_current__Ko +
352  (0.01833 *
353  var_slow_activating_delayed_rectifiyer_K_current__Nao)) /
354  (var_slow_activating_delayed_rectifiyer_K_current__Ki +
355  (0.01833 *
356  var_slow_activating_delayed_rectifiyer_K_current__Nai))); // millivolt
357  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__V =
358  var_chaste_interface__membrane__V; // millivolt
359  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__X_ks =
360  var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks; // dimensionless
361  const NekDouble var_slow_activating_delayed_rectifiyer_K_current__i_Ks =
362  var_slow_activating_delayed_rectifiyer_K_current__g_Ks *
363  pow(var_slow_activating_delayed_rectifiyer_K_current__X_ks, 2.0) *
364  (var_slow_activating_delayed_rectifiyer_K_current__V -
365  var_slow_activating_delayed_rectifiyer_K_current__E_Ks); // microA_per_microF
366  const NekDouble var_transient_outward_potassium_current__X_to1 =
367  var_chaste_interface__transient_outward_potassium_current_X_to1_gate__X_to1; // dimensionless
368  const NekDouble var_transient_outward_potassium_current__Y_to1 =
369  var_chaste_interface__transient_outward_potassium_current_Y_to1_gate__Y_to1; // dimensionless
370  const NekDouble var_transient_outward_potassium_current__g_to1 =
371  0.23815; // milliS_per_microF
372  const NekDouble var_transient_outward_potassium_current__E_K =
373  var_rapid_activating_delayed_rectifiyer_K_current__E_K; // millivolt
374  const NekDouble var_transient_outward_potassium_current__V =
375  var_chaste_interface__membrane__V; // millivolt
376  const NekDouble var_transient_outward_potassium_current__i_to1 =
377  var_transient_outward_potassium_current__g_to1 *
378  var_transient_outward_potassium_current__X_to1 *
379  var_transient_outward_potassium_current__Y_to1 *
380  (var_transient_outward_potassium_current__V -
381  var_transient_outward_potassium_current__E_K); // microA_per_microF
382  const NekDouble var_time_independent_potassium_current__Ko =
383  var_standard_ionic_concentrations__Ko; // millimolar
384  const NekDouble var_time_independent_potassium_current__E_K =
385  var_rapid_activating_delayed_rectifiyer_K_current__E_K; // millivolt
386  const NekDouble var_time_independent_potassium_current__F =
387  var_membrane__F; // coulomb_per_millimole
388  const NekDouble var_time_independent_potassium_current_K1_gate__F =
389  var_time_independent_potassium_current__F; // coulomb_per_millimole
390  const NekDouble var_time_independent_potassium_current__V =
391  var_chaste_interface__membrane__V; // millivolt
392  const NekDouble var_time_independent_potassium_current_K1_gate__V =
393  var_time_independent_potassium_current__V; // millivolt
394  const NekDouble var_time_independent_potassium_current__T =
395  var_membrane__T; // kelvin
396  const NekDouble var_time_independent_potassium_current_K1_gate__T =
397  var_time_independent_potassium_current__T; // kelvin
398  const NekDouble var_time_independent_potassium_current_K1_gate__E_K =
399  var_time_independent_potassium_current__E_K; // millivolt
400  const NekDouble var_time_independent_potassium_current__R =
401  var_membrane__R; // joule_per_mole_kelvin
402  const NekDouble var_time_independent_potassium_current_K1_gate__R =
403  var_time_independent_potassium_current__R; // joule_per_mole_kelvin
404  const NekDouble
405  var_time_independent_potassium_current_K1_gate__K1_infinity_V =
406  1.0 /
407  (2.0 +
408  exp(((1.5 *
409  var_time_independent_potassium_current_K1_gate__F) /
410  (var_time_independent_potassium_current_K1_gate__R *
411  var_time_independent_potassium_current_K1_gate__T)) *
412  (var_time_independent_potassium_current_K1_gate__V -
413  var_time_independent_potassium_current_K1_gate__E_K))); // dimensionless
414  const NekDouble var_time_independent_potassium_current__K1_infinity_V =
415  var_time_independent_potassium_current_K1_gate__K1_infinity_V; // dimensionless
416  const NekDouble var_time_independent_potassium_current__g_K1 =
417  2.8; // milliS_per_microF
418  const NekDouble var_time_independent_potassium_current__K_mK1 =
419  13.0; // millimolar
420  const NekDouble var_time_independent_potassium_current__i_K1 =
421  ((var_time_independent_potassium_current__g_K1 *
422  var_time_independent_potassium_current__K1_infinity_V *
423  var_time_independent_potassium_current__Ko) /
424  (var_time_independent_potassium_current__Ko +
425  var_time_independent_potassium_current__K_mK1)) *
426  (var_time_independent_potassium_current__V -
427  var_time_independent_potassium_current__E_K); // microA_per_microF
428  const NekDouble var_plateau_potassium_current__g_Kp =
429  0.002216; // milliS_per_microF
430  const NekDouble var_plateau_potassium_current__V =
431  var_chaste_interface__membrane__V; // millivolt
432  const NekDouble var_plateau_potassium_current_Kp_gate__V =
433  var_plateau_potassium_current__V; // millivolt
434  const NekDouble var_plateau_potassium_current_Kp_gate__Kp_V =
435  1.0 /
436  (1.0 + exp((7.488 - var_plateau_potassium_current_Kp_gate__V) /
437  5.98)); // dimensionless
438  const NekDouble var_plateau_potassium_current__Kp_V =
439  var_plateau_potassium_current_Kp_gate__Kp_V; // dimensionless
440  const NekDouble var_plateau_potassium_current__E_K =
441  var_rapid_activating_delayed_rectifiyer_K_current__E_K; // millivolt
442  const NekDouble var_plateau_potassium_current__i_Kp =
443  var_plateau_potassium_current__g_Kp *
444  var_plateau_potassium_current__Kp_V *
445  (var_plateau_potassium_current__V -
446  var_plateau_potassium_current__E_K); // microA_per_microF
447  const NekDouble var_Na_Ca_exchanger__Nao =
448  var_standard_ionic_concentrations__Nao; // millimolar
449  const NekDouble var_Na_Ca_exchanger__K_sat = 0.2; // dimensionless
450  const NekDouble var_Na_Ca_exchanger__K_mNa = 87.5; // millimolar
451  const NekDouble var_Na_Ca_exchanger__Nai =
452  var_chaste_interface__intracellular_ion_concentrations__Nai; // millimolar
453  const NekDouble var_Na_Ca_exchanger__K_NaCa = 0.3; // microA_per_microF
454  const NekDouble var_Na_Ca_exchanger__V =
455  var_chaste_interface__membrane__V; // millivolt
456  const NekDouble var_Na_Ca_exchanger__T = var_membrane__T; // kelvin
457  const NekDouble var_Na_Ca_exchanger__Cao =
458  var_standard_ionic_concentrations__Cao; // millimolar
459  const NekDouble var_Na_Ca_exchanger__eta = 0.35; // dimensionless
460  const NekDouble var_Na_Ca_exchanger__K_mCa = 1.38; // millimolar
461  const NekDouble var_Na_Ca_exchanger__F =
462  var_membrane__F; // coulomb_per_millimole
463  const NekDouble var_Na_Ca_exchanger__R =
464  var_membrane__R; // joule_per_mole_kelvin
465  const NekDouble var_Na_Ca_exchanger__Cai =
466  var_chaste_interface__intracellular_ion_concentrations__Cai; // millimolar
467  const NekDouble var_Na_Ca_exchanger__i_NaCa =
468  ((var_Na_Ca_exchanger__K_NaCa * 5000.0) /
469  ((pow(var_Na_Ca_exchanger__K_mNa, 3.0) +
470  pow(var_Na_Ca_exchanger__Nao, 3.0)) *
471  (var_Na_Ca_exchanger__K_mCa + var_Na_Ca_exchanger__Cao) *
472  (1.0 +
473  (var_Na_Ca_exchanger__K_sat *
474  exp(((var_Na_Ca_exchanger__eta - 1.0) * var_Na_Ca_exchanger__V *
475  var_Na_Ca_exchanger__F) /
476  (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)))))) *
477  ((exp((var_Na_Ca_exchanger__eta * var_Na_Ca_exchanger__V *
478  var_Na_Ca_exchanger__F) /
479  (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) *
480  pow(var_Na_Ca_exchanger__Nai, 3.0) * var_Na_Ca_exchanger__Cao) -
481  (exp(((var_Na_Ca_exchanger__eta - 1.0) * var_Na_Ca_exchanger__V *
482  var_Na_Ca_exchanger__F) /
483  (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) *
484  pow(var_Na_Ca_exchanger__Nao, 3.0) *
485  var_Na_Ca_exchanger__Cai)); // microA_per_microF
486  const NekDouble var_sodium_potassium_pump__Ko =
487  var_standard_ionic_concentrations__Ko; // millimolar
488  const NekDouble var_sodium_potassium_pump__K_mNai = 10.0; // millimolar
489  const NekDouble var_sodium_potassium_pump__Nai =
490  var_chaste_interface__intracellular_ion_concentrations__Nai; // millimolar
491  const NekDouble var_sodium_potassium_pump__V =
492  var_chaste_interface__membrane__V; // millivolt
493  const NekDouble var_sodium_potassium_pump__F =
494  var_membrane__F; // coulomb_per_millimole
495  const NekDouble var_sodium_potassium_pump__T =
496  var_membrane__T; // kelvin
497  const NekDouble var_sodium_potassium_pump__Nao =
498  var_standard_ionic_concentrations__Nao; // millimolar
499  const NekDouble var_sodium_potassium_pump__sigma =
500  (1.0 / 7.0) *
501  (exp(var_sodium_potassium_pump__Nao / 67.3) - 1.0); // dimensionless
502  const NekDouble var_sodium_potassium_pump__R =
503  var_membrane__R; // joule_per_mole_kelvin
504  const NekDouble var_sodium_potassium_pump__f_NaK =
505  1.0 / (1.0 +
506  (0.1245 * exp(((-0.1) * var_sodium_potassium_pump__V *
507  var_sodium_potassium_pump__F) /
508  (var_sodium_potassium_pump__R *
509  var_sodium_potassium_pump__T))) +
510  (0.0365 * var_sodium_potassium_pump__sigma *
511  exp(((-var_sodium_potassium_pump__V) *
512  var_sodium_potassium_pump__F) /
513  (var_sodium_potassium_pump__R *
514  var_sodium_potassium_pump__T)))); // dimensionless
515  const NekDouble var_sodium_potassium_pump__I_NaK =
516  0.693; // microA_per_microF
517  const NekDouble var_sodium_potassium_pump__K_mKo = 1.5; // millimolar
518  const NekDouble var_sodium_potassium_pump__i_NaK =
519  (((var_sodium_potassium_pump__I_NaK *
520  var_sodium_potassium_pump__f_NaK) /
521  (1.0 + pow(var_sodium_potassium_pump__K_mNai /
522  var_sodium_potassium_pump__Nai,
523  1.5))) *
524  var_sodium_potassium_pump__Ko) /
525  (var_sodium_potassium_pump__Ko +
526  var_sodium_potassium_pump__K_mKo); // microA_per_microF
527  const NekDouble var_sarcolemmal_calcium_pump__I_pCa =
528  0.05; // microA_per_microF
529  const NekDouble var_sarcolemmal_calcium_pump__Cai =
530  var_chaste_interface__intracellular_ion_concentrations__Cai; // millimolar
531  const NekDouble var_sarcolemmal_calcium_pump__K_mpCa =
532  5e-05; // millimolar
533  const NekDouble var_sarcolemmal_calcium_pump__i_p_Ca =
534  (var_sarcolemmal_calcium_pump__I_pCa *
535  var_sarcolemmal_calcium_pump__Cai) /
536  (var_sarcolemmal_calcium_pump__K_mpCa +
537  var_sarcolemmal_calcium_pump__Cai); // microA_per_microF
538  const NekDouble var_calcium_background_current__R =
539  var_membrane__R; // joule_per_mole_kelvin
540  const NekDouble var_calcium_background_current__Cai =
541  var_chaste_interface__intracellular_ion_concentrations__Cai; // millimolar
542  const NekDouble var_calcium_background_current__F =
543  var_membrane__F; // coulomb_per_millimole
544  const NekDouble var_calcium_background_current__T =
545  var_membrane__T; // kelvin
546  const NekDouble var_calcium_background_current__Cao =
547  var_standard_ionic_concentrations__Cao; // millimolar
548  const NekDouble var_calcium_background_current__E_Ca =
549  ((var_calcium_background_current__R *
550  var_calcium_background_current__T) /
551  (2.0 * var_calcium_background_current__F)) *
552  log(var_calcium_background_current__Cao /
553  var_calcium_background_current__Cai); // millivolt
554  const NekDouble var_calcium_background_current__g_Cab =
555  0.0003842; // milliS_per_microF
556  const NekDouble var_calcium_background_current__V =
557  var_chaste_interface__membrane__V; // millivolt
558  const NekDouble var_calcium_background_current__i_Ca_b =
559  var_calcium_background_current__g_Cab *
560  (var_calcium_background_current__V -
561  var_calcium_background_current__E_Ca); // microA_per_microF
562  const NekDouble var_sodium_background_current__g_Nab =
563  0.0031; // milliS_per_microF
564  const NekDouble var_sodium_background_current__V =
565  var_chaste_interface__membrane__V; // millivolt
566  const NekDouble var_sodium_background_current__E_Na =
567  var_fast_sodium_current__E_Na; // millivolt
568  const NekDouble var_sodium_background_current__i_Na_b =
569  var_sodium_background_current__g_Nab *
570  (var_sodium_background_current__V -
571  var_sodium_background_current__E_Na); // microA_per_microF
572  const NekDouble var_fast_sodium_current_m_gate__V =
573  var_fast_sodium_current__V; // millivolt
574  const NekDouble var_fast_sodium_current_m_gate__beta_m =
575  80.0 *
576  exp((-var_fast_sodium_current_m_gate__V) / 11.0); // per_second
577  const NekDouble var_fast_sodium_current_m_gate__E0_m =
578  var_fast_sodium_current_m_gate__V + 47.13; // millivolt
579  const NekDouble var_fast_sodium_current_m_gate__alpha_m =
580  (fabs(var_fast_sodium_current_m_gate__E0_m) < 1e-05)
581  ? (1000.0 /
582  (0.1 - (0.005 * var_fast_sodium_current_m_gate__E0_m)))
583  : ((320.0 * var_fast_sodium_current_m_gate__E0_m) /
584  (1.0 -
585  exp((-0.1) *
586  var_fast_sodium_current_m_gate__E0_m))); // per_second
587  const NekDouble var_fast_sodium_current_m_gate__m =
588  var_fast_sodium_current__m; // dimensionless
589  const NekDouble
590  var_fast_sodium_current_m_gate__d_m_d_environment__time =
591  (var_fast_sodium_current_m_gate__V >= (-90.0))
592  ? ((var_fast_sodium_current_m_gate__alpha_m *
593  (1.0 - var_fast_sodium_current_m_gate__m)) -
594  (var_fast_sodium_current_m_gate__beta_m *
595  var_fast_sodium_current_m_gate__m))
596  : 0.0; // per_second
597  const NekDouble
598  var_fast_sodium_current__fast_sodium_current_m_gate__d_m_d_environment__time =
599  var_fast_sodium_current_m_gate__d_m_d_environment__time; // per_second
600  const NekDouble var_fast_sodium_current_h_gate__V =
601  var_fast_sodium_current__V; // millivolt
602  const NekDouble var_fast_sodium_current_h_gate__beta_h =
603  (var_fast_sodium_current_h_gate__V < (-40.0))
604  ? ((3560.0 * exp(0.079 * var_fast_sodium_current_h_gate__V)) +
605  (310000.0 * exp(0.35 * var_fast_sodium_current_h_gate__V)))
606  : (1000.0 /
607  (0.13 *
608  (1.0 + exp((var_fast_sodium_current_h_gate__V + 10.66) /
609  (-11.1))))); // per_second
610  const NekDouble var_fast_sodium_current_h_gate__alpha_h =
611  (var_fast_sodium_current_h_gate__V < (-40.0))
612  ? (135.0 *
613  exp((80.0 + var_fast_sodium_current_h_gate__V) / (-6.8)))
614  : 0.0; // per_second
615  const NekDouble var_fast_sodium_current_h_gate__h =
616  var_fast_sodium_current__h; // dimensionless
617  const NekDouble
618  var_fast_sodium_current_h_gate__d_h_d_environment__time =
619  (var_fast_sodium_current_h_gate__alpha_h *
620  (1.0 - var_fast_sodium_current_h_gate__h)) -
621  (var_fast_sodium_current_h_gate__beta_h *
622  var_fast_sodium_current_h_gate__h); // per_second
623  const NekDouble
624  var_fast_sodium_current__fast_sodium_current_h_gate__d_h_d_environment__time =
625  var_fast_sodium_current_h_gate__d_h_d_environment__time; // per_second
626  const NekDouble var_fast_sodium_current_j_gate__V =
627  var_fast_sodium_current__V; // millivolt
628  const NekDouble var_fast_sodium_current_j_gate__alpha_j =
629  (var_fast_sodium_current_j_gate__V < (-40.0))
630  ? ((1000.0 *
631  (-((127140.0 *
632  exp(0.2444 * var_fast_sodium_current_j_gate__V)) +
633  (3.474e-05 *
634  exp((-0.04391) * var_fast_sodium_current_j_gate__V)))) *
635  (var_fast_sodium_current_j_gate__V + 37.78)) /
636  (1.0 +
637  exp(0.311 * (var_fast_sodium_current_j_gate__V + 79.23))))
638  : 0.0; // per_second
639  const NekDouble var_fast_sodium_current_j_gate__beta_j =
640  (var_fast_sodium_current_j_gate__V < (-40.0))
641  ? ((121.2 *
642  exp((-0.01052) * var_fast_sodium_current_j_gate__V)) /
643  (1.0 + exp((-0.1378) *
644  (var_fast_sodium_current_j_gate__V + 40.14))))
645  : ((300.0 *
646  exp((-2.535e-07) * var_fast_sodium_current_j_gate__V)) /
647  (1.0 + exp((-0.1) * (var_fast_sodium_current_j_gate__V +
648  32.0)))); // per_second
649  const NekDouble var_fast_sodium_current_j_gate__j =
650  var_fast_sodium_current__j; // dimensionless
651  const NekDouble
652  var_fast_sodium_current_j_gate__d_j_d_environment__time =
653  (var_fast_sodium_current_j_gate__alpha_j *
654  (1.0 - var_fast_sodium_current_j_gate__j)) -
655  (var_fast_sodium_current_j_gate__beta_j *
656  var_fast_sodium_current_j_gate__j); // per_second
657  const NekDouble
658  var_fast_sodium_current__fast_sodium_current_j_gate__d_j_d_environment__time =
659  var_fast_sodium_current_j_gate__d_j_d_environment__time; // per_second
660  const NekDouble
661  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__tau_factor =
662  1.0; // dimensionless
663  const NekDouble
664  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__V =
665  var_rapid_activating_delayed_rectifiyer_K_current__V; // millivolt
666  const NekDouble
667  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__K21 = exp(
668  (-7.677) -
669  (0.0128 *
670  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__V)); // dimensionless
671  const NekDouble
672  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__K12 = exp(
673  (-5.495) +
674  (0.1691 *
675  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__V)); // dimensionless
676  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__tau_X_kr =
677  (0.001 /
678  (var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__K12 +
679  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__K21)) +
680  (var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__tau_factor *
681  0.027); // second
682  const NekDouble
683  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr =
684  var_rapid_activating_delayed_rectifiyer_K_current__X_kr; // dimensionless
685  const NekDouble
686  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr_inf =
687  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__K12 /
688  (var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__K12 +
689  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__K21); // dimensionless
690  const NekDouble var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time =
691  (var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr_inf -
692  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr) /
693  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__tau_X_kr; // per_second
694  const NekDouble
695  var_rapid_activating_delayed_rectifiyer_K_current__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time =
696  var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time; // per_second
697  const NekDouble
698  var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V =
699  var_slow_activating_delayed_rectifiyer_K_current__V; // millivolt
700  const NekDouble var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__tau_X_ks =
701  0.001 /
702  (((7.19e-05 *
703  (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
704  10.0)) /
705  (1.0 -
706  exp((-0.148) *
707  (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
708  10.0)))) +
709  ((0.000131 *
710  (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
711  10.0)) /
712  (exp(0.0687 *
713  (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
714  10.0)) -
715  1.0))); // second
716  const NekDouble
717  var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks_infinity =
718  1.0 /
719  (1.0 +
720  exp((-(var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
721  24.7)) /
722  13.6)); // dimensionless
723  const NekDouble
724  var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks =
725  var_slow_activating_delayed_rectifiyer_K_current__X_ks; // dimensionless
726  const NekDouble var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time =
727  (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks_infinity -
728  var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks) /
729  var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__tau_X_ks; // per_second
730  const NekDouble
731  var_slow_activating_delayed_rectifiyer_K_current__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time =
732  var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time; // per_second
733  const NekDouble var_transient_outward_potassium_current_X_to1_gate__V =
734  var_transient_outward_potassium_current__V; // millivolt
735  const NekDouble
736  var_transient_outward_potassium_current_X_to1_gate__alpha_X_to1 =
737  45.16 *
738  exp(0.03577 *
739  var_transient_outward_potassium_current_X_to1_gate__V); // per_second
740  const NekDouble
741  var_transient_outward_potassium_current_X_to1_gate__X_to1 =
742  var_transient_outward_potassium_current__X_to1; // dimensionless
743  const NekDouble
744  var_transient_outward_potassium_current_X_to1_gate__beta_X_to1 =
745  98.9 *
746  exp((-0.06237) *
747  var_transient_outward_potassium_current_X_to1_gate__V); // per_second
748  const NekDouble
749  var_transient_outward_potassium_current_X_to1_gate__d_X_to1_d_environment__time =
750  (var_transient_outward_potassium_current_X_to1_gate__alpha_X_to1 *
751  (1.0 -
752  var_transient_outward_potassium_current_X_to1_gate__X_to1)) -
753  (var_transient_outward_potassium_current_X_to1_gate__beta_X_to1 *
754  var_transient_outward_potassium_current_X_to1_gate__X_to1); // per_second
755  const NekDouble
756  var_transient_outward_potassium_current__transient_outward_potassium_current_X_to1_gate__d_X_to1_d_environment__time =
757  var_transient_outward_potassium_current_X_to1_gate__d_X_to1_d_environment__time; // per_second
758  const NekDouble var_transient_outward_potassium_current_Y_to1_gate__V =
759  var_transient_outward_potassium_current__V; // millivolt
760  const NekDouble
761  var_transient_outward_potassium_current_Y_to1_gate__alpha_Y_to1 =
762  (5.415 *
763  exp((-(var_transient_outward_potassium_current_Y_to1_gate__V +
764  33.5)) /
765  5.0)) /
766  (1.0 +
767  (0.051335 *
768  exp((-(var_transient_outward_potassium_current_Y_to1_gate__V +
769  33.5)) /
770  5.0))); // per_second
771  const NekDouble
772  var_transient_outward_potassium_current_Y_to1_gate__Y_to1 =
773  var_transient_outward_potassium_current__Y_to1; // dimensionless
774  const NekDouble
775  var_transient_outward_potassium_current_Y_to1_gate__beta_Y_to1 =
776  (5.415 *
777  exp((var_transient_outward_potassium_current_Y_to1_gate__V +
778  33.5) /
779  5.0)) /
780  (1.0 +
781  (0.051335 *
782  exp((var_transient_outward_potassium_current_Y_to1_gate__V +
783  33.5) /
784  5.0))); // per_second
785  const NekDouble
786  var_transient_outward_potassium_current_Y_to1_gate__d_Y_to1_d_environment__time =
787  (var_transient_outward_potassium_current_Y_to1_gate__alpha_Y_to1 *
788  (1.0 -
789  var_transient_outward_potassium_current_Y_to1_gate__Y_to1)) -
790  (var_transient_outward_potassium_current_Y_to1_gate__beta_Y_to1 *
791  var_transient_outward_potassium_current_Y_to1_gate__Y_to1); // per_second
792  const NekDouble
793  var_transient_outward_potassium_current__transient_outward_potassium_current_Y_to1_gate__d_Y_to1_d_environment__time =
794  var_transient_outward_potassium_current_Y_to1_gate__d_Y_to1_d_environment__time; // per_second
795  const NekDouble var_L_type_Ca_current__alpha =
796  400.0 * exp((var_L_type_Ca_current__V + 2.0) / 10.0); // per_second
797  const NekDouble var_L_type_Ca_current__beta =
798  50.0 *
799  exp((-(var_L_type_Ca_current__V + 2.0)) / 13.0); // per_second
800  const NekDouble var_L_type_Ca_current__Ca_ss =
801  var_chaste_interface__intracellular_ion_concentrations__Ca_ss; // millimolar
802  const NekDouble var_L_type_Ca_current__gamma =
803  (103.75 * var_L_type_Ca_current__Ca_ss) / 1.0; // per_second
804  const NekDouble var_L_type_Ca_current__a = 2.0; // dimensionless
805  const NekDouble var_L_type_Ca_current__alpha_a =
806  var_L_type_Ca_current__alpha *
807  var_L_type_Ca_current__a; // per_second
808  const NekDouble var_L_type_Ca_current__b = 2.0; // dimensionless
809  const NekDouble var_L_type_Ca_current__beta_b =
810  var_L_type_Ca_current__beta /
811  var_L_type_Ca_current__b; // per_second
812  const NekDouble var_L_type_Ca_current__g = 2000.0; // per_second
813  const NekDouble var_L_type_Ca_current__f = 300.0; // per_second
814  const NekDouble var_L_type_Ca_current__gprime = 7000.0; // per_second
815  const NekDouble var_L_type_Ca_current__fprime = 7.0; // per_second
816  const NekDouble var_L_type_Ca_current__omega = 10.0; // per_second
817  const NekDouble var_L_type_Ca_current__C0 =
818  var_chaste_interface__L_type_Ca_current__C0; // dimensionless
819  const NekDouble var_L_type_Ca_current__C1 =
820  var_chaste_interface__L_type_Ca_current__C1; // dimensionless
821  const NekDouble var_L_type_Ca_current__C2 =
822  var_chaste_interface__L_type_Ca_current__C2; // dimensionless
823  const NekDouble var_L_type_Ca_current__C3 =
824  var_chaste_interface__L_type_Ca_current__C3; // dimensionless
825  const NekDouble var_L_type_Ca_current__C4 =
826  var_chaste_interface__L_type_Ca_current__C4; // dimensionless
827  const NekDouble var_L_type_Ca_current__C_Ca0 =
828  var_chaste_interface__L_type_Ca_current__C_Ca0; // dimensionless
829  const NekDouble var_L_type_Ca_current__C_Ca1 =
830  var_chaste_interface__L_type_Ca_current__C_Ca1; // dimensionless
831  const NekDouble var_L_type_Ca_current__C_Ca2 =
832  var_chaste_interface__L_type_Ca_current__C_Ca2; // dimensionless
833  const NekDouble var_L_type_Ca_current__C_Ca3 =
834  var_chaste_interface__L_type_Ca_current__C_Ca3; // dimensionless
835  const NekDouble var_L_type_Ca_current__C_Ca4 =
836  var_chaste_interface__L_type_Ca_current__C_Ca4; // dimensionless
837  const NekDouble var_L_type_Ca_current__d_O_d_environment__time =
838  (var_L_type_Ca_current__f * var_L_type_Ca_current__C4) -
839  (var_L_type_Ca_current__g * var_L_type_Ca_current__O); // per_second
840  const NekDouble var_L_type_Ca_current__d_O_Ca_d_environment__time =
841  (var_L_type_Ca_current__fprime * var_L_type_Ca_current__C_Ca4) -
842  (var_L_type_Ca_current__gprime *
843  var_L_type_Ca_current__O_Ca); // per_second
844  const NekDouble var_L_type_Ca_current__d_C0_d_environment__time =
845  ((var_L_type_Ca_current__beta * var_L_type_Ca_current__C1) +
846  (var_L_type_Ca_current__omega * var_L_type_Ca_current__C_Ca0)) -
847  (((4.0 * var_L_type_Ca_current__alpha) +
848  var_L_type_Ca_current__gamma) *
849  var_L_type_Ca_current__C0); // per_second
850  const NekDouble var_L_type_Ca_current__d_C1_d_environment__time =
851  ((4.0 * var_L_type_Ca_current__alpha * var_L_type_Ca_current__C0) +
852  (2.0 * var_L_type_Ca_current__beta * var_L_type_Ca_current__C2) +
853  ((var_L_type_Ca_current__omega / var_L_type_Ca_current__b) *
854  var_L_type_Ca_current__C_Ca1)) -
855  ((var_L_type_Ca_current__beta +
856  (3.0 * var_L_type_Ca_current__alpha) +
857  (var_L_type_Ca_current__gamma * var_L_type_Ca_current__a)) *
858  var_L_type_Ca_current__C1); // per_second
859  const NekDouble var_L_type_Ca_current__d_C2_d_environment__time =
860  ((3.0 * var_L_type_Ca_current__alpha * var_L_type_Ca_current__C1) +
861  (3.0 * var_L_type_Ca_current__beta * var_L_type_Ca_current__C3) +
862  ((var_L_type_Ca_current__omega /
863  pow(var_L_type_Ca_current__b, 2.0)) *
864  var_L_type_Ca_current__C_Ca2)) -
865  (((var_L_type_Ca_current__beta * 2.0) +
866  (2.0 * var_L_type_Ca_current__alpha) +
867  (var_L_type_Ca_current__gamma *
868  pow(var_L_type_Ca_current__a, 2.0))) *
869  var_L_type_Ca_current__C2); // per_second
870  const NekDouble var_L_type_Ca_current__d_C3_d_environment__time =
871  ((2.0 * var_L_type_Ca_current__alpha * var_L_type_Ca_current__C2) +
872  (4.0 * var_L_type_Ca_current__beta * var_L_type_Ca_current__C4) +
873  ((var_L_type_Ca_current__omega /
874  pow(var_L_type_Ca_current__b, 3.0)) *
875  var_L_type_Ca_current__C_Ca3)) -
876  (((var_L_type_Ca_current__beta * 3.0) +
877  var_L_type_Ca_current__alpha +
878  (var_L_type_Ca_current__gamma *
879  pow(var_L_type_Ca_current__a, 3.0))) *
880  var_L_type_Ca_current__C3); // per_second
881  const NekDouble var_L_type_Ca_current__d_C4_d_environment__time =
882  ((var_L_type_Ca_current__alpha * var_L_type_Ca_current__C3) +
883  (var_L_type_Ca_current__g * var_L_type_Ca_current__O) +
884  ((var_L_type_Ca_current__omega /
885  pow(var_L_type_Ca_current__b, 4.0)) *
886  var_L_type_Ca_current__C_Ca4)) -
887  (((var_L_type_Ca_current__beta * 4.0) + var_L_type_Ca_current__f +
888  (var_L_type_Ca_current__gamma *
889  pow(var_L_type_Ca_current__a, 4.0))) *
890  var_L_type_Ca_current__C4); // per_second
891  const NekDouble var_L_type_Ca_current__d_C_Ca0_d_environment__time =
892  ((var_L_type_Ca_current__beta_b * var_L_type_Ca_current__C_Ca1) +
893  (var_L_type_Ca_current__gamma * var_L_type_Ca_current__C0)) -
894  (((4.0 * var_L_type_Ca_current__alpha_a) +
895  var_L_type_Ca_current__omega) *
896  var_L_type_Ca_current__C_Ca0); // per_second
897  const NekDouble var_L_type_Ca_current__d_C_Ca1_d_environment__time =
898  ((4.0 * var_L_type_Ca_current__alpha_a *
899  var_L_type_Ca_current__C_Ca0) +
900  (2.0 * var_L_type_Ca_current__beta_b *
901  var_L_type_Ca_current__C_Ca2) +
902  (var_L_type_Ca_current__gamma * var_L_type_Ca_current__a *
903  var_L_type_Ca_current__C1)) -
904  ((var_L_type_Ca_current__beta_b +
905  (3.0 * var_L_type_Ca_current__alpha_a) +
906  (var_L_type_Ca_current__omega / var_L_type_Ca_current__b)) *
907  var_L_type_Ca_current__C_Ca1); // per_second
908  const NekDouble var_L_type_Ca_current__d_C_Ca2_d_environment__time =
909  ((3.0 * var_L_type_Ca_current__alpha_a *
910  var_L_type_Ca_current__C_Ca1) +
911  (3.0 * var_L_type_Ca_current__beta_b *
912  var_L_type_Ca_current__C_Ca3) +
913  (var_L_type_Ca_current__gamma *
914  pow(var_L_type_Ca_current__a, 2.0) * var_L_type_Ca_current__C2)) -
915  (((var_L_type_Ca_current__beta_b * 2.0) +
916  (2.0 * var_L_type_Ca_current__alpha_a) +
917  (var_L_type_Ca_current__omega /
918  pow(var_L_type_Ca_current__b, 2.0))) *
919  var_L_type_Ca_current__C_Ca2); // per_second
920  const NekDouble var_L_type_Ca_current__d_C_Ca3_d_environment__time =
921  ((2.0 * var_L_type_Ca_current__alpha_a *
922  var_L_type_Ca_current__C_Ca2) +
923  (4.0 * var_L_type_Ca_current__beta_b *
924  var_L_type_Ca_current__C_Ca4) +
925  (var_L_type_Ca_current__gamma *
926  pow(var_L_type_Ca_current__a, 3.0) * var_L_type_Ca_current__C3)) -
927  (((var_L_type_Ca_current__beta_b * 3.0) +
928  var_L_type_Ca_current__alpha_a +
929  (var_L_type_Ca_current__omega /
930  pow(var_L_type_Ca_current__b, 3.0))) *
931  var_L_type_Ca_current__C_Ca3); // per_second
932  const NekDouble var_L_type_Ca_current__d_C_Ca4_d_environment__time =
933  ((var_L_type_Ca_current__alpha_a * var_L_type_Ca_current__C_Ca3) +
934  (var_L_type_Ca_current__gprime * var_L_type_Ca_current__O_Ca) +
935  (var_L_type_Ca_current__gamma *
936  pow(var_L_type_Ca_current__a, 4.0) * var_L_type_Ca_current__C4)) -
937  (((var_L_type_Ca_current__beta_b * 4.0) +
938  var_L_type_Ca_current__fprime +
939  (var_L_type_Ca_current__omega /
940  pow(var_L_type_Ca_current__b, 4.0))) *
941  var_L_type_Ca_current__C_Ca4); // per_second
942  const NekDouble var_L_type_Ca_current_y_gate__y =
943  var_L_type_Ca_current__y; // dimensionless
944  const NekDouble var_L_type_Ca_current_y_gate__V =
945  var_L_type_Ca_current__V; // millivolt
946  const NekDouble var_L_type_Ca_current_y_gate__y_infinity =
947  (0.8 /
948  (1.0 + exp((var_L_type_Ca_current_y_gate__V + 12.5) / 5.0))) +
949  0.2; // dimensionless
950  const NekDouble var_L_type_Ca_current_y_gate__tau_y =
951  (20.0 +
952  (600.0 /
953  (1.0 + exp((var_L_type_Ca_current_y_gate__V + 20.0) / 9.5)))) /
954  1000.0; // second
955  const NekDouble var_L_type_Ca_current_y_gate__d_y_d_environment__time =
956  (var_L_type_Ca_current_y_gate__y_infinity -
957  var_L_type_Ca_current_y_gate__y) /
958  var_L_type_Ca_current_y_gate__tau_y; // per_second
959  const NekDouble
960  var_L_type_Ca_current__L_type_Ca_current_y_gate__d_y_d_environment__time =
961  var_L_type_Ca_current_y_gate__d_y_d_environment__time; // per_second
962  const NekDouble var_RyR_channel__P_O2 =
963  var_chaste_interface__RyR_channel__P_O2; // dimensionless
964  const NekDouble var_RyR_channel__Ca_ss =
965  var_chaste_interface__intracellular_ion_concentrations__Ca_ss; // millimolar
966  const NekDouble var_RyR_channel__P_O1 =
967  var_chaste_interface__RyR_channel__P_O1; // dimensionless
968  const NekDouble var_RyR_channel__v1 = 1800.0; // per_second
969  const NekDouble var_RyR_channel__Ca_JSR =
970  var_chaste_interface__intracellular_ion_concentrations__Ca_JSR; // millimolar
971  const NekDouble var_RyR_channel__J_rel =
972  var_RyR_channel__v1 *
973  (var_RyR_channel__P_O1 + var_RyR_channel__P_O2) *
974  (var_RyR_channel__Ca_JSR -
975  var_RyR_channel__Ca_ss); // millimolar_per_second
976  const NekDouble var_RyR_channel__k_a_plus =
977  1.215e+13; // millimolar4_per_second
978  const NekDouble var_RyR_channel__k_a_minus = 576.0; // per_second
979  const NekDouble var_RyR_channel__k_b_plus =
980  4050000000.0; // millimolar3_per_second
981  const NekDouble var_RyR_channel__k_b_minus = 1930.0; // per_second
982  const NekDouble var_RyR_channel__k_c_plus = 100.0; // per_second
983  const NekDouble var_RyR_channel__k_c_minus = 0.8; // per_second
984  const NekDouble var_RyR_channel__P_C1 =
985  var_chaste_interface__RyR_channel__P_C1; // dimensionless
986  const NekDouble var_RyR_channel__P_C2 =
987  var_chaste_interface__RyR_channel__P_C2; // dimensionless
988  const NekDouble var_RyR_channel__n = 4.0; // dimensionless
989  const NekDouble var_RyR_channel__m = 3.0; // dimensionless
990  const NekDouble var_RyR_channel__d_P_O1_d_environment__time =
991  ((var_RyR_channel__k_a_plus *
992  pow(var_RyR_channel__Ca_ss, var_RyR_channel__n) *
993  var_RyR_channel__P_C1) -
994  ((var_RyR_channel__k_a_minus * var_RyR_channel__P_O1) +
995  (var_RyR_channel__k_b_plus *
996  pow(var_RyR_channel__Ca_ss, var_RyR_channel__m) *
997  var_RyR_channel__P_O1) +
998  (var_RyR_channel__k_c_plus * var_RyR_channel__P_O1))) +
999  (var_RyR_channel__k_b_minus * var_RyR_channel__P_O2) +
1000  (var_RyR_channel__k_c_minus * var_RyR_channel__P_C2); // per_second
1001  const NekDouble var_RyR_channel__d_P_O2_d_environment__time =
1002  (var_RyR_channel__k_b_plus *
1003  pow(var_RyR_channel__Ca_ss, var_RyR_channel__m) *
1004  var_RyR_channel__P_O1) -
1005  (var_RyR_channel__k_b_minus * var_RyR_channel__P_O2); // per_second
1006  const NekDouble var_RyR_channel__d_P_C1_d_environment__time =
1007  ((-var_RyR_channel__k_a_plus) *
1008  pow(var_RyR_channel__Ca_ss, var_RyR_channel__n) *
1009  var_RyR_channel__P_C1) +
1010  (var_RyR_channel__k_a_minus * var_RyR_channel__P_O1); // per_second
1011  const NekDouble var_RyR_channel__d_P_C2_d_environment__time =
1012  (var_RyR_channel__k_c_plus * var_RyR_channel__P_O1) -
1013  (var_RyR_channel__k_c_minus * var_RyR_channel__P_C2); // per_second
1014  const NekDouble var_SERCA2a_pump__Cai =
1015  var_chaste_interface__intracellular_ion_concentrations__Cai; // millimolar
1016  const NekDouble var_SERCA2a_pump__N_fb = 1.2; // dimensionless
1017  const NekDouble var_SERCA2a_pump__K_fb = 0.000168; // millimolar
1018  const NekDouble var_SERCA2a_pump__fb =
1019  pow(var_SERCA2a_pump__Cai / var_SERCA2a_pump__K_fb,
1020  var_SERCA2a_pump__N_fb); // dimensionless
1021  const NekDouble var_SERCA2a_pump__Vmaxf =
1022  0.0813; // millimolar_per_second
1023  const NekDouble var_SERCA2a_pump__K_SR = 1.0; // dimensionless
1024  const NekDouble var_SERCA2a_pump__Ca_NSR =
1025  var_chaste_interface__intracellular_ion_concentrations__Ca_NSR; // millimolar
1026  const NekDouble var_SERCA2a_pump__K_rb = 3.29; // millimolar
1027  const NekDouble var_SERCA2a_pump__N_rb = 1.0; // dimensionless
1028  const NekDouble var_SERCA2a_pump__rb =
1029  pow(var_SERCA2a_pump__Ca_NSR / var_SERCA2a_pump__K_rb,
1030  var_SERCA2a_pump__N_rb); // dimensionless
1031  const NekDouble var_SERCA2a_pump__Vmaxr =
1032  0.318; // millimolar_per_second
1033  const NekDouble var_SERCA2a_pump__J_up =
1034  (var_SERCA2a_pump__K_SR *
1035  ((var_SERCA2a_pump__Vmaxf * var_SERCA2a_pump__fb) -
1036  (var_SERCA2a_pump__Vmaxr * var_SERCA2a_pump__rb))) /
1037  (1.0 + var_SERCA2a_pump__fb +
1038  var_SERCA2a_pump__rb); // millimolar_per_second
1039  const NekDouble var_intracellular_Ca_fluxes__Ca_NSR =
1040  var_chaste_interface__intracellular_ion_concentrations__Ca_NSR; // millimolar
1041  const NekDouble var_intracellular_Ca_fluxes__Ca_JSR =
1042  var_chaste_interface__intracellular_ion_concentrations__Ca_JSR; // millimolar
1043  const NekDouble var_intracellular_Ca_fluxes__tau_tr =
1044  0.0005747; // second
1045  const NekDouble var_intracellular_Ca_fluxes__J_tr =
1046  (var_intracellular_Ca_fluxes__Ca_NSR -
1047  var_intracellular_Ca_fluxes__Ca_JSR) /
1048  var_intracellular_Ca_fluxes__tau_tr; // millimolar_per_second
1049  const NekDouble var_intracellular_Ca_fluxes__Cai =
1050  var_chaste_interface__intracellular_ion_concentrations__Cai; // millimolar
1051  const NekDouble var_intracellular_Ca_fluxes__tau_xfer =
1052  0.0267; // second
1053  const NekDouble var_intracellular_Ca_fluxes__Ca_ss =
1054  var_chaste_interface__intracellular_ion_concentrations__Ca_ss; // millimolar
1055  const NekDouble var_intracellular_Ca_fluxes__J_xfer =
1056  (var_intracellular_Ca_fluxes__Ca_ss -
1057  var_intracellular_Ca_fluxes__Cai) /
1058  var_intracellular_Ca_fluxes__tau_xfer; // millimolar_per_second
1059  const NekDouble var_intracellular_Ca_fluxes__k_htrpn_minus =
1060  0.066; // per_second
1061  const NekDouble var_intracellular_Ca_fluxes__k_htrpn_plus =
1062  20000.0; // per_millimolar_second
1063  const NekDouble var_intracellular_Ca_fluxes__HTRPNCa =
1064  var_chaste_interface__intracellular_Ca_fluxes__HTRPNCa; // millimolar
1065  const NekDouble
1066  var_intracellular_Ca_fluxes__d_HTRPNCa_d_environment__time =
1067  (var_intracellular_Ca_fluxes__k_htrpn_plus *
1068  var_intracellular_Ca_fluxes__Cai *
1069  (1.0 - var_intracellular_Ca_fluxes__HTRPNCa)) -
1070  (var_intracellular_Ca_fluxes__k_htrpn_minus *
1071  var_intracellular_Ca_fluxes__HTRPNCa); // 'millimole per litre
1072  // per second'
1073  const NekDouble var_intracellular_Ca_fluxes__J_HTRPNCa =
1074  var_intracellular_Ca_fluxes__d_HTRPNCa_d_environment__time; // millimolar_per_second
1075  const NekDouble var_intracellular_Ca_fluxes__LTRPN_tot =
1076  0.07; // dimensionless
1077  const NekDouble var_intracellular_Ca_fluxes__LTRPNCa =
1078  var_chaste_interface__intracellular_Ca_fluxes__LTRPNCa; // millimolar
1079  const NekDouble var_intracellular_Ca_fluxes__k_ltrpn_minus =
1080  40.0; // per_second
1081  const NekDouble var_intracellular_Ca_fluxes__k_ltrpn_plus =
1082  40000.0; // per_millimolar_second
1083  const NekDouble
1084  var_intracellular_Ca_fluxes__d_LTRPNCa_d_environment__time =
1085  (var_intracellular_Ca_fluxes__k_ltrpn_plus *
1086  var_intracellular_Ca_fluxes__Cai *
1087  (1.0 - var_intracellular_Ca_fluxes__LTRPNCa)) -
1088  (var_intracellular_Ca_fluxes__k_ltrpn_minus *
1089  var_intracellular_Ca_fluxes__LTRPNCa); // 'millimole per litre
1090  // per second'
1091  const NekDouble var_intracellular_Ca_fluxes__J_LTRPNCa =
1092  var_intracellular_Ca_fluxes__d_LTRPNCa_d_environment__time; // millimolar_per_second
1093  const NekDouble var_intracellular_Ca_fluxes__HTRPN_tot =
1094  0.14; // dimensionless
1095  const NekDouble var_intracellular_Ca_fluxes__J_trpn =
1096  (var_intracellular_Ca_fluxes__HTRPN_tot *
1097  var_intracellular_Ca_fluxes__J_HTRPNCa) +
1098  (var_intracellular_Ca_fluxes__LTRPN_tot *
1099  var_intracellular_Ca_fluxes__J_LTRPNCa); // millimolar_per_second
1100  const NekDouble var_intracellular_ion_concentrations__Cai =
1101  var_chaste_interface__intracellular_ion_concentrations__Cai; // millimolar
1102  const NekDouble var_intracellular_ion_concentrations__Ca_ss =
1103  var_chaste_interface__intracellular_ion_concentrations__Ca_ss; // millimolar
1104  const NekDouble var_intracellular_ion_concentrations__Ca_JSR =
1105  var_chaste_interface__intracellular_ion_concentrations__Ca_JSR; // millimolar
1106  const NekDouble var_intracellular_ion_concentrations__A_cap =
1107  0.0001534; // cm2
1108  const NekDouble var_intracellular_ion_concentrations__V_myo =
1109  2.584e-05; // micro_litre
1110  const NekDouble var_intracellular_ion_concentrations__V_JSR =
1111  1.6e-07; // micro_litre
1112  const NekDouble var_intracellular_ion_concentrations__V_NSR =
1113  2.1e-06; // micro_litre
1114  const NekDouble var_intracellular_ion_concentrations__V_SS =
1115  1.2e-09; // micro_litre
1116  const NekDouble var_intracellular_ion_concentrations__K_mCMDN =
1117  0.00238; // millimolar
1118  const NekDouble var_intracellular_ion_concentrations__K_mEGTA =
1119  0.00015; // millimolar
1120  const NekDouble var_intracellular_ion_concentrations__K_mCSQN =
1121  0.8; // millimolar
1122  const NekDouble var_intracellular_ion_concentrations__CMDN_tot =
1123  0.05; // millimolar
1124  const NekDouble var_intracellular_ion_concentrations__EGTA_tot =
1125  0.0; // millimolar
1126  const NekDouble var_intracellular_ion_concentrations__CSQN_tot =
1127  15.0; // millimolar
1128  const NekDouble var_intracellular_ion_concentrations__beta_i =
1129  1.0 / (1.0 +
1130  ((var_intracellular_ion_concentrations__CMDN_tot *
1131  var_intracellular_ion_concentrations__K_mCMDN) /
1132  pow(var_intracellular_ion_concentrations__K_mCMDN +
1133  var_intracellular_ion_concentrations__Cai,
1134  2.0)) +
1135  ((var_intracellular_ion_concentrations__EGTA_tot *
1136  var_intracellular_ion_concentrations__K_mEGTA) /
1137  pow(var_intracellular_ion_concentrations__K_mEGTA +
1138  var_intracellular_ion_concentrations__Cai,
1139  2.0))); // dimensionless
1140  const NekDouble var_intracellular_ion_concentrations__beta_SS =
1141  1.0 / (1.0 +
1142  ((var_intracellular_ion_concentrations__CMDN_tot *
1143  var_intracellular_ion_concentrations__K_mCMDN) /
1144  pow(var_intracellular_ion_concentrations__K_mCMDN +
1145  var_intracellular_ion_concentrations__Ca_ss,
1146  2.0)) +
1147  ((var_intracellular_ion_concentrations__EGTA_tot *
1148  var_intracellular_ion_concentrations__K_mEGTA) /
1149  pow(var_intracellular_ion_concentrations__K_mEGTA +
1150  var_intracellular_ion_concentrations__Ca_ss,
1151  2.0))); // dimensionless
1152  const NekDouble var_intracellular_ion_concentrations__beta_JSR =
1153  1.0 / (1.0 + ((var_intracellular_ion_concentrations__CSQN_tot *
1154  var_intracellular_ion_concentrations__K_mCSQN) /
1155  pow(var_intracellular_ion_concentrations__K_mCSQN +
1156  var_intracellular_ion_concentrations__Ca_JSR,
1157  2.0))); // dimensionless
1158  const NekDouble var_intracellular_ion_concentrations__F =
1159  var_membrane__F; // coulomb_per_millimole
1160  const NekDouble var_intracellular_ion_concentrations__i_Na =
1161  var_fast_sodium_current__i_Na; // microA_per_microF
1162  const NekDouble var_intracellular_ion_concentrations__i_Ca =
1163  var_L_type_Ca_current__i_Ca; // microA_per_microF
1164  const NekDouble var_intracellular_ion_concentrations__i_Na_b =
1165  var_sodium_background_current__i_Na_b; // microA_per_microF
1166  const NekDouble var_intracellular_ion_concentrations__i_NaCa =
1167  var_Na_Ca_exchanger__i_NaCa; // microA_per_microF
1168  const NekDouble var_intracellular_ion_concentrations__i_NaK =
1169  var_sodium_potassium_pump__i_NaK; // microA_per_microF
1170  const NekDouble var_intracellular_ion_concentrations__i_Ca_K =
1171  var_L_type_Ca_current__i_Ca_K; // microA_per_microF
1172  const NekDouble var_intracellular_ion_concentrations__i_Kr =
1173  var_rapid_activating_delayed_rectifiyer_K_current__i_Kr; // microA_per_microF
1174  const NekDouble var_intracellular_ion_concentrations__i_Ks =
1175  var_slow_activating_delayed_rectifiyer_K_current__i_Ks; // microA_per_microF
1176  const NekDouble var_intracellular_ion_concentrations__i_K1 =
1177  var_time_independent_potassium_current__i_K1; // microA_per_microF
1178  const NekDouble var_intracellular_ion_concentrations__i_Kp =
1179  var_plateau_potassium_current__i_Kp; // microA_per_microF
1180  const NekDouble var_intracellular_ion_concentrations__i_to1 =
1181  var_transient_outward_potassium_current__i_to1; // microA_per_microF
1182  const NekDouble var_intracellular_ion_concentrations__i_p_Ca =
1183  var_sarcolemmal_calcium_pump__i_p_Ca; // microA_per_microF
1184  const NekDouble var_intracellular_ion_concentrations__i_Ca_b =
1185  var_calcium_background_current__i_Ca_b; // microA_per_microF
1186  const NekDouble var_intracellular_ion_concentrations__J_up =
1187  var_SERCA2a_pump__J_up; // millimolar_per_second
1188  const NekDouble var_intracellular_ion_concentrations__J_rel =
1189  var_RyR_channel__J_rel; // millimolar_per_second
1190  const NekDouble var_intracellular_ion_concentrations__J_xfer =
1191  var_intracellular_Ca_fluxes__J_xfer; // millimolar_per_second
1192  const NekDouble var_intracellular_ion_concentrations__J_trpn =
1193  var_intracellular_Ca_fluxes__J_trpn; // millimolar_per_second
1194  const NekDouble var_intracellular_ion_concentrations__J_tr =
1195  var_intracellular_Ca_fluxes__J_tr; // millimolar_per_second
1196  const NekDouble
1197  var_intracellular_ion_concentrations__d_Nai_d_environment__time =
1198  ((-0.0) *
1199  (var_intracellular_ion_concentrations__i_Na +
1200  var_intracellular_ion_concentrations__i_Na_b +
1201  (var_intracellular_ion_concentrations__i_NaCa * 3.0) +
1202  (var_intracellular_ion_concentrations__i_NaK * 3.0)) *
1203  var_intracellular_ion_concentrations__A_cap * 1.0) /
1204  (var_intracellular_ion_concentrations__V_myo *
1205  var_intracellular_ion_concentrations__F); // 'millimole per
1206  // litre per second'
1207  const NekDouble
1208  var_intracellular_ion_concentrations__d_Cai_d_environment__time =
1209  var_intracellular_ion_concentrations__beta_i *
1210  ((var_intracellular_ion_concentrations__J_xfer -
1211  (var_intracellular_ion_concentrations__J_up +
1212  var_intracellular_ion_concentrations__J_trpn)) +
1213  ((((2.0 * var_intracellular_ion_concentrations__i_NaCa) -
1214  (var_intracellular_ion_concentrations__i_p_Ca +
1215  var_intracellular_ion_concentrations__i_Ca_b)) *
1216  var_intracellular_ion_concentrations__A_cap * 1.0) /
1217  (2.0 * var_intracellular_ion_concentrations__V_myo *
1218  var_intracellular_ion_concentrations__F))); // 'millimole per
1219  // litre per
1220  // second'
1221  const NekDouble
1222  var_intracellular_ion_concentrations__d_Ki_d_environment__time =
1223  ((-0.0) *
1224  (var_intracellular_ion_concentrations__i_Ca_K +
1225  var_intracellular_ion_concentrations__i_Kr +
1226  var_intracellular_ion_concentrations__i_Ks +
1227  var_intracellular_ion_concentrations__i_K1 +
1228  var_intracellular_ion_concentrations__i_Kp +
1229  var_intracellular_ion_concentrations__i_to1 +
1230  (var_intracellular_ion_concentrations__i_NaK * (-2.0))) *
1231  var_intracellular_ion_concentrations__A_cap * 1.0) /
1232  (var_intracellular_ion_concentrations__V_myo *
1233  var_intracellular_ion_concentrations__F); // 'millimole per
1234  // litre per second'
1235  const NekDouble
1236  var_intracellular_ion_concentrations__d_Ca_ss_d_environment__time =
1237  var_intracellular_ion_concentrations__beta_SS *
1238  ((((var_intracellular_ion_concentrations__J_rel *
1239  var_intracellular_ion_concentrations__V_JSR) /
1240  var_intracellular_ion_concentrations__V_SS) -
1241  ((var_intracellular_ion_concentrations__J_xfer *
1242  var_intracellular_ion_concentrations__V_myo) /
1243  var_intracellular_ion_concentrations__V_SS)) -
1244  ((var_intracellular_ion_concentrations__i_Ca *
1245  var_intracellular_ion_concentrations__A_cap * 1.0) /
1246  (2.0 * var_intracellular_ion_concentrations__V_SS *
1247  var_intracellular_ion_concentrations__F))); // 'millimole per
1248  // litre per
1249  // second'
1250  const NekDouble
1251  var_intracellular_ion_concentrations__d_Ca_JSR_d_environment__time =
1252  var_intracellular_ion_concentrations__beta_JSR *
1253  (var_intracellular_ion_concentrations__J_tr -
1254  var_intracellular_ion_concentrations__J_rel); // 'millimole per
1255  // litre per
1256  // second'
1257  const NekDouble
1258  var_intracellular_ion_concentrations__d_Ca_NSR_d_environment__time =
1259  ((var_intracellular_ion_concentrations__J_up *
1260  var_intracellular_ion_concentrations__V_myo) /
1261  var_intracellular_ion_concentrations__V_NSR) -
1262  ((var_intracellular_ion_concentrations__J_tr *
1263  var_intracellular_ion_concentrations__V_JSR) /
1264  var_intracellular_ion_concentrations__V_NSR); // 'millimole per
1265  // litre per
1266  // second'
1267  const NekDouble
1268  var_chaste_interface__fast_sodium_current_m_gate__d_m_d_environment__time_converter =
1269  var_fast_sodium_current__fast_sodium_current_m_gate__d_m_d_environment__time; // per_second
1270  const NekDouble
1271  var_chaste_interface__fast_sodium_current_m_gate__d_m_d_environment__time =
1272  0.001 *
1273  var_chaste_interface__fast_sodium_current_m_gate__d_m_d_environment__time_converter; // 'per millisecond'
1274  const NekDouble
1275  var_chaste_interface__fast_sodium_current_h_gate__d_h_d_environment__time_converter =
1276  var_fast_sodium_current__fast_sodium_current_h_gate__d_h_d_environment__time; // per_second
1277  const NekDouble
1278  var_chaste_interface__fast_sodium_current_h_gate__d_h_d_environment__time =
1279  0.001 *
1280  var_chaste_interface__fast_sodium_current_h_gate__d_h_d_environment__time_converter; // 'per millisecond'
1281  const NekDouble
1282  var_chaste_interface__fast_sodium_current_j_gate__d_j_d_environment__time_converter =
1283  var_fast_sodium_current__fast_sodium_current_j_gate__d_j_d_environment__time; // per_second
1284  const NekDouble
1285  var_chaste_interface__fast_sodium_current_j_gate__d_j_d_environment__time =
1286  0.001 *
1287  var_chaste_interface__fast_sodium_current_j_gate__d_j_d_environment__time_converter; // 'per millisecond'
1288  const NekDouble
1289  var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time_converter =
1290  var_rapid_activating_delayed_rectifiyer_K_current__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time; // per_second
1291  const NekDouble
1292  var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time =
1293  0.001 *
1294  var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time_converter; // 'per millisecond'
1295  const NekDouble
1296  var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time_converter =
1297  var_slow_activating_delayed_rectifiyer_K_current__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time; // per_second
1298  const NekDouble
1299  var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time =
1300  0.001 *
1301  var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time_converter; // 'per millisecond'
1302  const NekDouble
1303  var_chaste_interface__transient_outward_potassium_current_X_to1_gate__d_X_to1_d_environment__time_converter =
1304  var_transient_outward_potassium_current__transient_outward_potassium_current_X_to1_gate__d_X_to1_d_environment__time; // per_second
1305  const NekDouble
1306  var_chaste_interface__transient_outward_potassium_current_X_to1_gate__d_X_to1_d_environment__time =
1307  0.001 *
1308  var_chaste_interface__transient_outward_potassium_current_X_to1_gate__d_X_to1_d_environment__time_converter; // 'per millisecond'
1309  const NekDouble
1310  var_chaste_interface__transient_outward_potassium_current_Y_to1_gate__d_Y_to1_d_environment__time_converter =
1311  var_transient_outward_potassium_current__transient_outward_potassium_current_Y_to1_gate__d_Y_to1_d_environment__time; // per_second
1312  const NekDouble
1313  var_chaste_interface__transient_outward_potassium_current_Y_to1_gate__d_Y_to1_d_environment__time =
1314  0.001 *
1315  var_chaste_interface__transient_outward_potassium_current_Y_to1_gate__d_Y_to1_d_environment__time_converter; // 'per millisecond'
1316  const NekDouble
1317  var_chaste_interface__L_type_Ca_current__d_O_d_environment__time_converter =
1318  var_L_type_Ca_current__d_O_d_environment__time; // per_second
1319  const NekDouble
1320  var_chaste_interface__L_type_Ca_current__d_O_d_environment__time =
1321  0.001 *
1322  var_chaste_interface__L_type_Ca_current__d_O_d_environment__time_converter; // 'per millisecond'
1323  const NekDouble
1324  var_chaste_interface__L_type_Ca_current__d_O_Ca_d_environment__time_converter =
1325  var_L_type_Ca_current__d_O_Ca_d_environment__time; // per_second
1326  const NekDouble
1327  var_chaste_interface__L_type_Ca_current__d_O_Ca_d_environment__time =
1328  0.001 *
1329  var_chaste_interface__L_type_Ca_current__d_O_Ca_d_environment__time_converter; // 'per millisecond'
1330  const NekDouble
1331  var_chaste_interface__L_type_Ca_current__d_C0_d_environment__time_converter =
1332  var_L_type_Ca_current__d_C0_d_environment__time; // per_second
1333  const NekDouble
1334  var_chaste_interface__L_type_Ca_current__d_C0_d_environment__time =
1335  0.001 *
1336  var_chaste_interface__L_type_Ca_current__d_C0_d_environment__time_converter; // 'per millisecond'
1337  const NekDouble
1338  var_chaste_interface__L_type_Ca_current__d_C1_d_environment__time_converter =
1339  var_L_type_Ca_current__d_C1_d_environment__time; // per_second
1340  const NekDouble
1341  var_chaste_interface__L_type_Ca_current__d_C1_d_environment__time =
1342  0.001 *
1343  var_chaste_interface__L_type_Ca_current__d_C1_d_environment__time_converter; // 'per millisecond'
1344  const NekDouble
1345  var_chaste_interface__L_type_Ca_current__d_C2_d_environment__time_converter =
1346  var_L_type_Ca_current__d_C2_d_environment__time; // per_second
1347  const NekDouble
1348  var_chaste_interface__L_type_Ca_current__d_C2_d_environment__time =
1349  0.001 *
1350  var_chaste_interface__L_type_Ca_current__d_C2_d_environment__time_converter; // 'per millisecond'
1351  const NekDouble
1352  var_chaste_interface__L_type_Ca_current__d_C3_d_environment__time_converter =
1353  var_L_type_Ca_current__d_C3_d_environment__time; // per_second
1354  const NekDouble
1355  var_chaste_interface__L_type_Ca_current__d_C3_d_environment__time =
1356  0.001 *
1357  var_chaste_interface__L_type_Ca_current__d_C3_d_environment__time_converter; // 'per millisecond'
1358  const NekDouble
1359  var_chaste_interface__L_type_Ca_current__d_C4_d_environment__time_converter =
1360  var_L_type_Ca_current__d_C4_d_environment__time; // per_second
1361  const NekDouble
1362  var_chaste_interface__L_type_Ca_current__d_C4_d_environment__time =
1363  0.001 *
1364  var_chaste_interface__L_type_Ca_current__d_C4_d_environment__time_converter; // 'per millisecond'
1365  const NekDouble
1366  var_chaste_interface__L_type_Ca_current__d_C_Ca0_d_environment__time_converter =
1367  var_L_type_Ca_current__d_C_Ca0_d_environment__time; // per_second
1368  const NekDouble
1369  var_chaste_interface__L_type_Ca_current__d_C_Ca0_d_environment__time =
1370  0.001 *
1371  var_chaste_interface__L_type_Ca_current__d_C_Ca0_d_environment__time_converter; // 'per millisecond'
1372  const NekDouble
1373  var_chaste_interface__L_type_Ca_current__d_C_Ca1_d_environment__time_converter =
1374  var_L_type_Ca_current__d_C_Ca1_d_environment__time; // per_second
1375  const NekDouble
1376  var_chaste_interface__L_type_Ca_current__d_C_Ca1_d_environment__time =
1377  0.001 *
1378  var_chaste_interface__L_type_Ca_current__d_C_Ca1_d_environment__time_converter; // 'per millisecond'
1379  const NekDouble
1380  var_chaste_interface__L_type_Ca_current__d_C_Ca2_d_environment__time_converter =
1381  var_L_type_Ca_current__d_C_Ca2_d_environment__time; // per_second
1382  const NekDouble
1383  var_chaste_interface__L_type_Ca_current__d_C_Ca2_d_environment__time =
1384  0.001 *
1385  var_chaste_interface__L_type_Ca_current__d_C_Ca2_d_environment__time_converter; // 'per millisecond'
1386  const NekDouble
1387  var_chaste_interface__L_type_Ca_current__d_C_Ca3_d_environment__time_converter =
1388  var_L_type_Ca_current__d_C_Ca3_d_environment__time; // per_second
1389  const NekDouble
1390  var_chaste_interface__L_type_Ca_current__d_C_Ca3_d_environment__time =
1391  0.001 *
1392  var_chaste_interface__L_type_Ca_current__d_C_Ca3_d_environment__time_converter; // 'per millisecond'
1393  const NekDouble
1394  var_chaste_interface__L_type_Ca_current__d_C_Ca4_d_environment__time_converter =
1395  var_L_type_Ca_current__d_C_Ca4_d_environment__time; // per_second
1396  const NekDouble
1397  var_chaste_interface__L_type_Ca_current__d_C_Ca4_d_environment__time =
1398  0.001 *
1399  var_chaste_interface__L_type_Ca_current__d_C_Ca4_d_environment__time_converter; // 'per millisecond'
1400  const NekDouble
1401  var_chaste_interface__L_type_Ca_current_y_gate__d_y_d_environment__time_converter =
1402  var_L_type_Ca_current__L_type_Ca_current_y_gate__d_y_d_environment__time; // per_second
1403  const NekDouble
1404  var_chaste_interface__L_type_Ca_current_y_gate__d_y_d_environment__time =
1405  0.001 *
1406  var_chaste_interface__L_type_Ca_current_y_gate__d_y_d_environment__time_converter; // 'per millisecond'
1407  const NekDouble
1408  var_chaste_interface__RyR_channel__d_P_O1_d_environment__time_converter =
1409  var_RyR_channel__d_P_O1_d_environment__time; // per_second
1410  const NekDouble var_chaste_interface__RyR_channel__d_P_O1_d_environment__time =
1411  0.001 *
1412  var_chaste_interface__RyR_channel__d_P_O1_d_environment__time_converter; // 'per millisecond'
1413  const NekDouble
1414  var_chaste_interface__RyR_channel__d_P_O2_d_environment__time_converter =
1415  var_RyR_channel__d_P_O2_d_environment__time; // per_second
1416  const NekDouble var_chaste_interface__RyR_channel__d_P_O2_d_environment__time =
1417  0.001 *
1418  var_chaste_interface__RyR_channel__d_P_O2_d_environment__time_converter; // 'per millisecond'
1419  const NekDouble
1420  var_chaste_interface__RyR_channel__d_P_C1_d_environment__time_converter =
1421  var_RyR_channel__d_P_C1_d_environment__time; // per_second
1422  const NekDouble var_chaste_interface__RyR_channel__d_P_C1_d_environment__time =
1423  0.001 *
1424  var_chaste_interface__RyR_channel__d_P_C1_d_environment__time_converter; // 'per millisecond'
1425  const NekDouble
1426  var_chaste_interface__RyR_channel__d_P_C2_d_environment__time_converter =
1427  var_RyR_channel__d_P_C2_d_environment__time; // per_second
1428  const NekDouble var_chaste_interface__RyR_channel__d_P_C2_d_environment__time =
1429  0.001 *
1430  var_chaste_interface__RyR_channel__d_P_C2_d_environment__time_converter; // 'per millisecond'
1431  const NekDouble
1432  var_chaste_interface__intracellular_Ca_fluxes__d_HTRPNCa_d_environment__time_converter =
1433  var_intracellular_Ca_fluxes__d_HTRPNCa_d_environment__time; // ___units_89
1434  const NekDouble
1435  var_chaste_interface__intracellular_Ca_fluxes__d_HTRPNCa_d_environment__time =
1436  0.001 *
1437  var_chaste_interface__intracellular_Ca_fluxes__d_HTRPNCa_d_environment__time_converter; // 'millimolar per millisecond'
1438  const NekDouble
1439  var_chaste_interface__intracellular_Ca_fluxes__d_LTRPNCa_d_environment__time_converter =
1440  var_intracellular_Ca_fluxes__d_LTRPNCa_d_environment__time; // millimole_per_litre_per_second
1441  const NekDouble
1442  var_chaste_interface__intracellular_Ca_fluxes__d_LTRPNCa_d_environment__time =
1443  0.001 *
1444  var_chaste_interface__intracellular_Ca_fluxes__d_LTRPNCa_d_environment__time_converter; // 'millimolar per millisecond'
1445  const NekDouble
1446  var_chaste_interface__intracellular_ion_concentrations__d_Nai_d_environment__time_converter =
1447  var_intracellular_ion_concentrations__d_Nai_d_environment__time; // millimole_per_litre_per_second
1448  const NekDouble
1449  var_chaste_interface__intracellular_ion_concentrations__d_Nai_d_environment__time =
1450  0.001 *
1451  var_chaste_interface__intracellular_ion_concentrations__d_Nai_d_environment__time_converter; // 'millimolar per millisecond'
1452  const NekDouble
1453  var_chaste_interface__intracellular_ion_concentrations__d_Cai_d_environment__time_converter =
1454  var_intracellular_ion_concentrations__d_Cai_d_environment__time; // millimole_per_litre_per_second
1455  const NekDouble
1456  var_chaste_interface__intracellular_ion_concentrations__d_Cai_d_environment__time =
1457  0.001 *
1458  var_chaste_interface__intracellular_ion_concentrations__d_Cai_d_environment__time_converter; // 'millimolar per millisecond'
1459  const NekDouble
1460  var_chaste_interface__intracellular_ion_concentrations__d_Ki_d_environment__time_converter =
1461  var_intracellular_ion_concentrations__d_Ki_d_environment__time; // millimole_per_litre_per_second
1462  const NekDouble
1463  var_chaste_interface__intracellular_ion_concentrations__d_Ki_d_environment__time =
1464  0.001 *
1465  var_chaste_interface__intracellular_ion_concentrations__d_Ki_d_environment__time_converter; // 'millimolar per millisecond'
1466  const NekDouble
1467  var_chaste_interface__intracellular_ion_concentrations__d_Ca_ss_d_environment__time_converter =
1468  var_intracellular_ion_concentrations__d_Ca_ss_d_environment__time; // millimole_per_litre_per_second
1469  const NekDouble
1470  var_chaste_interface__intracellular_ion_concentrations__d_Ca_ss_d_environment__time =
1471  0.001 *
1472  var_chaste_interface__intracellular_ion_concentrations__d_Ca_ss_d_environment__time_converter; // 'millimolar per millisecond'
1473  const NekDouble
1474  var_chaste_interface__intracellular_ion_concentrations__d_Ca_JSR_d_environment__time_converter =
1475  var_intracellular_ion_concentrations__d_Ca_JSR_d_environment__time; // millimole_per_litre_per_second
1476  const NekDouble
1477  var_chaste_interface__intracellular_ion_concentrations__d_Ca_JSR_d_environment__time =
1478  0.001 *
1479  var_chaste_interface__intracellular_ion_concentrations__d_Ca_JSR_d_environment__time_converter; // 'millimolar per millisecond'
1480  const NekDouble
1481  var_chaste_interface__intracellular_ion_concentrations__d_Ca_NSR_d_environment__time_converter =
1482  var_intracellular_ion_concentrations__d_Ca_NSR_d_environment__time; // millimole_per_litre_per_second
1483  const NekDouble
1484  var_chaste_interface__intracellular_ion_concentrations__d_Ca_NSR_d_environment__time =
1485  0.001 *
1486  var_chaste_interface__intracellular_ion_concentrations__d_Ca_NSR_d_environment__time_converter; // 'millimolar per millisecond'
1487  const NekDouble d_dt_chaste_interface__fast_sodium_current_m_gate__m =
1488  var_chaste_interface__fast_sodium_current_m_gate__d_m_d_environment__time; // 'per millisecond'
1489  const NekDouble d_dt_chaste_interface__fast_sodium_current_h_gate__h =
1490  var_chaste_interface__fast_sodium_current_h_gate__d_h_d_environment__time; // 'per millisecond'
1491  const NekDouble d_dt_chaste_interface__fast_sodium_current_j_gate__j =
1492  var_chaste_interface__fast_sodium_current_j_gate__d_j_d_environment__time; // 'per millisecond'
1493  const NekDouble
1494  d_dt_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr =
1495  var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time; // 'per millisecond'
1496  const NekDouble
1497  d_dt_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks =
1498  var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time; // 'per millisecond'
1499  const NekDouble
1500  d_dt_chaste_interface__transient_outward_potassium_current_X_to1_gate__X_to1 =
1501  var_chaste_interface__transient_outward_potassium_current_X_to1_gate__d_X_to1_d_environment__time; // 'per millisecond'
1502  const NekDouble
1503  d_dt_chaste_interface__transient_outward_potassium_current_Y_to1_gate__Y_to1 =
1504  var_chaste_interface__transient_outward_potassium_current_Y_to1_gate__d_Y_to1_d_environment__time; // 'per millisecond'
1505  const NekDouble d_dt_chaste_interface__L_type_Ca_current__O =
1506  var_chaste_interface__L_type_Ca_current__d_O_d_environment__time; // 'per millisecond'
1507  const NekDouble d_dt_chaste_interface__L_type_Ca_current__O_Ca =
1508  var_chaste_interface__L_type_Ca_current__d_O_Ca_d_environment__time; // 'per millisecond'
1509  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C0 =
1510  var_chaste_interface__L_type_Ca_current__d_C0_d_environment__time; // 'per millisecond'
1511  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C1 =
1512  var_chaste_interface__L_type_Ca_current__d_C1_d_environment__time; // 'per millisecond'
1513  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C2 =
1514  var_chaste_interface__L_type_Ca_current__d_C2_d_environment__time; // 'per millisecond'
1515  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C3 =
1516  var_chaste_interface__L_type_Ca_current__d_C3_d_environment__time; // 'per millisecond'
1517  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C4 =
1518  var_chaste_interface__L_type_Ca_current__d_C4_d_environment__time; // 'per millisecond'
1519  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C_Ca0 =
1520  var_chaste_interface__L_type_Ca_current__d_C_Ca0_d_environment__time; // 'per millisecond'
1521  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C_Ca1 =
1522  var_chaste_interface__L_type_Ca_current__d_C_Ca1_d_environment__time; // 'per millisecond'
1523  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C_Ca2 =
1524  var_chaste_interface__L_type_Ca_current__d_C_Ca2_d_environment__time; // 'per millisecond'
1525  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C_Ca3 =
1526  var_chaste_interface__L_type_Ca_current__d_C_Ca3_d_environment__time; // 'per millisecond'
1527  const NekDouble d_dt_chaste_interface__L_type_Ca_current__C_Ca4 =
1528  var_chaste_interface__L_type_Ca_current__d_C_Ca4_d_environment__time; // 'per millisecond'
1529  const NekDouble d_dt_chaste_interface__L_type_Ca_current_y_gate__y =
1530  var_chaste_interface__L_type_Ca_current_y_gate__d_y_d_environment__time; // 'per millisecond'
1531  const NekDouble d_dt_chaste_interface__RyR_channel__P_O1 =
1532  var_chaste_interface__RyR_channel__d_P_O1_d_environment__time; // 'per
1533  // millisecond'
1534  const NekDouble d_dt_chaste_interface__RyR_channel__P_O2 =
1535  var_chaste_interface__RyR_channel__d_P_O2_d_environment__time; // 'per
1536  // millisecond'
1537  const NekDouble d_dt_chaste_interface__RyR_channel__P_C1 =
1538  var_chaste_interface__RyR_channel__d_P_C1_d_environment__time; // 'per
1539  // millisecond'
1540  const NekDouble d_dt_chaste_interface__RyR_channel__P_C2 =
1541  var_chaste_interface__RyR_channel__d_P_C2_d_environment__time; // 'per
1542  // millisecond'
1543  const NekDouble d_dt_chaste_interface__intracellular_Ca_fluxes__HTRPNCa =
1544  var_chaste_interface__intracellular_Ca_fluxes__d_HTRPNCa_d_environment__time; // 'millimole per litre per millisecond'
1545  const NekDouble d_dt_chaste_interface__intracellular_Ca_fluxes__LTRPNCa =
1546  var_chaste_interface__intracellular_Ca_fluxes__d_LTRPNCa_d_environment__time; // 'millimole per litre per millisecond'
1547  const NekDouble d_dt_chaste_interface__intracellular_ion_concentrations__Nai =
1548  var_chaste_interface__intracellular_ion_concentrations__d_Nai_d_environment__time; // 'millimole per litre per millisecond'
1549  const NekDouble d_dt_chaste_interface__intracellular_ion_concentrations__Cai =
1550  var_chaste_interface__intracellular_ion_concentrations__d_Cai_d_environment__time; // 'millimole per litre per millisecond'
1551  const NekDouble d_dt_chaste_interface__intracellular_ion_concentrations__Ki =
1552  var_chaste_interface__intracellular_ion_concentrations__d_Ki_d_environment__time; // 'millimole per litre per millisecond'
1553  const NekDouble
1554  d_dt_chaste_interface__intracellular_ion_concentrations__Ca_ss =
1555  var_chaste_interface__intracellular_ion_concentrations__d_Ca_ss_d_environment__time; // 'millimole per litre per millisecond'
1556  const NekDouble
1557  d_dt_chaste_interface__intracellular_ion_concentrations__Ca_JSR =
1558  var_chaste_interface__intracellular_ion_concentrations__d_Ca_JSR_d_environment__time; // 'millimole per litre per millisecond'
1559  const NekDouble
1560  d_dt_chaste_interface__intracellular_ion_concentrations__Ca_NSR =
1561  var_chaste_interface__intracellular_ion_concentrations__d_Ca_NSR_d_environment__time; // 'millimole per litre per millisecond'
1562 
1563  const NekDouble var_membrane__C_sc = 0.001; // microF_per_cm2
1564  const NekDouble var_membrane__i_Na =
1565  var_fast_sodium_current__i_Na; // microA_per_microF
1566  const NekDouble var_membrane__i_Ca =
1567  var_L_type_Ca_current__i_Ca; // microA_per_microF
1568  const NekDouble var_membrane__i_Ca_K =
1569  var_L_type_Ca_current__i_Ca_K; // microA_per_microF
1570  const NekDouble var_membrane__i_Kr =
1571  var_rapid_activating_delayed_rectifiyer_K_current__i_Kr; // microA_per_microF
1572  const NekDouble var_membrane__i_Ks =
1573  var_slow_activating_delayed_rectifiyer_K_current__i_Ks; // microA_per_microF
1574  const NekDouble var_membrane__i_to1 =
1575  var_transient_outward_potassium_current__i_to1; // microA_per_microF
1576  const NekDouble var_membrane__i_K1 =
1577  var_time_independent_potassium_current__i_K1; // microA_per_microF
1578  const NekDouble var_membrane__i_Kp =
1579  var_plateau_potassium_current__i_Kp; // microA_per_microF
1580  const NekDouble var_membrane__i_NaCa =
1581  var_Na_Ca_exchanger__i_NaCa; // microA_per_microF
1582  const NekDouble var_membrane__i_NaK =
1583  var_sodium_potassium_pump__i_NaK; // microA_per_microF
1584  const NekDouble var_membrane__i_p_Ca =
1585  var_sarcolemmal_calcium_pump__i_p_Ca; // microA_per_microF
1586  const NekDouble var_membrane__i_Ca_b =
1587  var_calcium_background_current__i_Ca_b; // microA_per_microF
1588  const NekDouble var_membrane__i_Na_b =
1589  var_sodium_background_current__i_Na_b; // microA_per_microF
1590  const NekDouble var_chaste_interface__membrane__i_Stim = 0.0;
1591  const NekDouble var_membrane__i_Stim_converter =
1592  var_chaste_interface__membrane__i_Stim; // uA_per_cm2
1593  const NekDouble
1594  var_membrane__chaste_interface__chaste_membrane_capacitance =
1595  1.0; // uF_per_cm2
1596  const NekDouble var_membrane__i_Stim =
1597  var_membrane__i_Stim_converter /
1598  var_membrane__chaste_interface__chaste_membrane_capacitance; // microA_per_microF
1599  const NekDouble var_membrane__d_V_d_environment__time =
1600  ((-1.0) * 1.0 *
1601  (var_membrane__i_Na + var_membrane__i_Ca + var_membrane__i_Ca_K +
1602  var_membrane__i_Kr + var_membrane__i_Ks + var_membrane__i_to1 +
1603  var_membrane__i_K1 + var_membrane__i_Kp + var_membrane__i_NaCa +
1604  var_membrane__i_NaK + var_membrane__i_p_Ca +
1605  var_membrane__i_Na_b + var_membrane__i_Ca_b +
1606  var_membrane__i_Stim)) /
1607  var_membrane__C_sc; // 'millivolt per second'
1608  const NekDouble
1609  var_chaste_interface__membrane__d_V_d_environment__time_converter =
1610  var_membrane__d_V_d_environment__time; // ___units_1
1611  const NekDouble var_chaste_interface__membrane__d_V_d_environment__time =
1612  0.001 *
1613  var_chaste_interface__membrane__d_V_d_environment__time_converter; // 'millivolt per millisecond'
1614  d_dt_chaste_interface__membrane__V =
1615  var_chaste_interface__membrane__d_V_d_environment__time; // 'millivolt
1616  // per
1617  // millisecond'
1618  outarray[0][i] = d_dt_chaste_interface__membrane__V;
1619  outarray[1][i] = d_dt_chaste_interface__fast_sodium_current_m_gate__m;
1620  outarray[2][i] = d_dt_chaste_interface__fast_sodium_current_h_gate__h;
1621  outarray[3][i] = d_dt_chaste_interface__fast_sodium_current_j_gate__j;
1622  outarray[4][i] =
1623  d_dt_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr;
1624  outarray[5][i] =
1625  d_dt_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks;
1626  outarray[6][i] =
1627  d_dt_chaste_interface__transient_outward_potassium_current_X_to1_gate__X_to1;
1628  outarray[7][i] =
1629  d_dt_chaste_interface__transient_outward_potassium_current_Y_to1_gate__Y_to1;
1630  outarray[8][i] = d_dt_chaste_interface__L_type_Ca_current__O;
1631  outarray[9][i] = d_dt_chaste_interface__L_type_Ca_current__O_Ca;
1632  outarray[10][i] = d_dt_chaste_interface__L_type_Ca_current__C0;
1633  outarray[11][i] = d_dt_chaste_interface__L_type_Ca_current__C1;
1634  outarray[12][i] = d_dt_chaste_interface__L_type_Ca_current__C2;
1635  outarray[13][i] = d_dt_chaste_interface__L_type_Ca_current__C3;
1636  outarray[14][i] = d_dt_chaste_interface__L_type_Ca_current__C4;
1637  outarray[15][i] = d_dt_chaste_interface__L_type_Ca_current__C_Ca0;
1638  outarray[16][i] = d_dt_chaste_interface__L_type_Ca_current__C_Ca1;
1639  outarray[17][i] = d_dt_chaste_interface__L_type_Ca_current__C_Ca2;
1640  outarray[18][i] = d_dt_chaste_interface__L_type_Ca_current__C_Ca3;
1641  outarray[19][i] = d_dt_chaste_interface__L_type_Ca_current__C_Ca4;
1642  outarray[20][i] = d_dt_chaste_interface__L_type_Ca_current_y_gate__y;
1643  outarray[21][i] = d_dt_chaste_interface__RyR_channel__P_O1;
1644  outarray[22][i] = d_dt_chaste_interface__RyR_channel__P_O2;
1645  outarray[23][i] = d_dt_chaste_interface__RyR_channel__P_C1;
1646  outarray[24][i] = d_dt_chaste_interface__RyR_channel__P_C2;
1647  outarray[25][i] =
1648  d_dt_chaste_interface__intracellular_Ca_fluxes__HTRPNCa;
1649  outarray[26][i] =
1650  d_dt_chaste_interface__intracellular_Ca_fluxes__LTRPNCa;
1651  outarray[27][i] =
1652  d_dt_chaste_interface__intracellular_ion_concentrations__Nai;
1653  outarray[28][i] =
1654  d_dt_chaste_interface__intracellular_ion_concentrations__Cai;
1655  outarray[29][i] =
1656  d_dt_chaste_interface__intracellular_ion_concentrations__Ki;
1657  outarray[30][i] =
1658  d_dt_chaste_interface__intracellular_ion_concentrations__Ca_ss;
1659  outarray[31][i] =
1660  d_dt_chaste_interface__intracellular_ion_concentrations__Ca_JSR;
1661  outarray[32][i] =
1662  d_dt_chaste_interface__intracellular_ion_concentrations__Ca_NSR;
1663  }
1664 }
double NekDouble
scalarT< T > log(scalarT< T > in)
Definition: scalar.hpp:300
scalarT< T > sqrt(scalarT< T > in)
Definition: scalar.hpp:291

References tinysimd::log(), Nektar::CellModel::m_nq, and tinysimd::sqrt().

Member Data Documentation

◆ className

std::string Nektar::Winslow99::className
static
Initial value:
=
"Winslow99", Winslow99::create, "Winslow 1999 cell model.")
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
Definition: NekFactory.hpp:198
static CellModelSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
Creates an instance of this class.
Definition: Winslow99.h:47
CellModelFactory & GetCellModelFactory()
Definition: CellModel.cpp:46

Name of class.

Definition at line 55 of file Winslow99.h.