openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
physics
limpet
src
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
27
typedef
enum
_stretch_protocol
{
STRAIN_PULSE
,
ISOMETRIC
,
ISOSARCOMETRIC
,
AUXOTONIC
}
s_prtcl
;
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
42
struct
isoSarcoStretch
{
43
s_prtcl
prtcl
;
44
} ;
45
46
struct
auxotonicStretch
{
47
s_prtcl
prtcl
;
48
};
49
50
typedef
union
_stretch
{
51
s_prtcl
prtcl
;
52
pulseStretch
pulse
;
53
isoStretch
iso
;
54
isoSarcoStretch
isoSarco
;
55
auxotonicStretch
auxo
;
56
}
stretch
;
57
58
59
void
initializePulseStretch
(
float
strain,
float
onset
,
float
duration
,
60
float
rise
,
float
fall
,
stretch
*s);
61
void
apply_stretch
(
MULTI_IF
*miif,
stretch
*s,
opencarp::timer_manager
*tm);
62
63
}
// namespace limpet
64
65
#endif
limpet::s_prtcl
enum limpet::_stretch_protocol s_prtcl
limpet::auxotonicStretch
Definition:
stretch.h:46
limpet
Definition:
ap_analyzer.cc:41
limpet::_stretch::auxo
auxotonicStretch auxo
Definition:
stretch.h:55
limpet::pulseStretch::onset
float onset
Definition:
stretch.h:32
limpet::_stretch::iso
isoStretch iso
Definition:
stretch.h:53
limpet::MULTI_IF
Definition:
MULTI_ION_IF.h:195
limpet::_stretch::pulse
pulseStretch pulse
Definition:
stretch.h:52
limpet::pulseStretch::prtcl
s_prtcl prtcl
Definition:
stretch.h:30
limpet::pulseStretch::rise
float rise
Definition:
stretch.h:34
limpet::STRAIN_PULSE
Definition:
stretch.h:27
limpet::pulseStretch::sr
float sr
Definition:
stretch.h:31
limpet::_stretch::prtcl
s_prtcl prtcl
Definition:
stretch.h:51
limpet::AUXOTONIC
Definition:
stretch.h:27
limpet::ISOMETRIC
Definition:
stretch.h:27
limpet::apply_stretch
void apply_stretch(MULTI_IF *miif, stretch *s, timer_manager *tm)
Definition:
stretch.cc:55
limpet::_stretch::isoSarco
isoSarcoStretch isoSarco
Definition:
stretch.h:54
limpet::pulseStretch::fall
float fall
Definition:
stretch.h:35
MULTI_ION_IF.h
Define multiple ionic models to be used in different regions.
limpet::isoStretch
Definition:
stretch.h:38
limpet::initializePulseStretch
void initializePulseStretch(float strain, float onset, float duration, float rise, float fall, stretch *s)
Definition:
stretch.cc:38
limpet::auxotonicStretch::prtcl
s_prtcl prtcl
Definition:
stretch.h:47
limpet::stretch
union limpet::_stretch stretch
limpet::isoSarcoStretch::prtcl
s_prtcl prtcl
Definition:
stretch.h:43
limpet::pulseStretch::duration
float duration
Definition:
stretch.h:33
limpet::isoSarcoStretch
Definition:
stretch.h:42
limpet::pulseStretch
Definition:
stretch.h:29
limpet::isoStretch::prtcl
s_prtcl prtcl
Definition:
stretch.h:39
limpet::ISOSARCOMETRIC
Definition:
stretch.h:27
limpet::_stretch
Definition:
stretch.h:50
limpet::_stretch_protocol
_stretch_protocol
Definition:
stretch.h:27
opencarp::timer_manager
centralize time managment and output triggering
Definition:
timer_utils.h:73
Generated by
1.8.13