65 m_nq = pField->GetNpoints();
81 boost::ignore_unused(time);
83 for (
size_t i = 0; i <
m_nq; ++i)
87 NekDouble var_chaste_interface__membrane__V = inarray[0][i];
89 NekDouble var_chaste_interface__fast_sodium_current_m_gate__m =
92 NekDouble var_chaste_interface__fast_sodium_current_h_gate__h =
95 NekDouble var_chaste_interface__fast_sodium_current_j_gate__j =
98 NekDouble var_chaste_interface__slow_inward_current_d_gate__d =
101 NekDouble var_chaste_interface__slow_inward_current_f_gate__f =
105 var_chaste_interface__time_dependent_potassium_current_X_gate__X =
109 var_chaste_interface__intracellular_calcium_concentration__Cai =
114 NekDouble d_dt_chaste_interface__membrane__V;
115 const NekDouble var_fast_sodium_current__j =
116 var_chaste_interface__fast_sodium_current_j_gate__j;
117 const NekDouble var_fast_sodium_current__h =
118 var_chaste_interface__fast_sodium_current_h_gate__h;
119 const NekDouble var_fast_sodium_current__m =
120 var_chaste_interface__fast_sodium_current_m_gate__m;
121 const NekDouble var_fast_sodium_current__V =
122 var_chaste_interface__membrane__V;
123 const NekDouble var_slow_inward_current__d =
124 var_chaste_interface__slow_inward_current_d_gate__d;
125 const NekDouble var_slow_inward_current__f =
126 var_chaste_interface__slow_inward_current_f_gate__f;
127 const NekDouble var_slow_inward_current__V =
128 var_chaste_interface__membrane__V;
129 const NekDouble var_slow_inward_current__Cai =
130 var_chaste_interface__intracellular_calcium_concentration__Cai;
131 const NekDouble var_slow_inward_current__E_si =
133 (13.0287 *
log(var_slow_inward_current__Cai / 1.0));
134 const NekDouble var_slow_inward_current__i_si =
135 0.09 * var_slow_inward_current__d * var_slow_inward_current__f *
136 (var_slow_inward_current__V -
137 var_slow_inward_current__E_si);
138 const NekDouble var_time_dependent_potassium_current__V =
139 var_chaste_interface__membrane__V;
140 const NekDouble var_time_dependent_potassium_current__X =
141 var_chaste_interface__time_dependent_potassium_current_X_gate__X;
143 const NekDouble var_fast_sodium_current_m_gate__m = var_fast_sodium_current__m;
145 const NekDouble var_fast_sodium_current_m_gate__V =
146 var_fast_sodium_current__V;
147 const NekDouble var_fast_sodium_current_m_gate__alpha_m =
148 (0.32 * (var_fast_sodium_current_m_gate__V + 47.13)) /
149 (1.0 - exp((-0.1) * (var_fast_sodium_current_m_gate__V +
151 const NekDouble var_fast_sodium_current_m_gate__beta_m =
153 exp((-var_fast_sodium_current_m_gate__V) / 11.0);
155 const NekDouble var_fast_sodium_current_m_gate__d_m_d_environment__time = (var_fast_sodium_current_m_gate__alpha_m * (1.0 - var_fast_sodium_current_m_gate__m)) - (var_fast_sodium_current_m_gate__beta_m * var_fast_sodium_current_m_gate__m);
156 const NekDouble var_fast_sodium_current__fast_sodium_current_m_gate__d_m_d_environment__time = var_fast_sodium_current_m_gate__d_m_d_environment__time;
158 const NekDouble var_fast_sodium_current_h_gate__V =
159 var_fast_sodium_current__V;
160 const NekDouble var_fast_sodium_current_h_gate__beta_h =
161 (var_fast_sodium_current_h_gate__V < (-40.0))
162 ? ((3.56 * exp(0.079 * var_fast_sodium_current_h_gate__V)) +
163 (310000.0 * exp(0.35 * var_fast_sodium_current_h_gate__V)))
164 : (1.0 / (0.13 * (1.0 + exp((var_fast_sodium_current_h_gate__V +
167 const NekDouble var_fast_sodium_current_h_gate__alpha_h =
168 (var_fast_sodium_current_h_gate__V < (-40.0))
170 exp((80.0 + var_fast_sodium_current_h_gate__V) / (-6.8)))
173 const NekDouble var_fast_sodium_current_h_gate__h = var_fast_sodium_current__h;
174 const NekDouble var_fast_sodium_current_h_gate__d_h_d_environment__time = (var_fast_sodium_current_h_gate__alpha_h * (1.0 - var_fast_sodium_current_h_gate__h)) - (var_fast_sodium_current_h_gate__beta_h * var_fast_sodium_current_h_gate__h);
175 const NekDouble var_fast_sodium_current__fast_sodium_current_h_gate__d_h_d_environment__time = var_fast_sodium_current_h_gate__d_h_d_environment__time;
177 const NekDouble var_fast_sodium_current_j_gate__V =
178 var_fast_sodium_current__V;
179 const NekDouble var_fast_sodium_current_j_gate__alpha_j =
180 (var_fast_sodium_current_j_gate__V < (-40.0))
182 exp(0.2444 * var_fast_sodium_current_j_gate__V)) -
184 exp((-0.04391) * var_fast_sodium_current_j_gate__V))) *
185 (var_fast_sodium_current_j_gate__V + 37.78)) /
187 exp(0.311 * (var_fast_sodium_current_j_gate__V + 79.23))))
189 const NekDouble var_fast_sodium_current_j_gate__beta_j =
190 (var_fast_sodium_current_j_gate__V < (-40.0))
192 exp((-0.01052) * var_fast_sodium_current_j_gate__V)) /
193 (1.0 + exp((-0.1378) *
194 (var_fast_sodium_current_j_gate__V + 40.14))))
196 exp((-2.535e-07) * var_fast_sodium_current_j_gate__V)) /
197 (1.0 + exp((-0.1) * (var_fast_sodium_current_j_gate__V +
200 const NekDouble var_fast_sodium_current_j_gate__j = var_fast_sodium_current__j;
201 const NekDouble var_fast_sodium_current_j_gate__d_j_d_environment__time = (var_fast_sodium_current_j_gate__alpha_j * (1.0 - var_fast_sodium_current_j_gate__j)) - (var_fast_sodium_current_j_gate__beta_j * var_fast_sodium_current_j_gate__j);
202 const NekDouble var_fast_sodium_current__fast_sodium_current_j_gate__d_j_d_environment__time = var_fast_sodium_current_j_gate__d_j_d_environment__time;
204 const NekDouble var_slow_inward_current_d_gate__V =
205 var_slow_inward_current__V;
206 const NekDouble var_slow_inward_current_d_gate__alpha_d =
207 (0.095 * exp((-0.01) * (var_slow_inward_current_d_gate__V - 5.0))) /
208 (1.0 + exp((-0.072) * (var_slow_inward_current_d_gate__V -
211 const NekDouble var_slow_inward_current_d_gate__d = var_slow_inward_current__d;
213 const NekDouble var_slow_inward_current_d_gate__beta_d =
215 exp((-0.017) * (var_slow_inward_current_d_gate__V + 44.0))) /
216 (1.0 + exp(0.05 * (var_slow_inward_current_d_gate__V +
219 const NekDouble var_slow_inward_current_d_gate__d_d_d_environment__time = (var_slow_inward_current_d_gate__alpha_d * (1.0 - var_slow_inward_current_d_gate__d)) - (var_slow_inward_current_d_gate__beta_d * var_slow_inward_current_d_gate__d);
220 const NekDouble var_slow_inward_current__slow_inward_current_d_gate__d_d_d_environment__time = var_slow_inward_current_d_gate__d_d_d_environment__time;
221 const NekDouble var_slow_inward_current_f_gate__f = var_slow_inward_current__f;
223 const NekDouble var_slow_inward_current_f_gate__V =
224 var_slow_inward_current__V;
225 const NekDouble var_slow_inward_current_f_gate__alpha_f =
227 exp((-0.008) * (var_slow_inward_current_f_gate__V + 28.0))) /
228 (1.0 + exp(0.15 * (var_slow_inward_current_f_gate__V +
230 const NekDouble var_slow_inward_current_f_gate__beta_f =
232 exp((-0.02) * (var_slow_inward_current_f_gate__V + 30.0))) /
233 (1.0 + exp((-0.2) * (var_slow_inward_current_f_gate__V +
236 const NekDouble var_slow_inward_current_f_gate__d_f_d_environment__time = (var_slow_inward_current_f_gate__alpha_f * (1.0 - var_slow_inward_current_f_gate__f)) - (var_slow_inward_current_f_gate__beta_f * var_slow_inward_current_f_gate__f);
237 const NekDouble var_slow_inward_current__slow_inward_current_f_gate__d_f_d_environment__time = var_slow_inward_current_f_gate__d_f_d_environment__time;
238 const NekDouble var_time_dependent_potassium_current_X_gate__X = var_time_dependent_potassium_current__X;
240 const NekDouble var_time_dependent_potassium_current_X_gate__V =
241 var_time_dependent_potassium_current__V;
242 const NekDouble var_time_dependent_potassium_current_X_gate__beta_X =
245 (var_time_dependent_potassium_current_X_gate__V + 20.0))) /
247 exp((-0.04) * (var_time_dependent_potassium_current_X_gate__V +
249 const NekDouble var_time_dependent_potassium_current_X_gate__alpha_X =
252 (var_time_dependent_potassium_current_X_gate__V + 50.0))) /
253 (1.0 + exp(0.057 * (var_time_dependent_potassium_current_X_gate__V +
256 const NekDouble var_time_dependent_potassium_current_X_gate__d_X_d_environment__time = (var_time_dependent_potassium_current_X_gate__alpha_X * (1.0 - var_time_dependent_potassium_current_X_gate__X)) - (var_time_dependent_potassium_current_X_gate__beta_X * var_time_dependent_potassium_current_X_gate__X);
257 const NekDouble var_time_dependent_potassium_current__time_dependent_potassium_current_X_gate__d_X_d_environment__time = var_time_dependent_potassium_current_X_gate__d_X_d_environment__time;
259 const NekDouble var_intracellular_calcium_concentration__Cai =
260 var_chaste_interface__intracellular_calcium_concentration__Cai;
261 const NekDouble var_intracellular_calcium_concentration__i_si =
262 var_slow_inward_current__i_si;
264 var_intracellular_calcium_concentration__d_Cai_d_environment__time =
266 var_intracellular_calcium_concentration__i_si) +
269 var_intracellular_calcium_concentration__Cai));
274 const NekDouble var_chaste_interface__fast_sodium_current_m_gate__d_m_d_environment__time = var_fast_sodium_current__fast_sodium_current_m_gate__d_m_d_environment__time;
275 const NekDouble var_chaste_interface__fast_sodium_current_h_gate__d_h_d_environment__time = var_fast_sodium_current__fast_sodium_current_h_gate__d_h_d_environment__time;
276 const NekDouble var_chaste_interface__fast_sodium_current_j_gate__d_j_d_environment__time = var_fast_sodium_current__fast_sodium_current_j_gate__d_j_d_environment__time;
277 const NekDouble var_chaste_interface__slow_inward_current_d_gate__d_d_d_environment__time = var_slow_inward_current__slow_inward_current_d_gate__d_d_d_environment__time;
278 const NekDouble var_chaste_interface__slow_inward_current_f_gate__d_f_d_environment__time = var_slow_inward_current__slow_inward_current_f_gate__d_f_d_environment__time;
279 const NekDouble var_chaste_interface__time_dependent_potassium_current_X_gate__d_X_d_environment__time = var_time_dependent_potassium_current__time_dependent_potassium_current_X_gate__d_X_d_environment__time;
282 var_chaste_interface__intracellular_calcium_concentration__d_Cai_d_environment__time =
283 var_intracellular_calcium_concentration__d_Cai_d_environment__time;
285 const NekDouble d_dt_chaste_interface__fast_sodium_current_m_gate__m = var_chaste_interface__fast_sodium_current_m_gate__d_m_d_environment__time;
286 const NekDouble d_dt_chaste_interface__fast_sodium_current_h_gate__h = var_chaste_interface__fast_sodium_current_h_gate__d_h_d_environment__time;
287 const NekDouble d_dt_chaste_interface__fast_sodium_current_j_gate__j = var_chaste_interface__fast_sodium_current_j_gate__d_j_d_environment__time;
288 const NekDouble d_dt_chaste_interface__slow_inward_current_d_gate__d = var_chaste_interface__slow_inward_current_d_gate__d_d_d_environment__time;
289 const NekDouble d_dt_chaste_interface__slow_inward_current_f_gate__f = var_chaste_interface__slow_inward_current_f_gate__d_f_d_environment__time;
290 const NekDouble d_dt_chaste_interface__time_dependent_potassium_current_X_gate__X = var_chaste_interface__time_dependent_potassium_current_X_gate__d_X_d_environment__time;
293 d_dt_chaste_interface__intracellular_calcium_concentration__Cai =
294 var_chaste_interface__intracellular_calcium_concentration__d_Cai_d_environment__time;
296 const NekDouble var_membrane__R = 8314.0;
298 const NekDouble var_membrane__F = 96484.6;
300 const NekDouble var_chaste_interface__membrane__I_stim = 0.0;
302 var_chaste_interface__membrane__I_stim;
303 const NekDouble var_fast_sodium_current__g_Na = 23.0;
304 const NekDouble var_fast_sodium_current__R =
306 const NekDouble var_fast_sodium_current__F =
308 const NekDouble var_ionic_concentrations__Nao = 140.0;
309 const NekDouble var_fast_sodium_current__Nao =
310 var_ionic_concentrations__Nao;
311 const NekDouble var_ionic_concentrations__Nai = 18.0;
312 const NekDouble var_fast_sodium_current__Nai =
313 var_ionic_concentrations__Nai;
314 const NekDouble var_fast_sodium_current__T = var_membrane__T;
315 const NekDouble var_fast_sodium_current__E_Na =
316 ((var_fast_sodium_current__R * var_fast_sodium_current__T) /
317 var_fast_sodium_current__F) *
318 log(var_fast_sodium_current__Nao /
319 var_fast_sodium_current__Nai);
320 const NekDouble var_fast_sodium_current__i_Na =
321 var_fast_sodium_current__g_Na *
322 pow(var_fast_sodium_current__m, 3.0) * var_fast_sodium_current__h *
323 var_fast_sodium_current__j *
324 (var_fast_sodium_current__V -
325 var_fast_sodium_current__E_Na);
327 var_fast_sodium_current__i_Na;
329 var_slow_inward_current__i_si;
330 const NekDouble var_time_dependent_potassium_current_Xi_gate__V =
331 var_time_dependent_potassium_current__V;
332 const NekDouble var_time_dependent_potassium_current_Xi_gate__Xi =
333 (var_time_dependent_potassium_current_Xi_gate__V > (-100.0))
336 (var_time_dependent_potassium_current_Xi_gate__V +
339 ((var_time_dependent_potassium_current_Xi_gate__V + 77.0) *
341 (var_time_dependent_potassium_current_Xi_gate__V +
344 const NekDouble var_time_dependent_potassium_current__Xi =
345 var_time_dependent_potassium_current_Xi_gate__Xi;
346 const NekDouble var_ionic_concentrations__Ko = 5.4;
347 const NekDouble var_time_dependent_potassium_current__Ko =
348 var_ionic_concentrations__Ko;
349 const NekDouble var_time_dependent_potassium_current__g_K =
350 0.282 *
sqrt(var_time_dependent_potassium_current__Ko /
352 const NekDouble var_time_dependent_potassium_current__PR_NaK =
354 const NekDouble var_time_dependent_potassium_current__F =
356 const NekDouble var_time_dependent_potassium_current__Nao =
357 var_ionic_concentrations__Nao;
358 const NekDouble var_ionic_concentrations__Ki = 145.0;
359 const NekDouble var_time_dependent_potassium_current__Ki =
360 var_ionic_concentrations__Ki;
361 const NekDouble var_time_dependent_potassium_current__Nai =
362 var_ionic_concentrations__Nai;
363 const NekDouble var_time_dependent_potassium_current__T =
365 const NekDouble var_time_dependent_potassium_current__R =
367 const NekDouble var_time_dependent_potassium_current__E_K =
368 ((var_time_dependent_potassium_current__R *
369 var_time_dependent_potassium_current__T) /
370 var_time_dependent_potassium_current__F) *
371 log((var_time_dependent_potassium_current__Ko +
372 (var_time_dependent_potassium_current__PR_NaK *
373 var_time_dependent_potassium_current__Nao)) /
374 (var_time_dependent_potassium_current__Ki +
375 (var_time_dependent_potassium_current__PR_NaK *
376 var_time_dependent_potassium_current__Nai)));
377 const NekDouble var_time_dependent_potassium_current__i_K =
378 var_time_dependent_potassium_current__g_K *
379 var_time_dependent_potassium_current__X *
380 var_time_dependent_potassium_current__Xi *
381 (var_time_dependent_potassium_current__V -
382 var_time_dependent_potassium_current__E_K);
384 var_time_dependent_potassium_current__i_K;
385 const NekDouble var_time_independent_potassium_current__V =
386 var_chaste_interface__membrane__V;
387 const NekDouble var_time_independent_potassium_current_K1_gate__V =
388 var_time_independent_potassium_current__V;
389 const NekDouble var_time_independent_potassium_current__Ki =
390 var_ionic_concentrations__Ki;
391 const NekDouble var_time_independent_potassium_current__R =
393 const NekDouble var_time_independent_potassium_current__F =
395 const NekDouble var_time_independent_potassium_current__Ko =
396 var_ionic_concentrations__Ko;
397 const NekDouble var_time_independent_potassium_current__T =
399 const NekDouble var_time_independent_potassium_current__E_K1 =
400 ((var_time_independent_potassium_current__R *
401 var_time_independent_potassium_current__T) /
402 var_time_independent_potassium_current__F) *
403 log(var_time_independent_potassium_current__Ko /
404 var_time_independent_potassium_current__Ki);
405 const NekDouble var_time_independent_potassium_current_K1_gate__E_K1 =
406 var_time_independent_potassium_current__E_K1;
408 var_time_independent_potassium_current_K1_gate__beta_K1 =
411 ((var_time_independent_potassium_current_K1_gate__V +
413 var_time_independent_potassium_current_K1_gate__E_K1))) +
416 (var_time_independent_potassium_current_K1_gate__V -
417 (var_time_independent_potassium_current_K1_gate__E_K1 +
421 ((var_time_independent_potassium_current_K1_gate__V -
422 var_time_independent_potassium_current_K1_gate__E_K1) +
425 var_time_independent_potassium_current_K1_gate__alpha_K1 =
429 ((var_time_independent_potassium_current_K1_gate__V -
430 var_time_independent_potassium_current_K1_gate__E_K1) -
433 var_time_independent_potassium_current_K1_gate__K1_infinity =
434 var_time_independent_potassium_current_K1_gate__alpha_K1 /
435 (var_time_independent_potassium_current_K1_gate__alpha_K1 +
436 var_time_independent_potassium_current_K1_gate__beta_K1);
437 const NekDouble var_time_independent_potassium_current__K1_infinity =
438 var_time_independent_potassium_current_K1_gate__K1_infinity;
439 const NekDouble var_time_independent_potassium_current__g_K1 =
440 0.6047 *
sqrt(var_time_independent_potassium_current__Ko /
442 const NekDouble var_time_independent_potassium_current__i_K1 =
443 var_time_independent_potassium_current__g_K1 *
444 var_time_independent_potassium_current__K1_infinity *
445 (var_time_independent_potassium_current__V -
446 var_time_independent_potassium_current__E_K1);
448 var_time_independent_potassium_current__i_K1;
449 const NekDouble var_plateau_potassium_current__g_Kp =
451 const NekDouble var_plateau_potassium_current__V =
452 var_chaste_interface__membrane__V;
453 const NekDouble var_plateau_potassium_current__Kp =
454 1.0 / (1.0 + exp((7.488 - var_plateau_potassium_current__V) /
456 const NekDouble var_plateau_potassium_current__E_K1 =
457 var_time_independent_potassium_current__E_K1;
458 const NekDouble var_plateau_potassium_current__E_Kp =
459 var_plateau_potassium_current__E_K1;
460 const NekDouble var_plateau_potassium_current__i_Kp =
461 var_plateau_potassium_current__g_Kp *
462 var_plateau_potassium_current__Kp *
463 (var_plateau_potassium_current__V -
464 var_plateau_potassium_current__E_Kp);
466 var_plateau_potassium_current__i_Kp;
467 const NekDouble var_background_current__E_b = -59.87;
468 const NekDouble var_background_current__g_b = 0.03921;
469 const NekDouble var_background_current__V =
470 var_chaste_interface__membrane__V;
471 const NekDouble var_background_current__i_b =
472 var_background_current__g_b *
473 (var_background_current__V -
474 var_background_current__E_b);
476 var_background_current__i_b;
477 const NekDouble var_membrane__d_V_d_environment__time =
478 ((-1.0) / var_membrane__C) *
479 (var_membrane__I_stim + var_membrane__i_Na + var_membrane__i_si +
480 var_membrane__i_K + var_membrane__i_K1 + var_membrane__i_Kp +
483 var_chaste_interface__membrane__d_V_d_environment__time =
484 var_membrane__d_V_d_environment__time;
485 d_dt_chaste_interface__membrane__V =
486 var_chaste_interface__membrane__d_V_d_environment__time;
489 const NekDouble m_inf = var_fast_sodium_current_m_gate__alpha_m /
490 (var_fast_sodium_current_m_gate__alpha_m +
491 var_fast_sodium_current_m_gate__beta_m);
492 const NekDouble m_tau = 1.0 / (var_fast_sodium_current_m_gate__alpha_m +
493 var_fast_sodium_current_m_gate__beta_m);
494 const NekDouble h_inf = var_fast_sodium_current_h_gate__alpha_h /
495 (var_fast_sodium_current_h_gate__alpha_h +
496 var_fast_sodium_current_h_gate__beta_h);
497 const NekDouble h_tau = 1.0 / (var_fast_sodium_current_h_gate__alpha_h +
498 var_fast_sodium_current_h_gate__beta_h);
499 const NekDouble j_inf = var_fast_sodium_current_j_gate__alpha_j /
500 (var_fast_sodium_current_j_gate__alpha_j +
501 var_fast_sodium_current_j_gate__beta_j);
502 const NekDouble j_tau = 1.0 / (var_fast_sodium_current_j_gate__alpha_j +
503 var_fast_sodium_current_j_gate__beta_j);
504 const NekDouble d_inf = var_slow_inward_current_d_gate__alpha_d /
505 (var_slow_inward_current_d_gate__alpha_d +
506 var_slow_inward_current_d_gate__beta_d);
507 const NekDouble d_tau = 1.0 / (var_slow_inward_current_d_gate__alpha_d +
508 var_slow_inward_current_d_gate__beta_d);
509 const NekDouble f_inf = var_slow_inward_current_f_gate__alpha_f /
510 (var_slow_inward_current_f_gate__alpha_f +
511 var_slow_inward_current_f_gate__beta_f);
512 const NekDouble f_tau = 1.0 / (var_slow_inward_current_f_gate__alpha_f +
513 var_slow_inward_current_f_gate__beta_f);
515 var_time_dependent_potassium_current_X_gate__alpha_X /
516 (var_time_dependent_potassium_current_X_gate__alpha_X +
517 var_time_dependent_potassium_current_X_gate__beta_X);
519 1.0 / (var_time_dependent_potassium_current_X_gate__alpha_X +
520 var_time_dependent_potassium_current_X_gate__beta_X);
522 outarray[0][i] = d_dt_chaste_interface__membrane__V;
523 outarray[1][i] = m_inf;
525 outarray[2][i] = h_inf;
527 outarray[3][i] = j_inf;
529 outarray[4][i] = d_inf;
531 outarray[5][i] = f_inf;
533 outarray[6][i] = X_inf;
536 d_dt_chaste_interface__intracellular_calcium_concentration__Cai;
Array< OneD, Array< OneD, NekDouble > > m_cellSol
Cell model solution variables.
std::vector< int > m_concentrations
Indices of cell model variables which are concentrations.
std::vector< int > m_gates
Indices of cell model variables which are gates.
size_t m_nq
Number of physical points.
size_t m_nvar
Number of variables in cell model (inc. transmembrane voltage)
Array< OneD, Array< OneD, NekDouble > > m_gates_tau
Storage for gate tau values.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
static CellModelSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
Creates an instance of this class.
virtual void v_SetInitialConditions() override
Set initial conditions for the cell model.
LuoRudy91(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
Constructor.
virtual void v_GenerateSummary(SummaryList &s) override
Prints a summary of the model parameters.
static std::string className
Name of class.
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)$.
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
void AddSummaryItem(SummaryList &l, const std::string &name, const std::string &value)
Adds a summary item to the summary info list.
The above copyright notice and this permission notice shall be included.
CellModelFactory & GetCellModelFactory()
void Fill(int n, const T alpha, T *x, const int incx)
Fill a vector with a constant value.
scalarT< T > log(scalarT< T > in)
scalarT< T > sqrt(scalarT< T > in)