Baroreceptor Modeling

Baroreceptor Model Equations


These are the equations in STELLA® format which have been converted into FORTRAN 77 and implemented on an SGI workstation.

Initialization Equations

INIT Total_Blood_Vol = 1500

INIT Sys_Art_Vol = Total_Blood_Vol * (52.36095/Total_Blood_Vol)

C_sys = GRAPH(Sys_Art_Vol)
(80.0, 0.92), (85.0, 0.915), (90.0, 0.907), (95.0, 0.9), (100, 0.887), (105, 0.87), (110, 0.835), (115, 0.785), (120, 0.71), (125, 0.615), (130, 0.5)
P_Art_Sys = Sys_Art_Vol/C_sys
P_lcs = If (Time <20) Then P_Art_Sys Else P_Art_Sys*0
LCS = GRAPH(P_lcs)
(50.0, 0.00), (57.0, 0.00), (64.0, 0.005), (71.0, 0.04), (78.0, 0.135), (85.0, 0.5), (92.0, 0.865), (99.0, 0.96), (106, 0.995), (113, 1.00), (120, 1.00)
P_rcs = If (Time <10) Then P_Art_Sys Else P_Art_Sys*0
RCS = GRAPH(P_rcs)
(50.0, 0.00), (57.0, 0.00), (64.0, 0.005), (71.0, 0.04), (78.0, 0.135), (85.0, 0.5), (92.0, 0.865), (99.0, 0.96), (106, 0.995), (113, 1.00), (120, 1.00)
P_aa = If (Time <30) Then P_Art_Sys Else P_Art_Sys*0
AA = GRAPH(P_aa)
(50.0, 0.00), (57.0, 0.00), (64.0, 0.005), (71.0, 0.04), (78.0, 0.135), (85.0, 0.5), (92.0, 0.865), (99.0, 0.96), (106, 0.995), (113, 1.00), (120, 1.00)
Afferents = (LCS + RCS + AA)
ANS_chrono = .3
ANS_ino = .5
Area_Postrema = 0.0 {+ Step(0.1,5) + Step(0.1,10) + Step(0.1,15)}
HR = 180*ANS_chrono
Period = 60/HR
Baro_Affs = SMTH3(Afferents,Period)
INIT Sys_Ven_Vol = Total_Blood_Vol * (1083.8893/Total_Blood_Vol)


P_Ven_Sys = Sys_Ven_Vol/160
INIT NTS_activity = 0.52889

Inhib = GRAPH(NTS_activity)
(0.00, 0.00), (0.1, 0.02), (0.2, 0.04), (0.3, 0.085), (0.4, 0.165), (0.5, 0.335), (0.6, 0.6), (0.7, 0.8), (0.8, 0.9), (0.9, 0.975), (1.00, 1.00)
Neural_tpr = 1-Inhib
Humoral_tpr = 1 {+ Ramp (-0.2,0)+ Ramp (0.25,15)}
Sys_Runoff = (P_Art_Sys - P_Ven_Sys)/(Neural_tpr * 3 + Humoral_tpr)
CO = 60 * SMTH3(Sys_Runoff,Period)
INIT Rt_Hrt_Vol = Total_Blood_Vol * (54.51282/Total_Blood_Vol)

INIT Cycle_time = 0

