Skip to content

Commit 8984b66

Browse files
authored
Merge pull request #19 from Olusanmi-A/main
Creating humanc files
2 parents d3891e2 + 11f2407 commit 8984b66

9 files changed

Lines changed: 7727 additions & 0 deletions

File tree

humanc/auto1.graphml

Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd" xmlns:y="http://www.yworks.com/xml/graphml">
3+
<key for="node" id="d6" yfiles.type="nodegraphics"/>
4+
<key for="edge" id="d10" yfiles.type="edgegraphics"/>
5+
<graph edgedefault="directed" id="1662143445946" projectName="autonomous">
6+
<node id="550865d1-28a3-40a9-9e25-d3b68ad277d6">
7+
<data key="d6">
8+
<y:ShapeNode>
9+
<y:Geometry height="50" width="148" x="245" y="85"/>
10+
<y:Fill color="#ffcc00" opacity="1"/>
11+
<y:BorderStyle color="#000" width="1"/>
12+
<y:NodeLabel>PZ:cardiac_pm.py</y:NodeLabel>
13+
<y:Shape type="rectangle"/>
14+
</y:ShapeNode>
15+
</data>
16+
</node>
17+
<node id="36b9f1df-7c84-4f07-8fce-c4a6f6462931">
18+
<data key="d6">
19+
<y:ShapeNode>
20+
<y:Geometry height="50" width="193" x="252" y="264"/>
21+
<y:Fill color="#ffcc00" opacity="1"/>
22+
<y:BorderStyle color="#000" width="1"/>
23+
<y:NodeLabel>CZ:dummy_controller.py</y:NodeLabel>
24+
<y:Shape type="rectangle"/>
25+
</y:ShapeNode>
26+
</data>
27+
</node>
28+
<node id="4b860aae-05c9-4eb5-bc48-f8000ccb42a8">
29+
<data key="d6">
30+
<y:ShapeNode>
31+
<y:Geometry height="50" width="114" x="507" y="160"/>
32+
<y:Fill color="#ffcc00" opacity="1"/>
33+
<y:BorderStyle color="#000" width="1"/>
34+
<y:NodeLabel>XZ:plotym.py</y:NodeLabel>
35+
<y:Shape type="rectangle"/>
36+
</y:ShapeNode>
37+
</data>
38+
</node>
39+
<edge id="0" source="550865d1-28a3-40a9-9e25-d3b68ad277d6" target="4b860aae-05c9-4eb5-bc48-f8000ccb42a8">
40+
<data key="d10">
41+
<y:GenericEdge configuration="com.yworks.bpmn.Connection">
42+
<y:LineStyle color="#7c4dff" width="1" type="solid"/>
43+
<y:Arrows source="none" target="delta"/>
44+
<y:EdgeLabel>PYM</y:EdgeLabel>
45+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
46+
<y:Point x="413" y="133.09160305343514"/>
47+
</y:Path>
48+
</y:GenericEdge>
49+
</data>
50+
</edge>
51+
<edge id="1" source="36b9f1df-7c84-4f07-8fce-c4a6f6462931" target="550865d1-28a3-40a9-9e25-d3b68ad277d6">
52+
<data key="d10">
53+
<y:GenericEdge configuration="com.yworks.bpmn.Connection">
54+
<y:LineStyle color="#f44336" width="1" type="solid"/>
55+
<y:Arrows source="none" target="delta"/>
56+
<y:EdgeLabel>CU</y:EdgeLabel>
57+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
58+
<y:Point x="248.0111731843575" y="162"/>
59+
</y:Path>
60+
</y:GenericEdge>
61+
</data>
62+
</edge>
63+
<edge id="2" source="4b860aae-05c9-4eb5-bc48-f8000ccb42a8" target="36b9f1df-7c84-4f07-8fce-c4a6f6462931">
64+
<data key="d10">
65+
<y:GenericEdge configuration="com.yworks.bpmn.Connection">
66+
<y:LineStyle color="#1565c0" width="1" type="solid"/>
67+
<y:Arrows source="none" target="delta"/>
68+
<y:EdgeLabel>XYM</y:EdgeLabel>
69+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
70+
<y:Point x="351" y="223.62352941176476"/>
71+
</y:Path>
72+
</y:GenericEdge>
73+
</data>
74+
</edge>
75+
<actionHistory>
76+
<tid>1644943336906</tid>
77+
<authorName>sanmi</authorName>
78+
<inverse>
79+
<actionName>DEL_NODE</actionName>
80+
<parameters>WyI1NTA4NjVkMS0yOGEzLTQwYTktOWUyNS1kM2I2OGFkMjc3ZDYiXQ==</parameters>
81+
</inverse>
82+
<equivalent>
83+
<actionName>ADD_NODE</actionName>
84+
<parameters>WyJQWjpjYXJkaWFjX3BtLnB5Iix7IndpZHRoIjoxNDgsImhlaWdodCI6NTAsInNoYXBlIjoicmVjdGFuZ2xlIiwib3BhY2l0eSI6MSwiYmFja2dyb3VuZENvbG9yIjoiI2ZmY2MwMCIsImJvcmRlckNvbG9yIjoiIzAwMCIsImJvcmRlcldpZHRoIjoxfSwib3JkaW4iLHsieCI6MjQ1LCJ5Ijo4NX0se30sIjU1MDg2NWQxLTI4YTMtNDBhOS05ZTI1LWQzYjY4YWQyNzdkNiJd</parameters>
85+
</equivalent>
86+
</actionHistory>
87+
<actionHistory>
88+
<tid>1644943355554</tid>
89+
<authorName>sanmi</authorName>
90+
<inverse>
91+
<actionName>DEL_NODE</actionName>
92+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiXQ==</parameters>
93+
</inverse>
94+
<equivalent>
95+
<actionName>ADD_NODE</actionName>
96+
<parameters>WyJDWjpkdW1teV9jb250cm9sbGVyLnB5Iix7IndpZHRoIjoxOTMsImhlaWdodCI6NTAsInNoYXBlIjoicmVjdGFuZ2xlIiwib3BhY2l0eSI6MSwiYmFja2dyb3VuZENvbG9yIjoiI2ZmY2MwMCIsImJvcmRlckNvbG9yIjoiIzAwMCIsImJvcmRlcldpZHRoIjoxfSwib3JkaW4iLHsieCI6MjUyLCJ5IjoyNjR9LHt9LCIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiXQ==</parameters>
97+
</equivalent>
98+
</actionHistory>
99+
<actionHistory>
100+
<tid>1644943358106</tid>
101+
<authorName>sanmi</authorName>
102+
<inverse>
103+
<actionName>SET_POS</actionName>
104+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsieCI6MTEwLCJ5IjoxMTB9LHsieCI6MTM0LCJ5IjoyNjZ9XQ==</parameters>
105+
</inverse>
106+
<equivalent>
107+
<actionName>SET_POS</actionName>
108+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsieCI6MTM0LCJ5IjoyNjZ9LHsieCI6MTEwLCJ5IjoxMTB9XQ==</parameters>
109+
</equivalent>
110+
</actionHistory>
111+
<actionHistory>
112+
<tid>1644943359494</tid>
113+
<authorName>sanmi</authorName>
114+
<inverse>
115+
<actionName>SET_POS</actionName>
116+
<parameters>WyI1NTA4NjVkMS0yOGEzLTQwYTktOWUyNS1kM2I2OGFkMjc3ZDYiLHsieCI6MTAwLCJ5IjoxMDB9LHsieCI6MjQ1LCJ5Ijo4NX1d</parameters>
117+
</inverse>
118+
<equivalent>
119+
<actionName>SET_POS</actionName>
120+
<parameters>WyI1NTA4NjVkMS0yOGEzLTQwYTktOWUyNS1kM2I2OGFkMjc3ZDYiLHsieCI6MjQ1LCJ5Ijo4NX0seyJ4IjoxMDAsInkiOjEwMH1d</parameters>
121+
</equivalent>
122+
</actionHistory>
123+
<actionHistory>
124+
<tid>1644943362210</tid>
125+
<authorName>sanmi</authorName>
126+
<inverse>
127+
<actionName>SET_POS</actionName>
128+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsieCI6MTM0LCJ5IjoyNjZ9LHsieCI6MjUyLCJ5IjoyNjR9XQ==</parameters>
129+
</inverse>
130+
<equivalent>
131+
<actionName>SET_POS</actionName>
132+
<parameters>WyIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLHsieCI6MjUyLCJ5IjoyNjR9LHsieCI6MTM0LCJ5IjoyNjZ9XQ==</parameters>
133+
</equivalent>
134+
</actionHistory>
135+
<actionHistory>
136+
<tid>1644943375398</tid>
137+
<authorName>sanmi</authorName>
138+
<inverse>
139+
<actionName>DEL_NODE</actionName>
140+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiXQ==</parameters>
141+
</inverse>
142+
<equivalent>
143+
<actionName>ADD_NODE</actionName>
144+
<parameters>WyJYWjpwbG90eW0iLHsid2lkdGgiOjEwMCwiaGVpZ2h0Ijo1MCwic2hhcGUiOiJyZWN0YW5nbGUiLCJvcGFjaXR5IjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJvcmRpbiIseyJ4Ijo1MDcsInkiOjE2MH0se30sIjRiODYwYWFlLTA1YzktNGViNS1iYzQ4LWY4MDAwY2NiNDJhOCJd</parameters>
145+
</equivalent>
146+
</actionHistory>
147+
<actionHistory>
148+
<tid>1644943378630</tid>
149+
<authorName>sanmi</authorName>
150+
<inverse>
151+
<actionName>SET_POS</actionName>
152+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLHsieCI6MTAwLCJ5IjoxMDB9LHsieCI6NTA3LCJ5IjoxNjB9XQ==</parameters>
153+
</inverse>
154+
<equivalent>
155+
<actionName>SET_POS</actionName>
156+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLHsieCI6NTA3LCJ5IjoxNjB9LHsieCI6MTAwLCJ5IjoxMDB9XQ==</parameters>
157+
</equivalent>
158+
</actionHistory>
159+
<actionHistory>
160+
<tid>1644943386853</tid>
161+
<authorName>sanmi</authorName>
162+
<inverse>
163+
<actionName>DEL_EDGE</actionName>
164+
<parameters>WyI0NzcwODQwZi04OGEwLTQ3NTItOWMxOS0yZTdmODlmOGZhNzkiXQ==</parameters>
165+
</inverse>
166+
<equivalent>
167+
<actionName>ADD_EDGE</actionName>
168+
<parameters>W3sic291cmNlSUQiOiI1NTA4NjVkMS0yOGEzLTQwYTktOWUyNS1kM2I2OGFkMjc3ZDYiLCJ0YXJnZXRJRCI6IjRiODYwYWFlLTA1YzktNGViNS1iYzQ4LWY4MDAwY2NiNDJhOCIsImxhYmVsIjoiUFlNIiwic3R5bGUiOnsidGhpY2tuZXNzIjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjN2M0ZGZmIiwic2hhcGUiOiJzb2xpZCJ9LCJpZCI6IjQ3NzA4NDBmLTg4YTAtNDc1Mi05YzE5LTJlN2Y4OWY4ZmE3OSJ9XQ==</parameters>
169+
</equivalent>
170+
</actionHistory>
171+
<actionHistory>
172+
<tid>1644943394719</tid>
173+
<authorName>sanmi</authorName>
174+
<inverse>
175+
<actionName>DEL_EDGE</actionName>
176+
<parameters>WyI3ZjJiMWM0Yy04ZjJmLTQyZjQtYjU1Yy0xY2RlNzdiMWU4NTIiXQ==</parameters>
177+
</inverse>
178+
<equivalent>
179+
<actionName>ADD_EDGE</actionName>
180+
<parameters>W3sic291cmNlSUQiOiIzNmI5ZjFkZi03Yzg0LTRmMDctOGZjZS1jNGE2ZjY0NjI5MzEiLCJ0YXJnZXRJRCI6IjU1MDg2NWQxLTI4YTMtNDBhOS05ZTI1LWQzYjY4YWQyNzdkNiIsImxhYmVsIjoiQ1UiLCJzdHlsZSI6eyJ0aGlja25lc3MiOjEsImJhY2tncm91bmRDb2xvciI6IiNmNDQzMzYiLCJzaGFwZSI6InNvbGlkIn0sImlkIjoiN2YyYjFjNGMtOGYyZi00MmY0LWI1NWMtMWNkZTc3YjFlODUyIn1d</parameters>
181+
</equivalent>
182+
</actionHistory>
183+
<actionHistory>
184+
<tid>1644943403841</tid>
185+
<authorName>sanmi</authorName>
186+
<inverse>
187+
<actionName>DEL_EDGE</actionName>
188+
<parameters>WyIyZDdlZjk4ZS04Y2E5LTRhZjMtYWQxOS1hYzM0MTQ2ZmZlYmYiXQ==</parameters>
189+
</inverse>
190+
<equivalent>
191+
<actionName>ADD_EDGE</actionName>
192+
<parameters>W3sic291cmNlSUQiOiI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLCJ0YXJnZXRJRCI6IjM2YjlmMWRmLTdjODQtNGYwNy04ZmNlLWM0YTZmNjQ2MjkzMSIsImxhYmVsIjoiWFlNIiwic3R5bGUiOnsidGhpY2tuZXNzIjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjMTU2NWMwIiwic2hhcGUiOiJzb2xpZCJ9LCJpZCI6IjJkN2VmOThlLThjYTktNGFmMy1hZDE5LWFjMzQxNDZmZmViZiJ9XQ==</parameters>
193+
</equivalent>
194+
</actionHistory>
195+
<actionHistory>
196+
<tid>1644943683422</tid>
197+
<authorName>sanmi</authorName>
198+
<inverse>
199+
<actionName>UPDATE_NODE</actionName>
200+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLHsid2lkdGgiOjEwMCwiaGVpZ2h0Ijo1MCwic2hhcGUiOiJyZWN0YW5nbGUiLCJvcGFjaXR5IjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJYWjpwbG90eW0iLHRydWVd</parameters>
201+
</inverse>
202+
<equivalent>
203+
<actionName>UPDATE_NODE</actionName>
204+
<parameters>WyI0Yjg2MGFhZS0wNWM5LTRlYjUtYmM0OC1mODAwMGNjYjQyYTgiLHsid2lkdGgiOjExNCwiaGVpZ2h0Ijo1MCwic2hhcGUiOiJyZWN0YW5nbGUiLCJvcGFjaXR5IjoxLCJiYWNrZ3JvdW5kQ29sb3IiOiIjZmZjYzAwIiwiYm9yZGVyQ29sb3IiOiIjMDAwIiwiYm9yZGVyV2lkdGgiOjF9LCJYWjpwbG90eW0ucHkiLHRydWVd</parameters>
205+
</equivalent>
206+
</actionHistory>
207+
</graph>
208+
</graphml>

