Baroreceptor Model EquationsThese are the equations in STELLA® format which have been converted into FORTRAN 77 and implemented on an SGI workstation.
Initialization EquationsINIT Total_Blood_Vol = 1500INIT 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 EquationsTotal_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 [ Introduction | Instructional Resources | Simulation Software | Baroreceptor Modeling Help ] [ Fractal Modeling Tools | GalaxSee | SimSurface | Gnuplot ] [ The Pit and the Pendulum | Environmental Models | InteGreat ] Last Update: June 20, 1997 Please direct questions and comments about this page to WebMaster@shodor.org © Copyright 1997 Jimmie Dixon, The Shodor Education Foundation, Inc. |