sys_frac = GRAPH(Period)
(0.00, 0.08), (0.333, 0.15), (0.667, 0.215), (1.00, 0.28), (1.33, 0.325), (1.67, 0.36), (2.00, 0.38), (2.33, 0.395), (2.67, 0.4), (3.00, 0.405)
systole = IF (Period-Cycle_time < Period * sys_frac) THEN (Period + DT - Cycle_time)/(Period*sys_frac) ELSE 0
chrono_factor = GRAPH(HR)
(0.00, 0.335), (10.0, 0.38), (20.0, 0.42), (30.0, 0.455), (40.0, 0.495), (50.0, 0.535), (60.0, 0.57), (70.0, 0.605), (80.0, 0.65), (90.0, 0.685), (100, 0.73), (110, 0.775), (120, 0.815), (130, 0.86), (140, 0.91), (150, 0.95), (160, 1.00), (170, 1.00), (180, 1.00), (190, 1.00), (200, 1.00), (210, 1.00), (220, 1.00), (230, 1.00), (240, 1.00)
diastole = IF (Period - Cycle_time Period * sys_frac) THEN 0 ELSE ((Period * (1-sys_frac)) - Cycle_time)/(Period*(1-sys_frac))
Dias_Elastance = GRAPH(diastole)
(0.00, 1.00), (0.025, 0.968), (0.05, 0.88), (0.075, 0.704), (0.1, 0.512), (0.125, 0.347), (0.15, 0.182), (0.175, 0.044), (0.2, 0.011), (0.225, 0.00), (0.25, 0.00), (0.275, 0.00), (0.3, 0.00), (0.325, 0.00), (0.35, 0.00), (0.375, 0.00), (0.4, 0.00), (0.425, 0.00), (0.45, 0.00), (0.475, 0.00), (0.5, 0.00), (0.525, 0.00), (0.55, 0.00), (0.575, 0.00), (0.6, 0.00), (0.625, 0.00), (0.65, 0.00), (0.675, 0.00), (0.7, 0.00), (0.725, 0.00), (0.75, 0.00), (0.775, 0.00), (0.8, 0.00), (0.825, 0.00), (0.85, 0.00), (0.875, 0.00), (0.9, 0.00), (0.925, 0.00), (0.95, 0.00), (0.975, 0.00), (1.00, 0.00)
Rt_Hrt_Elastance = IF (systole > 0) THEN (systole * 6.0* chrono_factor *ANS_ino) + 0.06 ELSE (Dias_Elastance * (6.0* chrono_factor * ANS_ino)) + 0.06
P_Rt_Hrt = Rt_Hrt_Vol * Rt_Hrt_Elastance
INIT Pul_Art_Vol = Total_Blood_Vol * (66.25785/Total_Blood_Vol)

P_Pul_Art = Pul_Art_Vol/3.5
COpul = IF (P_Rt_Hrt > P_Pul_Art) THEN (P_Rt_Hrt - P_Pul_Art)/0.05 ELSE 0
INIT Lt_Hrt_Vol = Total_Blood_Vol * (47.53157/Total_Blood_Vol)

Lt_Hrt_Elastance = IF (systole > 0) THEN (systole * 36.0* chrono_factor * ANS_ino) + 0.1 ELSE (Dias_Elastance * (36.0* chrono_factor * ANS_ino)) + 0.1
P_Lt_Hrt = Lt_Hrt_Vol*Lt_Hrt_Elastance
COsys = IF (P_Lt_Hrt > P_Art_Sys) THEN (P_Lt_Hrt - P_Art_Sys)/0.05 ELSE 0
Cycle_Start = PULSE(Period, 0, Period)
dissipation = NTS_activity*1
MAP = SMTH3(P_Art_Sys,Period)
NTS_In = Afferents + Area_Postrema
INIT Pul_Ven_Vol = Total_Blood_Vol * (195.45113/Total_Blood_Vol)

P_Ven_Pul = Pul_Ven_Vol/40
Pul_Runoff = (P_Pul_Art - P_Ven_Pul)/0.45
Symp_Eff = SMTH3(Neural_tpr,Period)
Time_past = IF (Cycle_time 0) THEN 0 ELSE DT/DT
Vol_in = 0.35
Vol_out = 0.35
VR_Lt_Hrt = IF (P_Ven_Pul > P_Lt_Hrt) THEN (P_Ven_Pul - P_Lt_Hrt)/0.015 ELSE 0
VR_Rt_Hrt = IF (P_Ven_Sys > P_Rt_Hrt) THEN (P_Ven_Sys - P_Rt_Hrt)/0.07 ELSE 0

Runtime Equations

Total_Blood_Vol(t) = Total_Blood_Vol(t - dt)

Sys_Art_Vol(t) = Sys_Art_Vol(t - dt) + (COsys - Sys_Runoff) * dt

