Physiolibrary.Hydraulic.Examples

Examples that demonstrate usage of the Pressure flow components

Information

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Physiolibrary.Hydraulic.Examples.MinimalCirculation MinimalCirculation Minimal circulation models driven by cardiac output
Physiolibrary.Hydraulic.Examples.Windkessel_2element Windkessel_2element Two-element Windkessel model
Physiolibrary.Hydraulic.Examples.Windkessel_3element Windkessel_3element Three-element windkessel model
Physiolibrary.Hydraulic.Examples.Windkessel_4element Windkessel_4element Four-element windkessel model
Physiolibrary.Hydraulic.Examples.CardiovascularSystem_GCG CardiovascularSystem_GCG Cardiovascular part of Guyton-Coleman-Granger's model from 1972
Physiolibrary.Hydraulic.Examples.Utilities Utilities Utility components used by package Examples
Physiolibrary.Hydraulic.Examples.Kofranek2014 Kofranek2014 models of cardiovascular system used in www.physiome.cz/atlas
Physiolibrary.Hydraulic.Examples.Fernandez2013 Fernandez2013 Model of CVS introduced by Fernandez de Canete et al. 2013
Physiolibrary.Hydraulic.Examples.MeursModel2011 MeursModel2011 models of cardiovascular system used in www.physiome.cz/atlas

Physiolibrary.Hydraulic.Examples.MinimalCirculation Physiolibrary.Hydraulic.Examples.MinimalCirculation

Minimal circulation models driven by cardiac output

Physiolibrary.Hydraulic.Examples.MinimalCirculation

Information

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model MinimalCirculation "Minimal circulation models driven by cardiac output" extends Modelica.Icons.Example; Components.Pump heart(useSolutionFlowInput=true); Components.ElasticVessel arteries( volume_start(displayUnit="l") = 0.001, ZeroPressureVolume(displayUnit="l") = 0.00085, Compliance(displayUnit="ml/mmHg") = 1.1625954425608e-08); Components.Conductor resistance(Conductance(displayUnit="l/(mmHg.min)") = 6.2755151845753e-09); Components.ElasticVessel veins( Compliance(displayUnit="l/mmHg") = 6.1880080007267e-07, ZeroPressureVolume(displayUnit="l") = 0.00295, volume_start(displayUnit="l") = 0.0032); Modelica.Blocks.Sources.Pulse pulse( width=25, amplitude=3.3e-4, period=60/75); equation connect(heart.q_out, arteries.q_in); connect(arteries.q_in, resistance.q_out); connect(resistance.q_in, veins.q_in); connect(veins.q_in, heart.q_in); connect(pulse.y, heart.solutionFlow); end MinimalCirculation;

Physiolibrary.Hydraulic.Examples.Windkessel_2element Physiolibrary.Hydraulic.Examples.Windkessel_2element

Two-element Windkessel model

Physiolibrary.Hydraulic.Examples.Windkessel_2element

Information

Two-element windkessel model consisting of resistance and compliance element.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model Windkessel_2element "Two-element Windkessel model" extends Modelica.Icons.Example; Physiolibrary.Hydraulic.Sources.UnlimitedPump heart(useSolutionFlowInput= true); Physiolibrary.Hydraulic.Components.ElasticVessel arteries( ZeroPressureVolume(displayUnit="l") = 0.00085, Compliance(displayUnit="ml/mmHg") = 1.0500862061839e-08, volume_start(displayUnit="l") = 0.00097); Physiolibrary.Hydraulic.Components.Conductor resistance( useConductanceInput=false, Conductance(displayUnit="ml/(mmHg.s)")= 8.1006650191331e-09); Physiolibrary.Hydraulic.Sources.UnlimitedVolume veins; Utilities.Pulses pulses(QP(displayUnit="m3/s")= 0.000424, HR=1.2); equation connect(heart.q_out, arteries.q_in); connect(resistance.q_out, veins.y); connect(pulses.volumeflowrate, heart.solutionFlow); connect(resistance.q_in, arteries.q_in); end Windkessel_2element;

Physiolibrary.Hydraulic.Examples.Windkessel_3element Physiolibrary.Hydraulic.Examples.Windkessel_3element

Three-element windkessel model

Physiolibrary.Hydraulic.Examples.Windkessel_3element

Information

