Computes the reaction terms $f(u,v)$ and $g(u,v)$.
75 boost::ignore_unused(time);
77 for (
size_t i = 0; i <
m_nq; ++i)
82 NekDouble var_chaste_interface__membrane__V = inarray[0][i];
84 NekDouble var_chaste_interface__fast_sodium_current_m_gate__m =
87 NekDouble var_chaste_interface__fast_sodium_current_h_gate__h =
90 NekDouble var_chaste_interface__fast_sodium_current_j_gate__j =
94 var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr =
98 var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks =
102 var_chaste_interface__transient_outward_potassium_current_X_to_gate__X_to =
106 var_chaste_interface__transient_outward_potassium_current_Y_to_gate__Y_to =
109 NekDouble var_chaste_interface__L_type_Ca_current_f_gate__f =
112 NekDouble var_chaste_interface__L_type_Ca_current_d_gate__d =
115 NekDouble var_chaste_interface__L_type_Ca_current_f_Ca_gate__f_Ca =
118 NekDouble var_chaste_interface__calcium_dynamics__Ca_i = inarray[11][i];
120 NekDouble var_chaste_interface__calcium_dynamics__Ca_SR =
125 NekDouble d_dt_chaste_interface__membrane__V;
129 const NekDouble var_fast_sodium_current__j =
130 var_chaste_interface__fast_sodium_current_j_gate__j;
131 const NekDouble var_fast_sodium_current__h =
132 var_chaste_interface__fast_sodium_current_h_gate__h;
133 const NekDouble var_fast_sodium_current__m =
134 var_chaste_interface__fast_sodium_current_m_gate__m;
135 const NekDouble var_fast_sodium_current__V =
136 var_chaste_interface__membrane__V;
137 const NekDouble var_standard_ionic_concentrations__Na_o =
139 const NekDouble var_standard_ionic_concentrations__Na_i =
141 const NekDouble var_L_type_Ca_current__f =
142 var_chaste_interface__L_type_Ca_current_f_gate__f;
143 const NekDouble var_L_type_Ca_current__f_Ca =
144 var_chaste_interface__L_type_Ca_current_f_Ca_gate__f_Ca;
145 const NekDouble var_L_type_Ca_current__F =
147 const NekDouble var_L_type_Ca_current__P_Ca =
149 const NekDouble var_L_type_Ca_current__V =
150 var_chaste_interface__membrane__V;
151 const NekDouble var_L_type_Ca_current__C_sc = 1.0;
152 const NekDouble var_L_type_Ca_current__T = var_membrane__T;
153 const NekDouble var_standard_ionic_concentrations__Ca_o =
155 const NekDouble var_L_type_Ca_current__Ca_o =
156 var_standard_ionic_concentrations__Ca_o;
157 const NekDouble var_L_type_Ca_current__R =
159 const NekDouble var_L_type_Ca_current__Ca_i =
160 var_chaste_interface__calcium_dynamics__Ca_i;
161 const NekDouble var_L_type_Ca_current__i_Ca_max =
162 ((((var_L_type_Ca_current__P_Ca / var_L_type_Ca_current__C_sc) *
163 4.0 * var_L_type_Ca_current__V *
164 pow(var_L_type_Ca_current__F, 2.0)) /
165 (var_L_type_Ca_current__R * var_L_type_Ca_current__T)) *
166 ((var_L_type_Ca_current__Ca_i *
167 exp((2.0 * var_L_type_Ca_current__V * var_L_type_Ca_current__F) /
168 (var_L_type_Ca_current__R * var_L_type_Ca_current__T))) -
169 (0.341 * var_L_type_Ca_current__Ca_o))) /
170 (exp((2.0 * var_L_type_Ca_current__V * var_L_type_Ca_current__F) /
171 (var_L_type_Ca_current__R * var_L_type_Ca_current__T)) -
173 const NekDouble var_L_type_Ca_current__d =
174 var_chaste_interface__L_type_Ca_current_d_gate__d;
175 const NekDouble var_L_type_Ca_current__i_Ca =
176 var_L_type_Ca_current__i_Ca_max * var_L_type_Ca_current__f *
177 var_L_type_Ca_current__d *
178 var_L_type_Ca_current__f_Ca;
179 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__V =
180 var_chaste_interface__membrane__V;
181 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__X_kr =
182 var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr;
183 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__V =
184 var_chaste_interface__membrane__V;
185 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__X_ks =
186 var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks;
187 const NekDouble var_transient_outward_potassium_current__Y_to =
188 var_chaste_interface__transient_outward_potassium_current_Y_to_gate__Y_to;
189 const NekDouble var_transient_outward_potassium_current__X_to =
190 var_chaste_interface__transient_outward_potassium_current_X_to_gate__X_to;
191 const NekDouble var_transient_outward_potassium_current__V =
192 var_chaste_interface__membrane__V;
193 const NekDouble var_Na_Ca_exchanger__Na_o =
194 var_standard_ionic_concentrations__Na_o;
195 const NekDouble var_Na_Ca_exchanger__K_sat = 0.2;
196 const NekDouble var_Na_Ca_exchanger__Ca_i =
197 var_chaste_interface__calcium_dynamics__Ca_i;
198 const NekDouble var_Na_Ca_exchanger__K_mNa = 87.5;
199 const NekDouble var_Na_Ca_exchanger__Ca_o =
200 var_standard_ionic_concentrations__Ca_o;
201 const NekDouble var_Na_Ca_exchanger__K_NaCa =
203 const NekDouble var_Na_Ca_exchanger__T = var_membrane__T;
205 var_chaste_interface__membrane__V;
206 const NekDouble var_Na_Ca_exchanger__Na_i =
207 var_standard_ionic_concentrations__Na_i;
208 const NekDouble var_Na_Ca_exchanger__eta = 0.35;
209 const NekDouble var_Na_Ca_exchanger__K_mCa = 1380.0;
214 const NekDouble var_Na_Ca_exchanger__i_NaCa =
215 (var_Na_Ca_exchanger__K_NaCa /
216 ((pow(var_Na_Ca_exchanger__K_mNa, 3.0) +
217 pow(var_Na_Ca_exchanger__Na_o, 3.0)) *
218 (var_Na_Ca_exchanger__K_mCa + var_Na_Ca_exchanger__Ca_o) *
220 (var_Na_Ca_exchanger__K_sat *
221 exp(((var_Na_Ca_exchanger__eta - 1.0) * var_Na_Ca_exchanger__V *
222 var_Na_Ca_exchanger__F) /
223 (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)))))) *
224 ((exp((var_Na_Ca_exchanger__eta * var_Na_Ca_exchanger__V *
225 var_Na_Ca_exchanger__F) /
226 (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) *
227 pow(var_Na_Ca_exchanger__Na_i, 3.0) * var_Na_Ca_exchanger__Ca_o) -
228 (exp(((var_Na_Ca_exchanger__eta - 1.0) * var_Na_Ca_exchanger__V *
229 var_Na_Ca_exchanger__F) /
230 (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) *
231 pow(var_Na_Ca_exchanger__Na_o, 3.0) *
232 var_Na_Ca_exchanger__Ca_i));
233 const NekDouble var_sarcolemmal_calcium_pump__Ca_i =
234 var_chaste_interface__calcium_dynamics__Ca_i;
235 const NekDouble var_sarcolemmal_calcium_pump__i_pCa_max =
237 const NekDouble var_sarcolemmal_calcium_pump__K_mpCa =
239 const NekDouble var_sarcolemmal_calcium_pump__i_p_Ca =
240 (var_sarcolemmal_calcium_pump__i_pCa_max *
241 var_sarcolemmal_calcium_pump__Ca_i) /
242 (var_sarcolemmal_calcium_pump__K_mpCa +
243 var_sarcolemmal_calcium_pump__Ca_i);
244 const NekDouble var_calcium_background_current__R =
246 const NekDouble var_calcium_background_current__Ca_i =
247 var_chaste_interface__calcium_dynamics__Ca_i;
248 const NekDouble var_calcium_background_current__F =
250 const NekDouble var_calcium_background_current__T =
252 const NekDouble var_calcium_background_current__Ca_o =
253 var_standard_ionic_concentrations__Ca_o;
254 const NekDouble var_calcium_background_current__E_Ca =
255 ((var_calcium_background_current__R *
256 var_calcium_background_current__T) /
257 (2.0 * var_calcium_background_current__F)) *
258 log(var_calcium_background_current__Ca_o /
259 var_calcium_background_current__Ca_i);
260 const NekDouble var_calcium_background_current__g_Cab =
262 const NekDouble var_calcium_background_current__V =
263 var_chaste_interface__membrane__V;
264 const NekDouble var_calcium_background_current__i_Ca_b =
265 var_calcium_background_current__g_Cab *
266 (var_calcium_background_current__V -
267 var_calcium_background_current__E_Ca);
268 const NekDouble var_fast_sodium_current_m_gate__m =
269 var_fast_sodium_current__m;
270 const NekDouble var_fast_sodium_current_m_gate__V =
271 var_fast_sodium_current__V;
272 const NekDouble var_fast_sodium_current_m_gate__E0_m =
273 var_fast_sodium_current_m_gate__V + 47.13;
274 const NekDouble var_fast_sodium_current_m_gate__alpha_m =
275 (0.32 * var_fast_sodium_current_m_gate__E0_m) /
278 var_fast_sodium_current_m_gate__E0_m));
279 const NekDouble var_fast_sodium_current_m_gate__beta_m =
281 exp((-var_fast_sodium_current_m_gate__V) / 11.0);
283 var_fast_sodium_current_m_gate__d_m_d_environment__time =
284 (var_fast_sodium_current_m_gate__alpha_m *
285 (1.0 - var_fast_sodium_current_m_gate__m)) -
286 (var_fast_sodium_current_m_gate__beta_m *
287 var_fast_sodium_current_m_gate__m);
289 var_fast_sodium_current__fast_sodium_current_m_gate__d_m_d_environment__time =
290 var_fast_sodium_current_m_gate__d_m_d_environment__time;
291 const NekDouble var_fast_sodium_current_h_gate__V =
292 var_fast_sodium_current__V;
293 const NekDouble var_fast_sodium_current_h_gate__beta_h =
294 7.5 / (1.0 + exp((-0.1) * (var_fast_sodium_current_h_gate__V +
296 const NekDouble var_fast_sodium_current_h_gate__alpha_h =
297 0.135 * exp((var_fast_sodium_current_h_gate__V + 80.0) /
299 const NekDouble var_fast_sodium_current_h_gate__h =
300 var_fast_sodium_current__h;
302 var_fast_sodium_current_h_gate__d_h_d_environment__time =
303 (var_fast_sodium_current_h_gate__alpha_h *
304 (1.0 - var_fast_sodium_current_h_gate__h)) -
305 (var_fast_sodium_current_h_gate__beta_h *
306 var_fast_sodium_current_h_gate__h);
308 var_fast_sodium_current__fast_sodium_current_h_gate__d_h_d_environment__time =
309 var_fast_sodium_current_h_gate__d_h_d_environment__time;
310 const NekDouble var_fast_sodium_current_j_gate__V =
311 var_fast_sodium_current__V;
312 const NekDouble var_fast_sodium_current_j_gate__alpha_j =
314 exp((var_fast_sodium_current_j_gate__V + 100.0) / (-23.0))) /
315 (1.0 + exp(0.15 * (var_fast_sodium_current_j_gate__V +
317 const NekDouble var_fast_sodium_current_j_gate__beta_j =
318 0.3 / (1.0 + exp((-0.1) * (var_fast_sodium_current_j_gate__V +
320 const NekDouble var_fast_sodium_current_j_gate__j =
321 var_fast_sodium_current__j;
323 var_fast_sodium_current_j_gate__d_j_d_environment__time =
324 (var_fast_sodium_current_j_gate__alpha_j *
325 (1.0 - var_fast_sodium_current_j_gate__j)) -
326 (var_fast_sodium_current_j_gate__beta_j *
327 var_fast_sodium_current_j_gate__j);
329 var_fast_sodium_current__fast_sodium_current_j_gate__d_j_d_environment__time =
330 var_fast_sodium_current_j_gate__d_j_d_environment__time;
332 var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__V =
333 var_rapid_activating_delayed_rectifiyer_K_current__V;
334 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__tau_X_kr =
339 var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__V)) +
342 var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__V))));
344 var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr =
345 var_rapid_activating_delayed_rectifiyer_K_current__X_kr;
346 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr_inf =
351 var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__V)));
352 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time =
353 (var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr_inf -
354 var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr) /
355 var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__tau_X_kr;
357 var_rapid_activating_delayed_rectifiyer_K_current__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time =
358 var_rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time;
360 var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V =
361 var_slow_activating_delayed_rectifiyer_K_current__V;
362 const NekDouble var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__tau_X_ks =
365 (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
369 (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
372 (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
375 (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
379 var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks_infinity =
382 exp((var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__V -
386 var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks =
387 var_slow_activating_delayed_rectifiyer_K_current__X_ks;
388 const NekDouble var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time =
389 (var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks_infinity -
390 var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks) /
391 var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__tau_X_ks;
393 var_slow_activating_delayed_rectifiyer_K_current__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time =
394 var_slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time;
395 const NekDouble var_transient_outward_potassium_current_X_to_gate__V =
396 var_transient_outward_potassium_current__V;
398 var_transient_outward_potassium_current_X_to_gate__alpha_X_to =
401 var_transient_outward_potassium_current_X_to_gate__V);
403 var_transient_outward_potassium_current_X_to_gate__X_to =
404 var_transient_outward_potassium_current__X_to;
406 var_transient_outward_potassium_current_X_to_gate__beta_X_to =
409 var_transient_outward_potassium_current_X_to_gate__V);
411 var_transient_outward_potassium_current_X_to_gate__d_X_to_d_environment__time =
412 (var_transient_outward_potassium_current_X_to_gate__alpha_X_to *
414 var_transient_outward_potassium_current_X_to_gate__X_to)) -
415 (var_transient_outward_potassium_current_X_to_gate__beta_X_to *
416 var_transient_outward_potassium_current_X_to_gate__X_to);
418 var_transient_outward_potassium_current__transient_outward_potassium_current_X_to_gate__d_X_to_d_environment__time =
419 var_transient_outward_potassium_current_X_to_gate__d_X_to_d_environment__time;
420 const NekDouble var_transient_outward_potassium_current_Y_to_gate__V =
421 var_transient_outward_potassium_current__V;
423 var_transient_outward_potassium_current_Y_to_gate__beta_Y_to =
425 exp((var_transient_outward_potassium_current_Y_to_gate__V +
430 exp((var_transient_outward_potassium_current_Y_to_gate__V +
434 var_transient_outward_potassium_current_Y_to_gate__alpha_Y_to =
436 exp((var_transient_outward_potassium_current_Y_to_gate__V +
441 exp((var_transient_outward_potassium_current_Y_to_gate__V +
445 var_transient_outward_potassium_current_Y_to_gate__Y_to =
446 var_transient_outward_potassium_current__Y_to;
448 var_transient_outward_potassium_current_Y_to_gate__d_Y_to_d_environment__time =
449 (var_transient_outward_potassium_current_Y_to_gate__alpha_Y_to *
451 var_transient_outward_potassium_current_Y_to_gate__Y_to)) -
452 (var_transient_outward_potassium_current_Y_to_gate__beta_Y_to *
453 var_transient_outward_potassium_current_Y_to_gate__Y_to);
455 var_transient_outward_potassium_current__transient_outward_potassium_current_Y_to_gate__d_Y_to_d_environment__time =
456 var_transient_outward_potassium_current_Y_to_gate__d_Y_to_d_environment__time;
457 const NekDouble var_L_type_Ca_current_f_gate__V =
458 var_L_type_Ca_current__V;
459 const NekDouble var_L_type_Ca_current_f_gate__tau_f =
461 (200.0 / (1.0 + exp((var_L_type_Ca_current_f_gate__V + 20.0) /
463 const NekDouble var_L_type_Ca_current_f_gate__f =
464 var_L_type_Ca_current__f;
465 const NekDouble var_L_type_Ca_current_f_gate__f_infinity =
466 1.0 / (1.0 + exp((var_L_type_Ca_current_f_gate__V + 12.5) /
468 const NekDouble var_L_type_Ca_current_f_gate__d_f_d_environment__time =
469 (var_L_type_Ca_current_f_gate__f_infinity -
470 var_L_type_Ca_current_f_gate__f) /
471 var_L_type_Ca_current_f_gate__tau_f;
473 var_L_type_Ca_current__L_type_Ca_current_f_gate__d_f_d_environment__time =
474 var_L_type_Ca_current_f_gate__d_f_d_environment__time;
475 const NekDouble var_L_type_Ca_current_d_gate__V =
476 var_L_type_Ca_current__V;
477 const NekDouble var_L_type_Ca_current_d_gate__E0_m =
478 var_L_type_Ca_current_d_gate__V + 40.0;
479 const NekDouble var_L_type_Ca_current_d_gate__tau_d =
481 (((0.25 * exp((-0.01) * var_L_type_Ca_current_d_gate__V)) /
482 (1.0 + exp((-0.07) * var_L_type_Ca_current_d_gate__V))) +
483 ((0.07 * exp((-0.05) * var_L_type_Ca_current_d_gate__E0_m)) /
485 exp(0.05 * var_L_type_Ca_current_d_gate__E0_m))));
486 const NekDouble var_L_type_Ca_current_d_gate__d =
487 var_L_type_Ca_current__d;
488 const NekDouble var_L_type_Ca_current_d_gate__d_infinity =
489 1.0 / (1.0 + exp((var_L_type_Ca_current_d_gate__V + 10.0) /
491 const NekDouble var_L_type_Ca_current_d_gate__d_d_d_environment__time =
492 (var_L_type_Ca_current_d_gate__d_infinity -
493 var_L_type_Ca_current_d_gate__d) /
494 var_L_type_Ca_current_d_gate__tau_d;
496 var_L_type_Ca_current__L_type_Ca_current_d_gate__d_d_d_environment__time =
497 var_L_type_Ca_current_d_gate__d_d_d_environment__time;
498 const NekDouble var_L_type_Ca_current_f_Ca_gate__f_Ca =
499 var_L_type_Ca_current__f_Ca;
500 const NekDouble var_L_type_Ca_current_f_Ca_gate__K_mfCa =
502 const NekDouble var_L_type_Ca_current_f_Ca_gate__Ca_i =
503 var_L_type_Ca_current__Ca_i;
504 const NekDouble var_L_type_Ca_current_f_Ca_gate__f_Ca_infinity =
505 1.0 / (1.0 + pow(var_L_type_Ca_current_f_Ca_gate__Ca_i /
506 var_L_type_Ca_current_f_Ca_gate__K_mfCa,
508 const NekDouble var_L_type_Ca_current_f_Ca_gate__tau_f_Ca =
511 var_L_type_Ca_current_f_Ca_gate__d_f_Ca_d_environment__time =
512 (var_L_type_Ca_current_f_Ca_gate__f_Ca_infinity -
513 var_L_type_Ca_current_f_Ca_gate__f_Ca) /
514 var_L_type_Ca_current_f_Ca_gate__tau_f_Ca;
516 var_L_type_Ca_current__L_type_Ca_current_f_Ca_gate__d_f_Ca_d_environment__time =
517 var_L_type_Ca_current_f_Ca_gate__d_f_Ca_d_environment__time;
518 const NekDouble var_calcium_dynamics__Ca_i =
519 var_chaste_interface__calcium_dynamics__Ca_i;
520 const NekDouble var_calcium_dynamics__CMDN_tot = 10.0;
521 const NekDouble var_calcium_dynamics__K_mCMDN = 2.0;
522 const NekDouble var_calcium_dynamics__beta_i =
525 ((var_calcium_dynamics__CMDN_tot * var_calcium_dynamics__K_mCMDN) /
526 pow(var_calcium_dynamics__K_mCMDN + var_calcium_dynamics__Ca_i,
528 const NekDouble var_calcium_dynamics__V_myo = 2.584e-05;
529 const NekDouble var_calcium_dynamics__F =
531 const NekDouble var_calcium_dynamics__C_sc =
532 var_L_type_Ca_current__C_sc;
533 const NekDouble var_calcium_dynamics__A_Cap = 0.0001534;
534 const NekDouble var_calcium_dynamics__Ca_SR =
535 var_chaste_interface__calcium_dynamics__Ca_SR;
536 const NekDouble var_calcium_dynamics__P_rel = 6.0;
537 const NekDouble var_calcium_dynamics__V =
538 var_chaste_interface__membrane__V;
539 const NekDouble var_calcium_dynamics__f_Ca =
540 var_chaste_interface__L_type_Ca_current_f_Ca_gate__f_Ca;
541 const NekDouble var_calcium_dynamics__gamma =
542 1.0 / (1.0 + pow(2000.0 / var_calcium_dynamics__Ca_SR,
544 const NekDouble var_calcium_dynamics__d =
545 var_chaste_interface__L_type_Ca_current_d_gate__d;
546 const NekDouble var_calcium_dynamics__f =
547 var_chaste_interface__L_type_Ca_current_f_gate__f;
548 const NekDouble var_calcium_dynamics__J_rel =
549 (var_calcium_dynamics__P_rel * var_calcium_dynamics__f *
550 var_calcium_dynamics__d * var_calcium_dynamics__f_Ca *
551 ((var_calcium_dynamics__gamma * var_calcium_dynamics__Ca_SR) -
552 var_calcium_dynamics__Ca_i)) /
553 (1.0 + (1.65 * exp(var_calcium_dynamics__V /
555 const NekDouble var_calcium_dynamics__P_leak = 1e-06;
556 const NekDouble var_calcium_dynamics__J_leak =
557 var_calcium_dynamics__P_leak *
558 (var_calcium_dynamics__Ca_SR -
559 var_calcium_dynamics__Ca_i);
560 const NekDouble var_calcium_dynamics__K_mup = 0.32;
561 const NekDouble var_calcium_dynamics__V_up =
563 const NekDouble var_calcium_dynamics__J_up =
564 var_calcium_dynamics__V_up /
565 (1.0 + pow(var_calcium_dynamics__K_mup / var_calcium_dynamics__Ca_i,
567 const NekDouble var_calcium_dynamics__i_Ca =
568 var_L_type_Ca_current__i_Ca;
569 const NekDouble var_calcium_dynamics__i_Ca_b =
570 var_calcium_background_current__i_Ca_b;
571 const NekDouble var_calcium_dynamics__i_p_Ca =
572 var_sarcolemmal_calcium_pump__i_p_Ca;
573 const NekDouble var_calcium_dynamics__i_NaCa =
574 var_Na_Ca_exchanger__i_NaCa;
575 const NekDouble var_calcium_dynamics__K_mCSQN = 600.0;
576 const NekDouble var_calcium_dynamics__CSQN_tot = 10000.0;
577 const NekDouble var_calcium_dynamics__V_SR = 2e-06;
578 const NekDouble var_calcium_dynamics__beta_SR =
581 ((var_calcium_dynamics__CSQN_tot * var_calcium_dynamics__K_mCSQN) /
582 pow(var_calcium_dynamics__K_mCSQN + var_calcium_dynamics__Ca_SR,
584 const NekDouble var_calcium_dynamics__d_Ca_i_d_environment__time =
585 var_calcium_dynamics__beta_i *
586 (((var_calcium_dynamics__J_rel + var_calcium_dynamics__J_leak) -
587 var_calcium_dynamics__J_up) -
588 (((var_calcium_dynamics__A_Cap * var_calcium_dynamics__C_sc) /
589 (2.0 * var_calcium_dynamics__F * var_calcium_dynamics__V_myo)) *
590 ((var_calcium_dynamics__i_Ca + var_calcium_dynamics__i_Ca_b +
591 var_calcium_dynamics__i_p_Ca) -
592 (2.0 * var_calcium_dynamics__i_NaCa))));
594 const NekDouble var_calcium_dynamics__d_Ca_SR_d_environment__time =
595 (var_calcium_dynamics__beta_SR *
596 ((var_calcium_dynamics__J_up - var_calcium_dynamics__J_leak) -
597 var_calcium_dynamics__J_rel) *
598 var_calcium_dynamics__V_myo) /
599 var_calcium_dynamics__V_SR;
601 var_chaste_interface__fast_sodium_current_m_gate__d_m_d_environment__time =
602 var_fast_sodium_current__fast_sodium_current_m_gate__d_m_d_environment__time;
604 var_chaste_interface__fast_sodium_current_h_gate__d_h_d_environment__time =
605 var_fast_sodium_current__fast_sodium_current_h_gate__d_h_d_environment__time;
607 var_chaste_interface__fast_sodium_current_j_gate__d_j_d_environment__time =
608 var_fast_sodium_current__fast_sodium_current_j_gate__d_j_d_environment__time;
610 var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time =
611 var_rapid_activating_delayed_rectifiyer_K_current__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time;
613 var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time =
614 var_slow_activating_delayed_rectifiyer_K_current__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time;
616 var_chaste_interface__transient_outward_potassium_current_X_to_gate__d_X_to_d_environment__time =
617 var_transient_outward_potassium_current__transient_outward_potassium_current_X_to_gate__d_X_to_d_environment__time;
619 var_chaste_interface__transient_outward_potassium_current_Y_to_gate__d_Y_to_d_environment__time =
620 var_transient_outward_potassium_current__transient_outward_potassium_current_Y_to_gate__d_Y_to_d_environment__time;
622 var_chaste_interface__L_type_Ca_current_f_gate__d_f_d_environment__time =
623 var_L_type_Ca_current__L_type_Ca_current_f_gate__d_f_d_environment__time;
625 var_chaste_interface__L_type_Ca_current_d_gate__d_d_d_environment__time =
626 var_L_type_Ca_current__L_type_Ca_current_d_gate__d_d_d_environment__time;
628 var_chaste_interface__L_type_Ca_current_f_Ca_gate__d_f_Ca_d_environment__time =
629 var_L_type_Ca_current__L_type_Ca_current_f_Ca_gate__d_f_Ca_d_environment__time;
631 var_chaste_interface__calcium_dynamics__d_Ca_i_d_environment__time =
632 var_calcium_dynamics__d_Ca_i_d_environment__time;
634 var_chaste_interface__calcium_dynamics__d_Ca_SR_d_environment__time =
635 var_calcium_dynamics__d_Ca_SR_d_environment__time;
636 const NekDouble d_dt_chaste_interface__fast_sodium_current_m_gate__m =
637 var_chaste_interface__fast_sodium_current_m_gate__d_m_d_environment__time;
638 const NekDouble d_dt_chaste_interface__fast_sodium_current_h_gate__h =
639 var_chaste_interface__fast_sodium_current_h_gate__d_h_d_environment__time;
640 const NekDouble d_dt_chaste_interface__fast_sodium_current_j_gate__j =
641 var_chaste_interface__fast_sodium_current_j_gate__d_j_d_environment__time;
643 d_dt_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr =
644 var_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__d_X_kr_d_environment__time;
646 d_dt_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks =
647 var_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__d_X_ks_d_environment__time;
649 d_dt_chaste_interface__transient_outward_potassium_current_X_to_gate__X_to =
650 var_chaste_interface__transient_outward_potassium_current_X_to_gate__d_X_to_d_environment__time;
652 d_dt_chaste_interface__transient_outward_potassium_current_Y_to_gate__Y_to =
653 var_chaste_interface__transient_outward_potassium_current_Y_to_gate__d_Y_to_d_environment__time;
654 const NekDouble d_dt_chaste_interface__L_type_Ca_current_f_gate__f =
655 var_chaste_interface__L_type_Ca_current_f_gate__d_f_d_environment__time;
656 const NekDouble d_dt_chaste_interface__L_type_Ca_current_d_gate__d =
657 var_chaste_interface__L_type_Ca_current_d_gate__d_d_d_environment__time;
658 const NekDouble d_dt_chaste_interface__L_type_Ca_current_f_Ca_gate__f_Ca =
659 var_chaste_interface__L_type_Ca_current_f_Ca_gate__d_f_Ca_d_environment__time;
660 const NekDouble d_dt_chaste_interface__calcium_dynamics__Ca_i =
661 var_chaste_interface__calcium_dynamics__d_Ca_i_d_environment__time;
662 const NekDouble d_dt_chaste_interface__calcium_dynamics__Ca_SR =
663 var_chaste_interface__calcium_dynamics__d_Ca_SR_d_environment__time;
665 const NekDouble var_fast_sodium_current__g_Na =
667 const NekDouble var_fast_sodium_current__R =
669 const NekDouble var_fast_sodium_current__Na_o =
670 var_standard_ionic_concentrations__Na_o;
671 const NekDouble var_fast_sodium_current__F =
673 const NekDouble var_fast_sodium_current__T = var_membrane__T;
674 const NekDouble var_fast_sodium_current__Na_i =
675 var_standard_ionic_concentrations__Na_i;
676 const NekDouble var_fast_sodium_current__E_Na =
677 ((var_fast_sodium_current__R * var_fast_sodium_current__T) /
678 var_fast_sodium_current__F) *
679 log(var_fast_sodium_current__Na_o /
680 var_fast_sodium_current__Na_i);
681 const NekDouble var_fast_sodium_current__i_Na =
682 var_fast_sodium_current__g_Na *
683 pow(var_fast_sodium_current__m, 3.0) * var_fast_sodium_current__h *
684 var_fast_sodium_current__j *
685 (var_fast_sodium_current__V -
686 var_fast_sodium_current__E_Na);
688 var_fast_sodium_current__i_Na;
690 var_L_type_Ca_current__i_Ca;
691 const NekDouble var_L_type_Ca_current__P_CaK =
693 const NekDouble var_standard_ionic_concentrations__K_o =
695 const NekDouble var_L_type_Ca_current__K_o =
696 var_standard_ionic_concentrations__K_o;
697 const NekDouble var_L_type_Ca_current__i_Ca_half =
699 const NekDouble var_standard_ionic_concentrations__K_i =
701 const NekDouble var_L_type_Ca_current__K_i =
702 var_standard_ionic_concentrations__K_i;
703 const NekDouble var_L_type_Ca_current__i_CaK =
704 ((((((var_L_type_Ca_current__P_CaK / var_L_type_Ca_current__C_sc) *
705 var_L_type_Ca_current__f * var_L_type_Ca_current__d *
706 var_L_type_Ca_current__f_Ca) /
707 (1.0 + (var_L_type_Ca_current__i_Ca_max /
708 var_L_type_Ca_current__i_Ca_half))) *
709 1000.0 * var_L_type_Ca_current__V *
710 pow(var_L_type_Ca_current__F, 2.0)) /
711 (var_L_type_Ca_current__R * var_L_type_Ca_current__T)) *
712 ((var_L_type_Ca_current__K_i *
713 exp((var_L_type_Ca_current__V * var_L_type_Ca_current__F) /
714 (var_L_type_Ca_current__R * var_L_type_Ca_current__T))) -
715 var_L_type_Ca_current__K_o)) /
716 (exp((var_L_type_Ca_current__V * var_L_type_Ca_current__F) /
717 (var_L_type_Ca_current__R * var_L_type_Ca_current__T)) -
720 var_L_type_Ca_current__i_CaK;
721 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__K_o =
722 var_standard_ionic_concentrations__K_o;
723 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__R =
725 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__F =
727 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__K_i =
728 var_standard_ionic_concentrations__K_i;
729 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__T =
731 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__E_K =
732 ((var_rapid_activating_delayed_rectifiyer_K_current__R *
733 var_rapid_activating_delayed_rectifiyer_K_current__T) /
734 var_rapid_activating_delayed_rectifiyer_K_current__F) *
735 log(var_rapid_activating_delayed_rectifiyer_K_current__K_o /
736 var_rapid_activating_delayed_rectifiyer_K_current__K_i);
737 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__R_V =
741 exp(0.1 * (var_rapid_activating_delayed_rectifiyer_K_current__V +
744 var_rapid_activating_delayed_rectifiyer_K_current__g_Kr =
746 const NekDouble var_rapid_activating_delayed_rectifiyer_K_current__i_Kr =
747 var_rapid_activating_delayed_rectifiyer_K_current__g_Kr *
748 var_rapid_activating_delayed_rectifiyer_K_current__R_V *
749 var_rapid_activating_delayed_rectifiyer_K_current__X_kr *
750 sqrt(var_rapid_activating_delayed_rectifiyer_K_current__K_o / 4.0) *
751 (var_rapid_activating_delayed_rectifiyer_K_current__V -
752 var_rapid_activating_delayed_rectifiyer_K_current__E_K);
754 var_rapid_activating_delayed_rectifiyer_K_current__i_Kr;
755 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__g_Ks =
757 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__T =
759 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__K_o =
760 var_standard_ionic_concentrations__K_o;
761 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__R =
763 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__Na_o =
764 var_standard_ionic_concentrations__Na_o;
765 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__Na_i =
766 var_standard_ionic_concentrations__Na_i;
767 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__K_i =
768 var_standard_ionic_concentrations__K_i;
769 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__F =
771 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__E_Ks =
772 ((var_slow_activating_delayed_rectifiyer_K_current__R *
773 var_slow_activating_delayed_rectifiyer_K_current__T) /
774 var_slow_activating_delayed_rectifiyer_K_current__F) *
775 log((var_slow_activating_delayed_rectifiyer_K_current__K_o +
777 var_slow_activating_delayed_rectifiyer_K_current__Na_o)) /
778 (var_slow_activating_delayed_rectifiyer_K_current__K_i +
780 var_slow_activating_delayed_rectifiyer_K_current__Na_i)));
781 const NekDouble var_slow_activating_delayed_rectifiyer_K_current__i_Ks =
782 var_slow_activating_delayed_rectifiyer_K_current__g_Ks *
783 pow(var_slow_activating_delayed_rectifiyer_K_current__X_ks, 2.0) *
784 (var_slow_activating_delayed_rectifiyer_K_current__V -
785 var_slow_activating_delayed_rectifiyer_K_current__E_Ks);
787 var_slow_activating_delayed_rectifiyer_K_current__i_Ks;
788 const NekDouble var_transient_outward_potassium_current__g_to =
790 const NekDouble var_transient_outward_potassium_current__E_K =
791 var_rapid_activating_delayed_rectifiyer_K_current__E_K;
792 const NekDouble var_transient_outward_potassium_current__i_to =
793 var_transient_outward_potassium_current__g_to *
794 var_transient_outward_potassium_current__X_to *
795 var_transient_outward_potassium_current__Y_to *
796 (var_transient_outward_potassium_current__V -
797 var_transient_outward_potassium_current__E_K);
799 var_transient_outward_potassium_current__i_to;
800 const NekDouble var_time_independent_potassium_current__E_K =
801 var_rapid_activating_delayed_rectifiyer_K_current__E_K;
802 const NekDouble var_time_independent_potassium_current__K_o =
803 var_standard_ionic_concentrations__K_o;
804 const NekDouble var_time_independent_potassium_current__g_K1 =
806 const NekDouble var_time_independent_potassium_current__F =
808 const NekDouble var_time_independent_potassium_current_K1_gate__F =
809 var_time_independent_potassium_current__F;
810 const NekDouble var_time_independent_potassium_current__V =
811 var_chaste_interface__membrane__V;
812 const NekDouble var_time_independent_potassium_current_K1_gate__V =
813 var_time_independent_potassium_current__V;
814 const NekDouble var_time_independent_potassium_current__T =
816 const NekDouble var_time_independent_potassium_current_K1_gate__T =
817 var_time_independent_potassium_current__T;
818 const NekDouble var_time_independent_potassium_current_K1_gate__E_K =
819 var_time_independent_potassium_current__E_K;
820 const NekDouble var_time_independent_potassium_current__R =
822 const NekDouble var_time_independent_potassium_current_K1_gate__R =
823 var_time_independent_potassium_current__R;
825 var_time_independent_potassium_current_K1_gate__K1_infinity =
829 var_time_independent_potassium_current_K1_gate__F) /
830 (var_time_independent_potassium_current_K1_gate__R *
831 var_time_independent_potassium_current_K1_gate__T)) *
832 (var_time_independent_potassium_current_K1_gate__V -
833 var_time_independent_potassium_current_K1_gate__E_K)));
834 const NekDouble var_time_independent_potassium_current__K1_infinity =
835 var_time_independent_potassium_current_K1_gate__K1_infinity;
836 const NekDouble var_time_independent_potassium_current__K_mK1 =
838 const NekDouble var_time_independent_potassium_current__i_K1 =
839 ((var_time_independent_potassium_current__g_K1 *
840 var_time_independent_potassium_current__K1_infinity *
841 var_time_independent_potassium_current__K_o) /
842 (var_time_independent_potassium_current__K_o +
843 var_time_independent_potassium_current__K_mK1)) *
844 (var_time_independent_potassium_current__V -
845 var_time_independent_potassium_current__E_K);
847 var_time_independent_potassium_current__i_K1;
848 const NekDouble var_plateau_potassium_current__g_Kp =
850 const NekDouble var_plateau_potassium_current__V =
851 var_chaste_interface__membrane__V;
852 const NekDouble var_plateau_potassium_current_Kp_gate__V =
853 var_plateau_potassium_current__V;
854 const NekDouble var_plateau_potassium_current_Kp_gate__Kp_V =
856 (1.0 + exp((7.488 - var_plateau_potassium_current_Kp_gate__V) /
858 const NekDouble var_plateau_potassium_current__Kp_V =
859 var_plateau_potassium_current_Kp_gate__Kp_V;
860 const NekDouble var_plateau_potassium_current__E_K =
861 var_rapid_activating_delayed_rectifiyer_K_current__E_K;
862 const NekDouble var_plateau_potassium_current__i_Kp =
863 var_plateau_potassium_current__g_Kp *
864 var_plateau_potassium_current__Kp_V *
865 (var_plateau_potassium_current__V -
866 var_plateau_potassium_current__E_K);
868 var_plateau_potassium_current__i_Kp;
870 var_Na_Ca_exchanger__i_NaCa;
871 const NekDouble var_sodium_potassium_pump__K_mNai = 10.0;
872 const NekDouble var_sodium_potassium_pump__V =
873 var_chaste_interface__membrane__V;
874 const NekDouble var_sodium_potassium_pump__F =
876 const NekDouble var_sodium_potassium_pump__T =
878 const NekDouble var_sodium_potassium_pump__Na_o =
879 var_standard_ionic_concentrations__Na_o;
880 const NekDouble var_sodium_potassium_pump__sigma =
881 (1.0 / 7.0) * (exp(var_sodium_potassium_pump__Na_o / 67.3) -
883 const NekDouble var_sodium_potassium_pump__R =
885 const NekDouble var_sodium_potassium_pump__f_NaK =
887 (0.1245 * exp(((-0.1) * var_sodium_potassium_pump__V *
888 var_sodium_potassium_pump__F) /
889 (var_sodium_potassium_pump__R *
890 var_sodium_potassium_pump__T))) +
891 (0.0365 * var_sodium_potassium_pump__sigma *
892 exp(((-var_sodium_potassium_pump__V) *
893 var_sodium_potassium_pump__F) /
894 (var_sodium_potassium_pump__R *
895 var_sodium_potassium_pump__T))));
896 const NekDouble var_sodium_potassium_pump__i_NaK_max =
898 const NekDouble var_sodium_potassium_pump__K_o =
899 var_standard_ionic_concentrations__K_o;
900 const NekDouble var_sodium_potassium_pump__Na_i =
901 var_standard_ionic_concentrations__Na_i;
902 const NekDouble var_sodium_potassium_pump__K_mKo = 1.5;
903 const NekDouble var_sodium_potassium_pump__i_NaK =
904 (((var_sodium_potassium_pump__i_NaK_max *
905 var_sodium_potassium_pump__f_NaK) /
906 (1.0 + pow(var_sodium_potassium_pump__K_mNai /
907 var_sodium_potassium_pump__Na_i,
909 var_sodium_potassium_pump__K_o) /
910 (var_sodium_potassium_pump__K_o +
911 var_sodium_potassium_pump__K_mKo);
913 var_sodium_potassium_pump__i_NaK;
915 var_sarcolemmal_calcium_pump__i_p_Ca;
917 var_calcium_background_current__i_Ca_b;
918 const NekDouble var_sodium_background_current__g_Nab =
920 const NekDouble var_sodium_background_current__V =
921 var_chaste_interface__membrane__V;
922 const NekDouble var_sodium_background_current__E_Na =
923 var_fast_sodium_current__E_Na;
924 const NekDouble var_sodium_background_current__i_Na_b =
925 var_sodium_background_current__g_Nab *
926 (var_sodium_background_current__V -
927 var_sodium_background_current__E_Na);
929 var_sodium_background_current__i_Na_b;
930 const NekDouble var_chaste_interface__membrane__i_Stim = 0.0;
931 const NekDouble var_membrane__i_Stim_converter =
932 var_chaste_interface__membrane__i_Stim;
934 var_membrane__chaste_interface__chaste_membrane_capacitance =
937 var_membrane__i_Stim_converter /
938 var_membrane__chaste_interface__chaste_membrane_capacitance;
939 const NekDouble var_membrane__d_V_d_environment__time =
940 -(var_membrane__i_Na + var_membrane__i_Ca + var_membrane__i_CaK +
941 var_membrane__i_Kr + var_membrane__i_Ks + var_membrane__i_to +
942 var_membrane__i_K1 + var_membrane__i_Kp + var_membrane__i_NaCa +
943 var_membrane__i_NaK + var_membrane__i_p_Ca +
944 var_membrane__i_Na_b + var_membrane__i_Ca_b +
945 var_membrane__i_Stim);
947 var_chaste_interface__membrane__d_V_d_environment__time =
948 var_membrane__d_V_d_environment__time;
949 d_dt_chaste_interface__membrane__V =
950 var_chaste_interface__membrane__d_V_d_environment__time;
953 outarray[0][i] = d_dt_chaste_interface__membrane__V;
954 outarray[1][i] = d_dt_chaste_interface__fast_sodium_current_m_gate__m;
955 outarray[2][i] = d_dt_chaste_interface__fast_sodium_current_h_gate__h;
956 outarray[3][i] = d_dt_chaste_interface__fast_sodium_current_j_gate__j;
958 d_dt_chaste_interface__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate__X_kr;
960 d_dt_chaste_interface__slow_activating_delayed_rectifiyer_K_current_X_ks_gate__X_ks;
962 d_dt_chaste_interface__transient_outward_potassium_current_X_to_gate__X_to;
964 d_dt_chaste_interface__transient_outward_potassium_current_Y_to_gate__Y_to;
965 outarray[8][i] = d_dt_chaste_interface__L_type_Ca_current_f_gate__f;
966 outarray[9][i] = d_dt_chaste_interface__L_type_Ca_current_d_gate__d;
968 d_dt_chaste_interface__L_type_Ca_current_f_Ca_gate__f_Ca;
969 outarray[11][i] = d_dt_chaste_interface__calcium_dynamics__Ca_i;
970 outarray[12][i] = d_dt_chaste_interface__calcium_dynamics__Ca_SR;
scalarT< T > log(scalarT< T > in)
scalarT< T > sqrt(scalarT< T > in)