Sys_Ven_Vol(t) = Sys_Ven_Vol(t - dt) + (Sys_Runoff + Vol_in - VR_Rt_Hrt - Vol_out) * dt

NTS_activity(t) = NTS_activity(t - dt) + (NTS_In - dissipation) * dt

Rt_Hrt_Vol(t) = Rt_Hrt_Vol(t - dt) + (VR_Rt_Hrt - COpul) * dt

Cycle_time(t) = Cycle_time(t - dt) + (Cycle_Start - Time_past) * dt

Pul_Art_Vol(t) = Pul_Art_Vol(t - dt) + (COpul - Pul_Runoff) * dt

Lt_Hrt_Vol(t) = Lt_Hrt_Vol(t - dt) + (VR_Lt_Hrt - COsys) * dt

Pul_Ven_Vol(t) = Pul_Ven_Vol(t - dt) + (Pul_Runoff - VR_Lt_Hrt) * dt

C_sys = GRAPH(Sys_Art_Vol)
(80.0, 0.92), (85.0, 0.915), (90.0, 0.907), (95.0, 0.9), (100, 0.887), (105, 0.87), (110, 0.835), (115, 0.785), (120, 0.71), (125, 0.615), (130, 0.5)
P_Art_Sys = Sys_Art_Vol/C_sys
P_lcs = If (Time <20) Then P_Art_Sys Else P_Art_Sys*0
LCS = GRAPH(P_lcs)
(50.0, 0.00), (57.0, 0.00), (64.0, 0.005), (71.0, 0.04), (78.0, 0.135), (85.0, 0.5), (92.0, 0.865), (99.0, 0.96), (106, 0.995), (113, 1.00), (120, 1.00)
P_rcs = If (Time <10) Then P_Art_Sys Else P_Art_Sys*0
RCS = GRAPH(P_rcs)
(50.0, 0.00), (57.0, 0.00), (64.0, 0.005), (71.0, 0.04), (78.0, 0.135), (85.0, 0.5), (92.0, 0.865), (99.0, 0.96), (106, 0.995), (113, 1.00), (120, 1.00)
P_aa = If (Time <30) Then P_Art_Sys Else P_Art_Sys*0
AA = GRAPH(P_aa)
(50.0, 0.00), (57.0, 0.00), (64.0, 0.005), (71.0, 0.04), (78.0, 0.135), (85.0, 0.5), (92.0, 0.865), (99.0, 0.96), (106, 0.995), (113, 1.00), (120, 1.00)
Afferents = (LCS + RCS + AA)
HR = 180*ANS_chrono
Period = 60/HR
Baro_Affs = SMTH3(Afferents,Period)
P_Ven_Sys = Sys_Ven_Vol/160
Inhib = GRAPH(NTS_activity)
(0.00, 0.00), (0.1, 0.02), (0.2, 0.04), (0.3, 0.085), (0.4, 0.165), (0.5, 0.335), (0.6, 0.6), (0.7, 0.8), (0.8, 0.9), (0.9, 0.975), (1.00, 1.00)
Neural_tpr = 1-Inhib
Sys_Runoff = (P_Art_Sys - P_Ven_Sys)/(Neural_tpr * 3 + Humoral_tpr)
CO = 60 * SMTH3(Sys_Runoff,Period)
sys_frac = GRAPH(Period)
(0.00, 0.08), (0.333, 0.15), (0.667, 0.215), (1.00, 0.28), (1.33, 0.325), (1.67, 0.36), (2.00, 0.38), (2.33, 0.395), (2.67, 0.4), (3.00, 0.405)
systole = IF (Period-Cycle_time < Period * sys_frac) THEN (Period + DT - Cycle_time)/(Period*sys_frac) ELSE 0
chrono_factor = GRAPH(HR)
(0.00, 0.335), (10.0, 0.38), (20.0, 0.42), (30.0, 0.455), (40.0, 0.495), (50.0, 0.535), (60.0, 0.57), (70.0, 0.605), (80.0, 0.65), (90.0, 0.685), (100, 0.73), (110, 0.775), (120, 0.815), (130, 0.86), (140, 0.91), (150, 0.95), (160, 1.00), (170, 1.00), (180, 1.00), (190, 1.00), (200, 1.00), (210, 1.00), (220, 1.00), (230, 1.00), (240, 1.00)
diastole = IF (Period - Cycle_time Period * sys_frac) THEN 0 ELSE ((Period * (1-sys_frac)) - Cycle_time)/(Period*(1-sys_frac))
Dias_Elastance = GRAPH(diastole)
(0.00, 1.00), (0.025, 0.968), (0.05, 0.88), (0.075, 0.704), (0.1, 0.512), (0.125, 0.347), (0.15, 0.182), (0.175, 0.044), (0.2, 0.011), (0.225, 0.00), (0.25, 0.00), (0.275, 0.00), (0.3, 0.00), (0.325, 0.00), (0.35, 0.00), (0.375, 0.00), (0.4, 0.00), (0.425, 0.00), (0.45, 0.00), (0.475, 0.00), (0.5, 0.00), (0.525, 0.00), (0.55, 0.00), (0.575, 0.00), (0.6, 0.00), (0.625, 0.00), (0.65, 0.00), (0.675, 0.00), (0.7, 0.00), (0.725, 0.00), (0.75, 0.00), (0.775, 0.00), (0.8, 0.00), (0.825, 0.00), (0.85, 0.00), (0.875, 0.00), (0.9, 0.00), (0.925, 0.00), (0.95, 0.00), (0.975, 0.00), (1.00, 0.00)
Rt_Hrt_Elastance = IF (systole > 0) THEN (systole * 6.0* chrono_factor *ANS_ino) + 0.06 ELSE (Dias_Elastance * (6.0* chrono_factor * ANS_ino)) + 0.06
P_Rt_Hrt = Rt_Hrt_Vol * Rt_Hrt_Elastance
P_Pul_Art = Pul_Art_Vol/3.5
COpul = IF (P_Rt_Hrt > P_Pul_Art) THEN (P_Rt_Hrt - P_Pul_Art)/0.05 ELSE 0
Lt_Hrt_Elastance = IF (systole > 0) THEN (systole * 36.0* chrono_factor * ANS_ino) + 0.1 ELSE (Dias_Elastance * (36.0* chrono_factor * ANS_ino)) + 0.1
P_Lt_Hrt = Lt_Hrt_Vol*Lt_Hrt_Elastance
COsys = IF (P_Lt_Hrt > P_Art_Sys) THEN (P_Lt_Hrt - P_Art_Sys)/0.05 ELSE 0
Cycle_Start = PULSE(Period, 0, Period)
dissipation = NTS_activity*1
MAP = SMTH3(P_Art_Sys,Period)
NTS_In = Afferents + Area_Postrema
P_Ven_Pul = Pul_Ven_Vol/40
Pul_Runoff = (P_Pul_Art - P_Ven_Pul)/0.45
Symp_Eff = SMTH3(Neural_tpr,Period)
Time_past = IF (Cycle_time 0) THEN 0 ELSE DT/DT
VR_Lt_Hrt = IF (P_Ven_Pul > P_Lt_Hrt) THEN (P_Ven_Pul - P_Lt_Hrt)/0.015 ELSE 0
VR_Rt_Hrt = IF (P_Ven_Sys > P_Rt_Hrt) THEN (P_Ven_Sys - P_Rt_Hrt)/0.07 ELSE 0

[ Home | Baroreceptor Modeling Home | Index ]
[ Introduction | Instructional Resources | Simulation Software | Baroreceptor Modeling Help ]
[ Fractal Modeling Tools | GalaxSee | SimSurface | Gnuplot ]
[ The Pit and the Pendulum | Environmental Models | InteGreat ]

Last Update: May 25, 2006
Please direct questions and comments about this page to WebMaster@shodor.org
© Copyright 1997, 2006 Jimmie Dixon, The Shodor Education Foundation, Inc.