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