humanc/bangbang.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import numpy as np
2+
import concore
3+
4+
5+
def bangbang_controller(ym):
6+
amp = 0
7+
if ym[0]>70:
8+
amp = 3
9+
elif ym[0]<65:
10+
amp = 1
11+
12+
13+
ustar = np.array([amp,30])
14+
return ustar
15+
16+
17+
concore.default_maxtime(150)
18+
concore.delay = 0.02
19+
init_simtime_u = "[0.0, 0.0,0.0]"
20+
init_simtime_ym = "[0.0, 70.0,91]"
21+
u = np.array([concore.initval(init_simtime_u)]).T
22+
while(concore.simtime<concore.maxtime):
23+
while concore.unchanged():
24+
ym = concore.read(1,"ym",init_simtime_ym)
25+
ym = np.array(ym)
26+
27+
ustar = bangbang_controller(ym)
28+
29+
print(str(concore.simtime) + " u="+str(ustar) + "ym="+str(ym))
30+
concore.write(1,"u",list(ustar),delta=0)
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
2+
"""
3+
Created on Thu Sep 30 05:21:27 2021
4+
5+
@author: Sanmi
6+
"""
7+
import numpy as np
8+
9+
10+
11+
12+
#cardiosystem
13+
14+
Csa = 0.28
15+
Csp = 2.05
16+
Cep = 1.36
17+
Cmp = 0.31
18+
Csv = 43.11
19+
Cev = 28.4
20+
Cmv = 6.6
21+
Ctv = 33
22+
Cpa = 0.67
23+
Cpp = 5.80
24+
Cpv = 25.37
25+
26+
27+
28+
Vusa = 0
29+
Vusp = 274.4
30+
Vuep = 274.1
31+
Vusv = 986.48
32+
Vuev = 484
33+
Vupa = 0
34+
Vupp = 123
35+
Vupv = 120
36+
Vumv = 93.1
37+
Vump = 62.5
38+
Vutv = 0
39+
40+
41+
Rsa = 0.06
42+
Rsp = 3.307
43+
Rep = 1.725
44+
Rmp = 4.13
45+
Rsv = 0.038
46+
Rev = 0.0197
47+
Rmv = 0.0848
48+
Rtv = 0.0054
49+
Rpa = 0.023
50+
Rpp = 0.0894
51+
Rpv = 0.0056
52+
53+
54+
55+
Rd = 10000
56+
57+
58+
P0 = 3.9
59+
60+
#left heart
61+
Cla = 19.23
62+
Vula = 25
63+
Rla = 0.003
64+
Polv = 1.5
65+
Kelv = 0.014
66+
Vulv = 16.77
67+
68+
KRlv = 0.0004
69+
70+
#right heart
71+
Cra = 31.25
72+
Vura = 25
73+
Rra = 0.0025
74+
Porv = 1.5
75+
Kerv = 0.011
76+
Vurv = 40.8
77+
KRrv = 0.0014
78+
79+
80+
ksys = 0.075
81+
Tsys0 = 0.4
82+
Vt = 5000
83+
84+
85+
Lsa = 0.00022
86+
Lpa = 0.00018
87+
88+
#baroreceptor
89+
fbrmin = 2.52
90+
tauz = 6.37
91+
fbrmax = 47.78
92+
taup = 2.067
93+
Pn = 92
94+
ka = 11.758
95+
96+
Tresp = 4
97+
98+
#cpr receptor
99+
fmaxl = 20
100+
Ptn = 10.8
101+
kl = 11.758
102+
taucp = 2
103+
104+
#lung stretch receptor
105+
taulung = 2
106+
Gal = 12
107+
vlung0 = 0.583
108+
109+
#parasympathetic branch # br, cpr, lr
110+
111+
fmin = np.array([0.3, 0.451, 2.75])
112+
midpt = np.array([44.3, 10.2, 10])
113+
fmax = np.array([21.5, 28.357, 31.57 ])
114+
k = np.array([2.14,1.636, 7.516])
115+
116+
117+
kreceptor = np.array([[1,1,1],[0,1,1]])
118+
119+
120+
121+
#NA, DMV, NActr
122+
123+
foutmin = np.array([4.88, 2.59, 0.61])
124+
foutmidpt = np.array([60, 43.1, 9.8])
125+
foutmax = np.array([15.78,6.66, 11])
126+
foutk = np.array([2.55, 1.24, 1.2])
127+
128+
#T, Emaxlv, Emaxrv effectors
129+
tauv = np.array([1.5,2,2])
130+
Gv = np.array([0.09, 0.205, 0.347])
131+
dv = 0.2
132+
133+
#sympathetic branch
134+
G = np.array([[1, 2, -1.1541],[1, 2.5, 0.33],[1,0,0]]) # br, cpr,lr,
135+
136+
fesinf = 2.1
137+
fes0 = 16.11
138+
fesmin = 2.66
139+
kes = 0.0675
140+
141+
theta0 = np.array([0.58, 1.283, 0.757, 2.49, 0.96, 4.13, 1435.4, 1247, 290])
142+
143+
Gs = np.array([-0.13, -0.13, -0.22, 0.695, 0.653, 2.81, -265.4, -107.5, -25])
144+
taus = np.array([2,2,2,6,6,6,20,20,6])
145+
ds = np.array([2,2,2])
146+
147+
148+
Vu = np.array([Vusa,Vusp,theta0[6], theta0[7],theta0[8], Vutv, Vura, Vupa, Vupp,Vupv, Vula, Vulv, Vurv])
149+
xstart = np.concatenate((np.zeros(15),np.array([-0.25, 1, -0.25, 1]),Vu))

0 commit comments

Comments
 (0)