<?xml version="1.0" encoding="utf-8"?>
<model
name="circulatory_dynamics_parent_model"
cmeta:id="circulatory_dynamics_parent_model"
xmlns="http://www.cellml.org/cellml/1.1#"
xmlns:cellml="http://www.cellml.org/cellml/1.1#"
xmlns:cmeta="http://www.cellml.org/metadata/1.0#"
xmlns:xlink="http://www.w3.org/1999/xlink">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#circulatory_dynamics_parent_model">
<rdf:value>
This is the CellML 1.1 "parent" file to test the Circulatory Dynamics Model.
</rdf:value>
</rdf:Description>
</rdf:RDF>
<!-- ======================================== DOCUMENTATION ============================================= -->
<documentation xmlns="http://cellml.org/tmp-documentation">
<article>
<articleinfo>
<title>Guyton Model: Circulatory Dynamics</title>
<author>
<firstname>Catherine</firstname>
<surname>Lloyd</surname>
<affiliation>
<shortaffil>Auckland Bioengineering Institute, University of Auckland</shortaffil>
</affiliation>
</author>
</articleinfo>
<section id="sec_status">
<title>Model Status</title>
<para>
This CellML model has not been validated. The equations in this file may contain errors and the
output from the model may not conform to the results from the MODSIM program. Due to the differences
between procedural code (in this case C-code) and declarative languages (CellML), some aspects of the
original model were not able to be encapsulated by the CellML model (such as the damping of variables).
Work is underway to fix these omissions and validate the CellML model. We also anticipate that many of
these problems will be fixed when the CellML 1.0 models are combined in a CellML 1.1 format.
</para>
</section>
<sect1 id="sec_structure">
<title>Model Structure</title>
<para>
Arthur Guyton (1919-2003) was an American physiologist who became famous for his 1950s experiments in which he
studied the physiology of cardiac output and its relationship with the peripheral circulation. The results of
these experiments challenged the conventional wisdom that it was the heart itself that controlled cardiac output.
Instead Guyton demonstrated that it was the need of the body tissues for oxygen which was the real regulator of
cardiac output. The "Guyton Curves" describe the relationship between right atrial pressures and cardiac output,
and they form a foundation for understanding the physiology of circulation.
</para>
<para>
The Guyton model of fluid, electrolyte, and circulatory regulation is an extensive mathematical model of human
circulatory physiology, capable of simulating a variety of experimental conditions, and contains a number of
linked subsystems relating to circulation and its neuroendocrine control.
</para>
<para>
This is a CellML translation of the Guyton model of the regulation of the circulatory system. The complete
model consists of separate modules each of which characterise a separate physiological subsystems. The
Circulation Dynamics is the primary system, to which other modules/blocks are connected. The other modules
characterise the dynamics of the kidney, electrolytes and cell water, thirst and drinking, hormone regulation,
autonomic regulation, cardiovascular system etc, and these feedback on the central circulation model. The CellML
code in these modules is based on the C code from the programme C-MODSIM created by Dr Jean-Pierre Montani.
</para>
<para>
This particular CellML model describes the flow of blood around the circuit from arteries, to veins, to heart,
to lungs, and back to heart again. It also calculates the resistances and the effect of various factors on the
resistances. In other words, this section presents the basic hemodynamics of the circulatory system.
</para>
<informalfigure float="0" id="full_diagram">
<mediaobject>
<imageobject>
<objectinfo>
<title>model diagram</title>
</objectinfo>
<imagedata fileref="full_model.png"/>
</imageobject>
</mediaobject>
<caption>A systems analysis diagram for the full Guyton model describing circulation regulation.</caption>
</informalfigure>
<informalfigure float="0" id="circulatory_dynamics_diagram">
<mediaobject>
<imageobject>
<objectinfo>
<title>model diagram</title>
</objectinfo>
<imagedata fileref="circ_dyn.png"/>
</imageobject>
</mediaobject>
<caption>A schematic diagram of the components and processes described in the current CellML model.</caption>
</informalfigure>
<para>
There are several publications referring to the Guyton model. One of these papers is cited below:
</para>
<para>
Circulation: Overall Regulation, A.C. Guyton, T.G. Coleman, and H.J. Granger, 1972,
<emphasis>Annual Review of Physiology</emphasis>
, 34, 13-44. <ulink url="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=pubmed&cmd=Retrieve&dopt=AbstractPlus&list_uids=4334846&query_hl=1&itool=pubmed_docsum">PubMed ID: 4334846</ulink>
</para>
</sect1>
</article>
</documentation>
<!-- ======================================================= CITATION AND KEYWORD METADATA ================================================== -->
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:bqs="http://www.cellml.org/bqs/1.0#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#">
<rdf:Description rdf:about="#circulatory_dynamics_parent_model">
<bqs:reference rdf:parseType="Resource">
<bqs:JournalArticle rdf:parseType="Resource">
<dc:creator>
<rdf:Seq>
<rdf:li rdf:parseType="Resource">
<rdf:type rdf:resource="http://www.cellml.org/bqs/1.0#Person" />
<vCard:N rdf:parseType="Resource">
<vCard:Family>Guyton</vCard:Family>
<vCard:Given></vCard:Given>
<vCard:Other></vCard:Other>
</vCard:N>
</rdf:li>
<rdf:li rdf:parseType="Resource">
<rdf:type rdf:resource="http://www.cellml.org/bqs/1.0#Person" />
<vCard:N rdf:parseType="Resource">
<vCard:Family>Circulatory Dynamics</vCard:Family>
<vCard:Given></vCard:Given>
<vCard:Other></vCard:Other>
</vCard:N>
</rdf:li>
</rdf:Seq>
</dc:creator>
<dc:title>Description of Guyton circulatory dynamics module</dc:title>
<bqs:volume />
<bqs:first_page />
<bqs:last_page />
<bqs:Journal rdf:parseType="Resource">
<dc:title></dc:title>
</bqs:Journal>
<dcterms:issued rdf:parseType="Resource">
<dcterms:W3CDTF>2008-00-00 00:00</dcterms:W3CDTF>
</dcterms:issued>
</bqs:JournalArticle>
</bqs:reference>
<bqs:reference rdf:parseType="Resource">
<dc:subject rdf:parseType="Resource">
<bqs:subject_type>keyword</bqs:subject_type>
<rdf:value>
<rdf:Bag>
<rdf:li>physiology</rdf:li>
<rdf:li>organ systems</rdf:li>
<rdf:li>cardiovascular circulation</rdf:li>
<rdf:li>circulatory dynamics</rdf:li>
<rdf:li>Guyton</rdf:li>
</rdf:Bag>
</rdf:value>
</dc:subject>
</bqs:reference>
</rdf:Description>
</rdf:RDF>
<!-- ============================================= Import the required units from the Units file ==================================================== -->
<import xlink:href="units.cellml">
<units name="minute" units_ref="minute"/>
<units name="per_minute" units_ref="per_minute"/>
<units name="beats_per_minute" units_ref="beats_per_minute"/>
<units name="beats_per_minute_per_mmHg" units_ref="beats_per_minute_per_mmHg"/>
<units name="minute_per_L" units_ref="minute_per_L"/>
<units name="mmHg" units_ref="mmHg"/>
<units name="per_mmHg" units_ref="per_mmHg"/>
<units name="mmHg_per_mL" units_ref="mmHg_per_mL"/>
<units name="mmHg_L" units_ref="mmHg_L"/>
<units name="per_mmHg2" units_ref="per_mmHg2"/>
<units name="mmHg3" units_ref="mmHg3"/>
<units name="monovalent_mEq" units_ref="monovalent_mEq"/>
<units name="monovalent_mEq_per_minute" units_ref="monovalent_mEq_per_minute"/>
<units name="monovalent_mEq_per_litre" units_ref="monovalent_mEq_per_litre"/>
<units name="mOsm" units_ref="mOsm"/>
<units name="mOsm_per_litre" units_ref="mOsm_per_litre"/>
<units name="mOsm_per_minute" units_ref="mOsm_per_minute"/>
<units name="monovalent_mEq_per_litre_per_minute" units_ref="monovalent_mEq_per_litre_per_minute"/>
<units name="litre2_per_monovalent_mEq_per_minute" units_ref="litre2_per_monovalent_mEq_per_minute"/>
<units name="L_per_minute" units_ref="L_per_minute"/>
<units name="per_mmHg_per_minute" units_ref="per_mmHg_per_minute"/>
<units name="mL" units_ref="mL"/>
<units name="gram_per_L" units_ref="gram_per_L"/>
<units name="L_mmHg_per_gram" units_ref="L_mmHg_per_gram"/>
<units name="L2_mmHg_per_gram2" units_ref="L2_mmHg_per_gram2"/>
<units name="mmHg_minute_per_L" units_ref="mmHg_minute_per_L"/>
<units name="mmHg_L_per_minute" units_ref="mmHg_L_per_minute"/>
<units name="gram_per_minute" units_ref="gram_per_minute"/>
<units name="mL_per_L" units_ref="mL_per_L"/>
<units name="mL_per_L_per_mmHg" units_ref="mL_per_L_per_mmHg"/>
<units name="mL_per_L_per_minute" units_ref="mL_per_L_per_minute"/>
<units name="mL_per_minute_per_mmHg" units_ref="mL_per_minute_per_mmHg"/>
<units name="L_mL_per_minute_per_mmHg" units_ref="L_mL_per_minute_per_mmHg"/>
<units name="L_per_mL" units_ref="L_per_mL"/>
<units name="L_per_mmHg" units_ref="L_per_mmHg"/>
<units name="mL_per_minute" units_ref="mL_per_minute"/>
<units name="L_per_minute_per_mmHg" units_ref="L_per_minute_per_mmHg"/>
<units name="L_per_minute_per_mmHg2" units_ref="L_per_minute_per_mmHg2"/>
</import>
<!-- ===================================== Import all Parameters and State Variables from the Parameter file ============================================== -->
<import xlink:href="parameters.cellml">
<component component_ref="parameter_values" name="parameter_values"/>
<component component_ref="state_variables" name="state_variables"/>
</import>
<!-- ============================================ Import Environment Component from the Environment file ============================================== -->
<import xlink:href="environment.cellml">
<component component_ref="environment" name="environment"/>
</import>
<!-- ============================================ Import all the separate model files and their components ============================================== -->
<import xlink:href="circulation.cellml">
<component component_ref="circulatory_dynamics" name="circulatory_dynamics"/>
</import>
<!-- ======================================== INPUT VALUES ============================================= -->
<component name="input_values"
cmeta:id="input_values">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#input_values">
<rdf:value>
Component to set all input values to 1.0 or a prescribed value.
</rdf:value>
</rdf:Description>
</rdf:RDF>
<variable name="ANU" initial_value="0.925271" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="ADHMV" initial_value="1.0" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="PAMK" initial_value="1.0" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="ATRRFB" initial_value="1.0" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="MYOGRS" initial_value="1.0" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="ARM" initial_value="1.16463" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="VIM" initial_value="1.00076" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="AVE" initial_value="1.0" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="ANUVN" initial_value="1.0" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="PC" initial_value="16.9144" units="mmHg" private_interface="none" public_interface="out"/>
<variable name="RBF" initial_value="1.22057" units="L_per_minute" private_interface="none" public_interface="out"/>
<variable name="VVR" initial_value="2.50967" units="litre" private_interface="none" public_interface="out"/>
<variable name="VV6" initial_value="0.0101913" units="litre" private_interface="none" public_interface="out"/>
<variable name="VV7" initial_value="0.00366525" units="litre" private_interface="none" public_interface="out"/>
<variable name="ATRVFB" initial_value="0.0" units="litre" private_interface="none" public_interface="out"/>
<variable name="VP" initial_value="3.00449" units="litre" private_interface="none" public_interface="out"/>
<variable name="VRC" initial_value="2.00439" units="litre" private_interface="none" public_interface="out"/>
<variable name="HPR" initial_value="1.00237" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="HMD" initial_value="1.0" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="AUH" initial_value="1.00012" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="OSA" initial_value="0.97287" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="HPL" initial_value="1.00163" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="AMM" initial_value="1.0" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="AUM" initial_value="1.00066" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="AU" initial_value="1.00022" units="dimensionless" private_interface="none" public_interface="out"/>
<variable name="time" units="second" private_interface="none" public_interface="in"/>
</component>
<connection>
<map_components component_1="input_values" component_2="environment"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<!-- CIRCULATORY DYNAMICS INPUT CONNECTIONS -->
<connection>
<map_components component_1="circulatory_dynamics" component_2="input_values"/>
<map_variables variable_1="ANU" variable_2="ANU"/>
<map_variables variable_1="ADHMV" variable_2="ADHMV"/>
<map_variables variable_1="PAMK" variable_2="PAMK"/>
<map_variables variable_1="ATRRFB" variable_2="ATRRFB"/>
<map_variables variable_1="MYOGRS" variable_2="MYOGRS"/>
<map_variables variable_1="ARM" variable_2="ARM"/>
<map_variables variable_1="VIM" variable_2="VIM"/>
<map_variables variable_1="AVE" variable_2="AVE"/>
<map_variables variable_1="ANUVN" variable_2="ANUVN"/>
<map_variables variable_1="PC" variable_2="PC"/>
<map_variables variable_1="RBF" variable_2="RBF"/>
<map_variables variable_1="VVR" variable_2="VVR"/>
<map_variables variable_1="VV6" variable_2="VV6"/>
<map_variables variable_1="VV7" variable_2="VV7"/>
<map_variables variable_1="ATRVFB" variable_2="ATRVFB"/>
<map_variables variable_1="VP" variable_2="VP"/>
<map_variables variable_1="VRC" variable_2="VRC"/>
<map_variables variable_1="HPR" variable_2="HPR"/>
<map_variables variable_1="HMD" variable_2="HMD"/>
<map_variables variable_1="AUH" variable_2="AUH"/>
<map_variables variable_1="OSA" variable_2="OSA"/>
<map_variables variable_1="HPL" variable_2="HPL"/>
<map_variables variable_1="AMM" variable_2="AMM"/>
<map_variables variable_1="AUM" variable_2="AUM"/>
<map_variables variable_1="AU" variable_2="AU"/>
</connection>
<connection>
<map_components component_1="circulatory_dynamics" component_2="environment"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
</model>