Three-element windkessel model, updated two-element windkessel model with an impedance element. Impedance can be approximated by resistance.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model Windkessel_3element "Three-element windkessel model" extends Modelica.Icons.Example; Physiolibrary.Hydraulic.Sources.UnlimitedPump heart(useSolutionFlowInput= true); Physiolibrary.Hydraulic.Components.ElasticVessel arteries( ZeroPressureVolume(displayUnit="l") = 0.00085, Compliance(displayUnit="ml/mmHg") = 1.0500862061839e-08, volume_start(displayUnit="l") = 0.00097); Physiolibrary.Hydraulic.Components.Conductor resistance( useConductanceInput=false, Conductance(displayUnit="ml/(mmHg.s)") = 8.1006650191331e-09); Physiolibrary.Hydraulic.Sources.UnlimitedVolume veins; Utilities.Pulses pulses( QP(displayUnit="m3/s") = 0.000424, TD1(displayUnit="s"), HR(displayUnit="1/min") = 1.2); Physiolibrary.Hydraulic.Components.Conductor impedance( useConductanceInput=false, Conductance(displayUnit="ml/(mmHg.s)")= 1.5001231516913e-06); equation connect(resistance.q_out, veins.y); connect(pulses.volumeflowrate, heart.solutionFlow); connect(heart.q_out, impedance.q_in); connect(impedance.q_out, arteries.q_in); connect(resistance.q_in, arteries.q_in); end Windkessel_3element;

Physiolibrary.Hydraulic.Examples.Windkessel_4element Physiolibrary.Hydraulic.Examples.Windkessel_4element

Four-element windkessel model

Physiolibrary.Hydraulic.Examples.Windkessel_4element

Information

Four-element windkessel model, updated three-element windkessel model with an inertia element.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model Windkessel_4element "Four-element windkessel model" extends Modelica.Icons.Example; Physiolibrary.Hydraulic.Sources.UnlimitedPump heart(useSolutionFlowInput= true); Physiolibrary.Hydraulic.Components.ElasticVessel arteries( ZeroPressureVolume(displayUnit="l") = 0.00085, Compliance(displayUnit="ml/mmHg") = 1.0500862061839e-08, volume_start(displayUnit="l") = 0.00097); Physiolibrary.Hydraulic.Components.Conductor resistance( useConductanceInput=false, Conductance(displayUnit="ml/(mmHg.s)") = 8.1006650191331e-09); Physiolibrary.Hydraulic.Sources.UnlimitedVolume veins; Utilities.Pulses pulses(QP(displayUnit="m3/s")= 0.000424, HR=1.2); Physiolibrary.Hydraulic.Components.Conductor impedance( useConductanceInput=false, Conductance(displayUnit="ml/(mmHg.s)")= 1.5001231516913e-06); Physiolibrary.Hydraulic.Components.Inertia inertia(I(displayUnit= "mmHg.s2/ml") = 666611.937075, volumeFlow_start(displayUnit= "l/min") = 8.3333333333333e-05); equation connect(resistance.q_out, veins.y); connect(pulses.volumeflowrate, heart.solutionFlow); connect(heart.q_out, impedance.q_in); connect(impedance.q_out, arteries.q_in); connect(heart.q_out, inertia.q_in); connect(inertia.q_out, arteries.q_in); connect(resistance.q_in, arteries.q_in); end Windkessel_4element;

Physiolibrary.Hydraulic.Examples.CardiovascularSystem_GCG Physiolibrary.Hydraulic.Examples.CardiovascularSystem_GCG

Cardiovascular part of Guyton-Coleman-Granger's model from 1972

Physiolibrary.Hydraulic.Examples.CardiovascularSystem_GCG

Information

Cardiovascular subsystem in famous Guyton-Coleman-Granger model from 1972.


Model, all parameters and all initial values are from article:

