openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
stretch.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // openCARP is an open cardiac electrophysiology simulator.
3 //
4 // Copyright (C) 2020 openCARP project
5 //
6 // This program is licensed under the openCARP Academic Public License (APL)
7 // v1.0: You can use and redistribute it and/or modify it in non-commercial
8 // academic environments under the terms of APL as published by the openCARP
9 // project v1.0, or (at your option) any later version. Commercial use requires
10 // a commercial license (info@opencarp.org).
11 //
12 // This program is distributed without any warranty; see the openCARP APL for
13 // more details.
14 //
15 // You should have received a copy of the openCARP APL along with this program
16 // and can find it online: http://www.opencarp.org/license
17 // ----------------------------------------------------------------------------
18 
19 #ifndef STRETCH_H
20 #define STRETCH_H
21 
22 #include "MULTI_ION_IF.h"
23 
24 namespace limpet {
25 
26 // define passive and active strain protocols
28 
29 struct pulseStretch {
30  s_prtcl prtcl;
31  float sr; //< stretch ratio
32  float onset;
33  float duration;
34  float rise;
35  float fall;
36 };
37 
38 struct isoStretch {
39  s_prtcl prtcl;
40 };
41 
43  s_prtcl prtcl;
44 } ;
45 
47  s_prtcl prtcl;
48 };
49 
50 typedef union _stretch {
51  s_prtcl prtcl;
56 } stretch;
57 
58 
59 void initializePulseStretch(float strain, float onset, float duration,
60  float rise, float fall, stretch *s);
62 
63 } // namespace limpet
64 
65 #endif
enum limpet::_stretch_protocol s_prtcl
auxotonicStretch auxo
Definition: stretch.h:55
isoStretch iso
Definition: stretch.h:53
pulseStretch pulse
Definition: stretch.h:52
s_prtcl prtcl
Definition: stretch.h:51
void apply_stretch(MULTI_IF *miif, stretch *s, timer_manager *tm)
Definition: stretch.cc:55
isoSarcoStretch isoSarco
Definition: stretch.h:54
Define multiple ionic models to be used in different regions.
void initializePulseStretch(float strain, float onset, float duration, float rise, float fall, stretch *s)
Definition: stretch.cc:38
union limpet::_stretch stretch
s_prtcl prtcl
Definition: stretch.h:39
_stretch_protocol
Definition: stretch.h:27
centralize time managment and output triggering
Definition: timer_utils.h:73