A.C. Guyton, T.G. Coleman, H.J. Granger (1972). "Circulation: overall regulation." Annual review of physiology 34(1): 13-44.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model CardiovascularSystem_GCG "Cardiovascular part of Guyton-Coleman-Granger's model from 1972" extends Modelica.Icons.Example; import Physiolibrary.Hydraulic; Components.ElasticVessel pulmonaryVeinsAndLeftAtrium( volume_start(displayUnit="l") = 0.0004, ZeroPressureVolume(displayUnit="l") = 0.0004, Compliance(displayUnit="l/mmHg") = 7.5006157584566e-08); Components.ElasticVessel pulmonaryArteries( ZeroPressureVolume(displayUnit="l") = 0.00030625, Compliance(displayUnit="l/mmHg") = 3.6002955640592e-08, volume_start(displayUnit="l") = 0.00038); Hydraulic.Components.Conductor pulmonary(Conductance(displayUnit="l/(mmHg.min)") = 4.1665920538226e-08); Components.ElasticVessel arteries( volume_start(displayUnit="l") = 0.00085, ZeroPressureVolume(displayUnit="l") = 0.000495, Compliance(displayUnit="l/mmHg") = 2.6627185942521e-08); Components.ElasticVessel veins( Compliance(displayUnit="l/mmHg") = 6.1880080007267e-07, volume_start(displayUnit="l") = 0.00325, ZeroPressureVolume(displayUnit="l") = 0.00295); Hydraulic.Components.Conductor nonMuscle(Conductance(displayUnit="l/(mmHg.min)") = 3.5627924852669e-09); Sensors.PressureMeasure pressureMeasure; Components.Pump rightHeart(useSolutionFlowInput=true); Types.Constants.VolumeFlowRateConst RNormalCO(k(displayUnit="l/min") = 8.3333333333333e-05); Sensors.PressureMeasure pressureMeasure1; Components.Pump leftHeart(useSolutionFlowInput=true); Types.Constants.VolumeFlowRateConst LNormalCO(k(displayUnit="l/min") = 8.3333333333333e-05); Hydraulic.Components.Conductor kidney(Conductance(displayUnit="l/(mmHg.min)") = 1.4126159678427e-09); Hydraulic.Components.Conductor muscle(Conductance(displayUnit="l/(mmHg.min)") = 1.3001067314658e-09); Hydraulic.Components.Conductor largeVeins(Conductance(displayUnit="l/(mmHg.min)") = 1.6888886482791e-07); Components.ElasticVessel rightAtrium( volume_start(displayUnit="l") = 0.0001, ZeroPressureVolume(displayUnit="l") = 0.0001, Compliance(displayUnit="l/mmHg") = 3.7503078792283e-08); Blocks.Factors.Spline rightStarling(data={{-6,0,0},{-3,0.15,0.104},{-1,0.52, 0.48},{2,1.96,0.48},{4,2.42,0.123},{8,2.7,0}}, Xscale=101325/760) "At filling pressure 0mmHg (because external thorax pressure is -4mmHg) is normal cardiac output (effect=1)."; Blocks.Factors.Spline leftStarling(data={{-4,0,0},{-1, 0.72,0.29},{0,1.01,0.29},{3,1.88,0.218333},{10,2.7,0}}, Xscale= 101325/760) "At filling pressure -0.0029mmHg (because external thorax pressure is -4mmHg) is normal cardiac output (effect=1)."; equation connect(pulmonaryArteries.q_in,pulmonary. q_in); connect(pulmonary.q_out, pulmonaryVeinsAndLeftAtrium.q_in); connect(veins.q_in, nonMuscle.q_in); connect(nonMuscle.q_out, arteries.q_in); connect(rightHeart.q_out,pulmonaryArteries. q_in); connect(leftHeart.q_in, pulmonaryVeinsAndLeftAtrium.q_in); connect(leftHeart.q_out,arteries. q_in); connect(pressureMeasure.q_in,rightHeart. q_in); connect(pressureMeasure1.q_in, pulmonaryVeinsAndLeftAtrium.q_in); connect(muscle.q_out, arteries.q_in); connect(kidney.q_out, arteries.q_in); connect(kidney.q_in, nonMuscle.q_in); connect(muscle.q_in, nonMuscle.q_in); connect(veins.q_in, largeVeins.q_out); connect(largeVeins.q_in, rightAtrium.q_in); connect(rightAtrium.q_in, rightHeart.q_in); connect(RNormalCO.y, rightStarling.yBase); connect(LNormalCO.y, leftStarling.yBase); connect(pressureMeasure.q_in, rightAtrium.q_in); connect(rightHeart.solutionFlow, rightStarling.y); connect(leftStarling.y, leftHeart.solutionFlow); connect(pressureMeasure.pressure, rightStarling.u); connect(pressureMeasure1.pressure, leftStarling.u); end CardiovascularSystem_GCG;

Automatically generated Tue Sep 15 22:52:19 2015.