Rendering of the source text

<?xml version="1.0" encoding="utf-8"?>
<model 
	name="pulmonary_O2_uptake_CellML1_0_model"
	cmeta:id="pulmonary_O2_uptake_CellML1_0_model"
	
	xmlns="http://www.cellml.org/cellml/1.0#"
	xmlns:cellml="http://www.cellml.org/cellml/1.0#"
	xmlns:cmeta="http://www.cellml.org/metadata/1.0#"
	xmlns:xlink="http://www.w3.org/1999/xlink">

<!-- ========================================	DOCUMENTATION	============================================= -->
<documentation xmlns="http://cellml.org/tmp-documentation">
<article>
  <articleinfo>
  <title>Guyton Model: pulmonary_O2_uptake</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 been validated. 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). This may effect the transient behaviour of the model, however the steady-state behaviour would remain
		the same. The equations in this file and the steady-state output from the model conform to the results from the MODSIM program.
	</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 dynamics of oxygen uptake by the lungs, and also calculates the dynamics of the process of 
hemoglobin-oxygen binding in the blood.
</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="pulmonary_O2_uptake_diagram">
<mediaobject>
  <imageobject>
    <objectinfo>
      <title>model diagram</title>
    </objectinfo>
    <imagedata fileref="pulmonary_o2.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&amp;cmd=Retrieve&amp;dopt=AbstractPlus&amp;list_uids=4334846&amp;query_hl=1&amp;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="#pulmonary_O2_uptake_CellML1_0_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>Pulmonary Oxygen Uptake</vCard:Family>
									<vCard:Given></vCard:Given>
									<vCard:Other></vCard:Other>
								</vCard:N>
							</rdf:li>

						</rdf:Seq>
					</dc:creator>
					<dc:title>Description of Guyton pulmonary oxygen uptake 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>pulmonary oxygen uptake</rdf:li>
						<rdf:li>Guyton</rdf:li>
					</rdf:Bag>
					</rdf:value>
				</dc:subject>
			</bqs:reference>
		</rdf:Description>
	</rdf:RDF>

  
  
<!-- ======================================================= 		UNITS		================================================== -->

   <units name="minute">
      <unit multiplier="60" units="second"/>
   </units>
   <units name="per_minute">
      <unit units="minute" exponent="-1"/>
   </units>
   <units name="mmHg">
      <unit multiplier="133.322" units="newton"/>
      <unit units="metre" exponent="-2"/>
   </units>
   <units name="per_mmHg">
      <unit units="mmHg" exponent="-1"/>
   </units>
   <units name="mmHg_per_mL">
      <unit units="mmHg"/>
      <unit units="mL" exponent="-1"/>
   </units>
   <units name="per_mmHg2">
      <unit units="mmHg" exponent="-2"/>
   </units>
   <units name="mmHg3">
      <unit units="mmHg" exponent="3"/>
   </units>
   <units name="monovalent_mEq">
      <unit units="mole" prefix="milli"/>
   </units>
   <units name="monovalent_mEq_per_minute">
      <unit units="mole" prefix="milli"/>
      <unit units="minute" exponent="-1"/>
   </units>
   <units name="monovalent_mEq_per_litre">
      <unit units="mole" prefix="milli"/>
      <unit units="litre" exponent="-1"/>
   </units>
   <units name="monovalent_mEq_per_litre_per_minute">
      <unit units="mole" prefix="milli"/>
      <unit units="litre" exponent="-1"/>
      <unit units="minute" exponent="-1"/>
   </units>
   <units name="litre2_per_monovalent_mEq_per_minute">
      <unit units="litre" exponent="2"/>
      <unit units="mole" prefix="milli" exponent="-1"/>
      <unit units="minute" exponent="-1"/>
   </units>
   <units name="L_per_minute">
      <unit units="litre"/>
      <unit units="minute" exponent="-1"/>
   </units>
   <units name="mL">
      <unit units="litre" prefix="milli"/>
   </units>
   <units name="mL_per_L">
      <unit units="litre" prefix="milli"/>
      <unit units="litre" exponent="-1"/>
   </units>
   <units name="mL_per_L_per_mmHg">
      <unit units="litre" prefix="milli"/>
      <unit units="litre" exponent="-1"/>
      <unit units="mmHg" exponent="-1"/>
   </units>
   <units name="mL_per_L_per_minute">
      <unit units="litre" prefix="milli"/>
      <unit units="litre" exponent="-1"/>
      <unit units="minute" exponent="-1"/>
   </units>
   <units name="mL_per_minute_per_mmHg">
      <unit units="litre" prefix="milli"/>
      <unit units="minute" exponent="-1"/>
      <unit units="mmHg" exponent="-1"/>
   </units>
   <units name="L_mL_per_minute_per_mmHg">
      <unit units="litre"/>
      <unit units="litre" prefix="milli"/>
      <unit units="minute" exponent="-1"/>
      <unit units="mmHg" exponent="-1"/>
   </units>
   <units name="L_per_mL">
      <unit units="litre" prefix="milli" exponent="-1"/>
      <unit units="litre"/>
   </units>
   <units name="mL_per_minute">
      <unit units="mL"/>
      <unit units="minute" exponent="-1"/>
   </units>
   <units name="L_per_minute_per_mmHg">
      <unit units="litre"/>
      <unit units="minute" exponent="-1"/>
      <unit units="mmHg" exponent="-1"/>
   </units>

<!-- ============================================================================================================ -->

	
	<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
		<rdf:Description rdf:about="#pulmonary_O2_uptake_CellML1_0_model">
			<rdf:value>
			This section calculates the dynamics of oxygen uptake by the lungs, and calculates 
			also the combination of the oxygen with the hemoglobin of the blood.  
			</rdf:value>
		</rdf:Description>
	</rdf:RDF>

<!-- ========================================	ENVIRONMENT COMPONENT	============================================= -->
   <component name="environment">
      <variable cmeta:id="environment_time"
				name="time" units="minute" private_interface="none" public_interface="out"/>
   </component>

<!-- ========================================	PULMONARY OXYGEN UPTAKE TOP-LEVEL COMPONENT	============================================= -->
	<component 	name="pulmonary_O2_uptake" 
				cmeta:id="pulmonary_O2_uptake">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#pulmonary_O2_uptake">
				<rdf:value>
				Encapsulation grouping component containing all the components in the Pulmonary Oxygen Uptake Model. 
				The inputs and outputs of the Pulmonary Oxygen Uptake Model must be passed by this component.
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>

		<variable name="time"	units="minute"	private_interface="out" public_interface="in"/>

<!-- Inputs from components in other models -->
		<variable name="VPF"	initial_value="0.0123238"	units="litre" private_interface="out" public_interface="none"/>
		<variable name="DOB"	initial_value="163.508"		units="mL_per_minute" private_interface="out" public_interface="none"/>
		<variable name="QRO"	initial_value="4.97838"		units="L_per_minute"  private_interface="out" public_interface="none"/>
		<variable name="RMO" 	initial_value="56.8057"		units="mL_per_minute" private_interface="out" public_interface="none"/>
		<variable name="HM" 	initial_value="40.0381"		units="dimensionless" private_interface="out" public_interface="none"/>
	</component>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="pulmonary_O2_uptake" component_2="environment"/>
		<map_variables variable_1="time" variable_2="time"/>
	</connection>

<!-- ========================================	TOTAL O2 UTILIZATION	============================================= -->
	<component 	name="total_O2_utilization" 
				cmeta:id="total_O2_utilization">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#total_O2_utilization">
				<rdf:value>
				PO1:  
				Calculation of total oxygen utilization by the body (O2UTIL) by adding the oxygen
				usage by the muscles (RMO) plus oxygen usage by non-muscle parts of the body (DOB).
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#PO1">
				<rdf:value>
				PO1:  
				Calculation of total oxygen utilization by the body (O2UTIL) by adding the oxygen
				usage by the muscles (RMO) plus oxygen usage by non-muscle parts of the body (DOB).
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="DOB"	units="mL_per_minute" private_interface="none" public_interface="in"/>
		<variable name="RMO"	units="mL_per_minute" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable name="O2UTIL" 	units="mL_per_minute" private_interface="none" public_interface="out"/>

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="PO1">
				<eq/>
				<ci>O2UTIL</ci>
				<apply>
					<plus/>
					<ci>DOB</ci>
					<ci>RMO</ci>
				</apply>
			</apply>
		</math>
	</component>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="total_O2_utilization" component_2="pulmonary_O2_uptake"/>
		<map_variables variable_1="DOB" variable_2="DOB"/>
		<map_variables variable_1="RMO" variable_2="RMO"/>
	</connection>

<!-- ========================================	ALVEOLAR VENTILATION	============================================= -->
	<component 	name="alveolar_ventilation" 
				cmeta:id="alveolar_ventilation">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#alveolar_ventilation">
				<rdf:value>
				PO2:  
				Calculation of alveolar ventilation (ALVENT).  The details of this block will 
				be discussed in relation to blocks 14 through 24.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#PO2">
				<rdf:value>
				PO2:  
				Calculation of alveolar ventilation (ALVENT).  The details of this block will 
				be discussed in relation to blocks 14 through 24.
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="O2UTIL"	units="mL_per_minute" private_interface="none" public_interface="in"/>
		<variable name="O2VAD2"	units="dimensionless" private_interface="none" public_interface="in"/>
		<variable name="O2VTS2"	units="dimensionless" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable name="ALVENT" 	units="L_per_minute" private_interface="none" public_interface="out"/>

<!-- Parameters from parameter_file -->
		<variable name="VNTSTM"	units="dimensionless" private_interface="none" public_interface="in"/>

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="PO2">
				<eq/>
				<ci>ALVENT</ci>
				<apply>
					<times/>
					<ci>O2UTIL</ci>
					<ci>VNTSTM</ci>
					<cn cellml:units="L_per_mL">0.026667</cn>
					<ci>O2VTS2</ci>
					<ci>O2VAD2</ci>
				</apply>
			</apply>
		</math>
	</component>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="alveolar_ventilation" component_2="total_O2_utilization"/>
		<map_variables variable_1="O2UTIL" variable_2="O2UTIL"/>
	</connection>
	<connection>
		<map_components component_1="alveolar_ventilation" component_2="progressive_chemoreceptor_adaptation_of_alveolar_ventilation"/>
		<map_variables variable_1="O2VAD2" variable_2="O2VAD2"/>
	</connection>
	<connection>
		<map_components component_1="alveolar_ventilation" component_2="acute_chemoreceptor_adaptation_of_alveolar_ventilation"/>
		<map_variables variable_1="O2VTS2" variable_2="O2VTS2"/>
	</connection>

<!-- PARAMETER CONNECTIONS -->
	<connection>
		<map_components component_1="alveolar_ventilation" component_2="parameter_values"/>
		<map_variables variable_1="VNTSTM" variable_2="VNTSTM"/>
	</connection>

<!-- ========================================	ALVEOLAR OXYGEN PRESSURE	============================================= -->
	<component 	name="alveolar_PO2" 
				cmeta:id="alveolar_PO2">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#alveolar_PO2">
				<rdf:value>
				PO3 and PO4:  
				The output of block 3 is the decrease in oxygen pressure between the humidified
				air breathed into the trachea and the PO2 in the alveoli.  It is calculated by 
				dividing the rate of oxygen utilization (O2UTIL) by the rate of alveolar 
				ventilation (ALVENT) and by a constant.  Block PO4 calculates the alveolar PO2 (PO2ALV) 
				by subtracting the PO2 decrease (output of block 3) from the PO2 of ambient 
				humidified air (PO2AMB) entering the trachea.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#PO3_and_PO4">
				<rdf:value>
				PO3 and PO4:  
				The output of block 3 is the decrease in oxygen pressure between the humidified
				air breathed into the trachea and the PO2 in the alveoli.  It is calculated by 
				dividing the rate of oxygen utilization (O2UTIL) by the rate of alveolar 
				ventilation (ALVENT) and by a constant.  Block PO4 calculates the alveolar PO2 (PO2ALV) 
				by subtracting the PO2 decrease (output of block 3) from the PO2 of ambient 
				humidified air (PO2AMB) entering the trachea.
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="O2UTIL"	units="mL_per_minute" private_interface="none" public_interface="in"/>
		<variable name="ALVENT"	units="L_per_minute" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable name="PO2ALV" 	units="mmHg" private_interface="none" public_interface="out"/>

<!-- Parameters from parameter_file -->
		<variable name="PO2AMB"	units="mmHg" private_interface="none" public_interface="in"/>

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="PO3_and_PO4">
				<eq/>
				<ci>PO2ALV</ci>
				<apply>
					<minus/>
					<ci>PO2AMB</ci>
					<apply>
						<divide/>
						<apply>
							<divide/>
							<ci>O2UTIL</ci>
							<ci>ALVENT</ci>
						</apply>
						<cn cellml:units="mL_per_L_per_mmHg">0.761</cn>
					</apply>
				</apply>
			</apply>
		</math>
	</component>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="alveolar_PO2" component_2="total_O2_utilization"/>
		<map_variables variable_1="O2UTIL" variable_2="O2UTIL"/>
	</connection>
	<connection>
		<map_components component_1="alveolar_PO2" component_2="alveolar_ventilation"/>
		<map_variables variable_1="ALVENT" variable_2="ALVENT"/>
	</connection>

<!-- PARAMETER CONNECTIONS -->
	<connection>
		<map_components component_1="alveolar_PO2" component_2="parameter_values"/>
		<map_variables variable_1="PO2AMB" variable_2="PO2AMB"/>
	</connection>

<!-- ========================================	RESPIRATORY OXYGEN DIFFUSION INTO CAPILLARIES	============================================= -->
	<component 	name="respiratory_O2_diffusion_into_capillaries" 
				cmeta:id="respiratory_O2_diffusion_into_capillaries">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#respiratory_O2_diffusion_into_capillaries">
				<rdf:value>
				PO5:  Calculation of the pressure difference between alveolar PO2 (PO2ALV) and 
				arterialized blood PO2 (PO2ART) leaving the lungs.

				PO6 and PO7:  
				Calculation of the respiratory diffusion coefficient (RSPDFC) for diffusion of 
				oxygen between the alveoli and the blood leaving the pulmonary capillaries.  
				Block PO6 calculates a resistance to oxygen diffusion that varies in proportion
				to the amount of free fluid in the alveoli (VPF) and the amount of pulmonary tissue 
				through which the oxygen must diffuse (VPTISS).  Block 7 calculates the respiratory 
				diffusion coefficient (RSPDFC) by dividing a constant (PL2) by the resistance to 
				diffusion as calculated from block 6.

				PO8:  
				Calculation of the rate of oxygen diffusion through the pulmonary membrane into 
				the capillaries (O2DFS) by multiplying the pressure difference (output of Block PO5)
				between the alveoli and the pulmonary arterialized capillary blood times the respiratory
				diffusion coefficient (RSPDFC).
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#PO6_and_PO7">
				<rdf:value>
				PO6 and PO7:  
				Calculation of the respiratory diffusion coefficient (RSPDFC) for diffusion of 
				oxygen between the alveoli and the blood leaving the pulmonary capillaries.  
				Block PO6 calculates a resistance to oxygen diffusion that varies in proportion
				to the amount of free fluid in the alveoli (VPF) and the amount of pulmonary tissue 
				through which the oxygen must diffuse (VPTISS).  Block 7 calculates the respiratory 
				diffusion coefficient (RSPDFC) by dividing a constant (PL2) by the resistance to 
				diffusion as calculated from block 6.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#PO5_and_PO8">
				<rdf:value>
				PO5:  Calculation of the pressure difference between alveolar PO2 (PO2ALV) and 
				arterialized blood PO2 (PO2ART) leaving the lungs.

				PO8:  
				Calculation of the rate of oxygen diffusion through the pulmonary membrane into 
				the capillaries (O2DFS) by multiplying the pressure difference (output of Block PO5)
				between the alveoli and the pulmonary arterialized capillary blood times the respiratory
				diffusion coefficient (RSPDFC).
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="PO2ALV"	units="mmHg" private_interface="none" public_interface="in"/>
		<variable name="PO2ART"	units="mmHg" private_interface="none" public_interface="in"/>
		<variable name="VPF"	units="litre" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable name="O2DFS" 	units="mL_per_minute" private_interface="none" public_interface="out"/>

<!-- Parameters from parameter_file -->
		<variable name="PL2"	units="L_mL_per_minute_per_mmHg" private_interface="none" public_interface="in"/>
		<variable name="VPTISS"	units="litre" private_interface="none" public_interface="in"/>

<!-- Internal variables -->
		<variable name="RSPDFC"	units="mL_per_minute_per_mmHg" private_interface="none" public_interface="none"/>

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="PO6_and_PO7">
				<eq/>
				<ci>RSPDFC</ci>
				<apply>
					<divide/>
					<ci>PL2</ci>
					<apply>
						<plus/>
						<ci>VPTISS</ci>
						<ci>VPF</ci>
					</apply>
				</apply>
			</apply>
			<apply id="PO5_and_PO8">
				<eq/>
				<ci>O2DFS</ci>
				<apply>
					<times/>
					<apply>
						<minus/>
						<ci>PO2ALV</ci>
						<ci>PO2ART</ci>
					</apply>
					<ci>RSPDFC</ci>
				</apply>
			</apply>
		</math>
	</component>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="respiratory_O2_diffusion_into_capillaries" component_2="alveolar_PO2"/>
		<map_variables variable_1="PO2ALV" variable_2="PO2ALV"/>
	</connection>
	<connection>
		<map_components component_1="respiratory_O2_diffusion_into_capillaries" component_2="arterial_PO2"/>
		<map_variables variable_1="PO2ART" variable_2="PO2ART"/>
	</connection>
	<connection>
		<map_components component_1="respiratory_O2_diffusion_into_capillaries" component_2="pulmonary_O2_uptake"/>
		<map_variables variable_1="VPF" variable_2="VPF"/>
	</connection>

<!-- PARAMETER CONNECTIONS -->
	<connection>
		<map_components component_1="respiratory_O2_diffusion_into_capillaries" component_2="parameter_values"/>
		<map_variables variable_1="PL2" variable_2="PL2"/>
		<map_variables variable_1="VPTISS" variable_2="VPTISS"/>
	</connection>

<!-- ========================================	OXYGEN VOLUME OF ARTERIAL BLOOD	============================================= -->
	<component 	name="O2_volume_of_arterial_blood" 
				cmeta:id="O2_volume_of_arterial_blood">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#O2_volume_of_arterial_blood">
				<rdf:value>
				PO9:  
				Calculation of the difference between oxygen diffusion into the capillary blood 
				of the lungs (O2DFS) and the rate of oxygen utilization by the body (O2UTIL).

				PO10:  
				Calculation of the rate of change of oxygen per liter of blood passing through 
				the lungs (DOVA) by dividing the rate of change of total amount of oxygen entering 
				the arterial blood per minute (output of Block 9) by the rate of blood flow through 
				the lungs (QRO).  

				PO11:  
				Calculation of the volume of oxygen in milliliters in each liter of arterial blood (OVA) 
				leaving the left ventricle by integrating the rate of change of oxygen in the 
				arterial blood (DOVA) with respect to time.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#PO9_and_PO10">
				<rdf:value>
				PO9:  
				Calculation of the difference between oxygen diffusion into the capillary blood 
				of the lungs (O2DFS) and the rate of oxygen utilization by the body (O2UTIL).

				PO10:  
				Calculation of the rate of change of oxygen per liter of blood passing through 
				the lungs (DOVA) by dividing the rate of change of total amount of oxygen entering 
				the arterial blood per minute (output of Block 9) by the rate of blood flow through 
				the lungs (QRO).  
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#PO11">
				<rdf:value>
				PO11:  
				Calculation of the volume of oxygen in milliliters in each liter of arterial blood (OVA) 
				leaving the left ventricle by integrating the rate of change of oxygen in the 
				arterial blood (DOVA) with respect to time.
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="O2DFS"	units="mL_per_minute" private_interface="none" public_interface="in"/>
		<variable name="O2UTIL"	units="mL_per_minute" private_interface="none" public_interface="in"/>
		<variable name="QRO"	units="L_per_minute" private_interface="none" public_interface="in"/>
		<variable name="time"	units="minute" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable 	cmeta:id="O2_volume_of_arterial_blood_OVA"
					name="OVA" 	initial_value="204.497"	units="mL_per_L" private_interface="none" public_interface="out"/>

<!-- Internal variables -->
		<variable name="DOVA"	units="mL_per_L_per_minute" private_interface="none" public_interface="none"/>

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="PO9_and_PO10">
				<eq/>
				<ci>DOVA</ci>
				<apply>
					<divide/>
					<apply>
						<minus/>
						<ci>O2DFS</ci>
						<ci>O2UTIL</ci>
					</apply>
					<apply>
						<times/>
						<ci>QRO</ci>
						<cn cellml:units="minute">1.0</cn>
					</apply>
				</apply>
			</apply>
			<apply id="PO11">
				<eq/>
				<apply>
					<diff/>
					<bvar>
						<ci>time</ci>
					</bvar>
					<ci>OVA</ci>
				</apply>
				<ci>DOVA</ci>
			</apply>
		</math>
	</component>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="O2_volume_of_arterial_blood" component_2="respiratory_O2_diffusion_into_capillaries"/>
		<map_variables variable_1="O2DFS" variable_2="O2DFS"/>
	</connection>
	<connection>
		<map_components component_1="O2_volume_of_arterial_blood" component_2="total_O2_utilization"/>
		<map_variables variable_1="O2UTIL" variable_2="O2UTIL"/>
	</connection>
	<connection>
		<map_components component_1="O2_volume_of_arterial_blood" component_2="pulmonary_O2_uptake"/>
		<map_variables variable_1="QRO" variable_2="QRO"/>
		<map_variables variable_1="time" variable_2="time"/>
	</connection>

<!-- ========================================	ARTERIAL OXYGEN PRESSURE	============================================= -->
	<component 	name="arterial_PO2" 
				cmeta:id="arterial_PO2">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#arterial_PO2">
				<rdf:value>
				PO12:  
				Calculation of the arterial oxygen saturation (OSA) by dividing concentration 
				of arterial oxygen in the arterial blood (OVA) by the hematocrit (HM) and by a
				constant that relates the saturation to oxygen content.

				PO13:  
				Calculation of PO2 in the arterial blood (PO2ART) at each level of arterial 
				hemoglobin oxygen saturation (OSA).
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#PO12">
				<rdf:value>
				PO12:  
				Calculation of the arterial oxygen saturation (OSA) by dividing concentration 
				of arterial oxygen in the arterial blood (OVA) by the hematocrit (HM) and by a
				constant that relates the saturation to oxygen content.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#PO13">
				<rdf:value>
				PO13:  
				Calculation of PO2 in the arterial blood (PO2ART) at each level of arterial 
				hemoglobin oxygen saturation (OSA).
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="OVA"	units="mL_per_L" private_interface="none" public_interface="in"/>
		<variable name="HM"	units="dimensionless" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable 	cmeta:id="arterial_PO2_PO2ART"
					name="PO2ART" 	units="mmHg" private_interface="none" public_interface="out"/>
		<variable 	cmeta:id="arterial_PO2_OSA"
					name="OSA" 	units="dimensionless" private_interface="none" public_interface="out"/>

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="PO12">
				<eq/>
				<ci>OSA</ci>
				<apply>
					<divide/>
					<apply>
						<divide/>
						<ci>OVA</ci>
						<ci>HM</ci>
					</apply>
					<cn cellml:units="dimensionless">5.25</cn>
				</apply>
			</apply>
			<apply id="PO13">
				<eq/>
				<ci>PO2ART</ci>
				<piecewise>
					<piece>
						<apply>
							<plus/>
							<cn cellml:units="mmHg">114</cn>
							<apply>
								<times/>
								<apply>
									<minus/>
									<ci>OSA</ci>
									<cn cellml:units="dimensionless">1</cn>
								</apply>
								<cn cellml:units="mmHg">6667</cn>
							</apply>
						</apply>
						<apply>
							<gt/>
							<ci>OSA</ci>
							<cn cellml:units="dimensionless">1</cn>
						</apply>
					</piece>
					<piece>
						<apply>
							<plus/>
							<cn cellml:units="mmHg">74</cn>
							<apply>
								<times/>
								<apply>
									<minus/>
									<ci>OSA</ci>
									<cn cellml:units="dimensionless">0.936</cn>
								</apply>
								<cn cellml:units="mmHg">625</cn>
							</apply>
						</apply>
						<apply>
							<and/>
							<apply>
								<gt/>
								<ci>OSA</ci>
								<cn cellml:units="dimensionless">0.936</cn>
							</apply>
							<apply>
								<leq/>
								<ci>OSA</ci>
								<cn cellml:units="dimensionless">1</cn>
							</apply>
						</apply>
					</piece>
					<piece>
						<apply>
							<plus/>
							<cn cellml:units="mmHg">46</cn>
							<apply>
								<times/>
								<apply>
									<minus/>
									<ci>OSA</ci>
									<cn cellml:units="dimensionless">0.8</cn>
								</apply>
								<cn cellml:units="mmHg">205.882</cn>
							</apply>
						</apply>
						<apply>
							<and/>
							<apply>
								<gt/>
								<ci>OSA</ci>
								<cn cellml:units="dimensionless">0.8</cn>
							</apply>
							<apply>
								<leq/>
								<ci>OSA</ci>
								<cn cellml:units="dimensionless">0.936</cn>
							</apply>
						</apply>
					</piece>
					<otherwise>
						<apply>
							<times/>
							<ci>OSA</ci>
							<cn cellml:units="mmHg">57.5</cn>
						</apply>
					</otherwise>
				</piecewise>
			</apply>
		</math>
	</component>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="arterial_PO2" component_2="O2_volume_of_arterial_blood"/>
		<map_variables variable_1="OVA" variable_2="OVA"/>
	</connection>
	<connection>
		<map_components component_1="arterial_PO2" component_2="pulmonary_O2_uptake"/>
		<map_variables variable_1="HM" variable_2="HM"/>
	</connection>

<!-- =====================================		CHEMORECEPTOR ADAPTATION OF ALVEOLAR VENTILATION		========================================= -->
	<component 	name="chemoreceptor_adaptation_of_alveolar_ventilation" 
				cmeta:id="chemoreceptor_adaptation_of_alveolar_ventilation">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#chemoreceptor_adaptation_of_alveolar_ventilation">
				<rdf:value>
				Containment grouping component for "acute_chemoreceptor_adaptation_of_alveolar_ventilation"
				and "progressive_chemoreceptor_adaptation_of_alveolar_ventilation".

				PO14, PO15, PO16, PO17, PO18, PO19, PO20, PO21, PO22, PO23, PO24, and PO22:  
				This system of blocks calculates the effect of the O2 chemoreceptors in the carotid 
				and aortic bodies on alveoli ventilation (ALVENT).  That is, when the arterial PO2 
				from Block 13 (PO2ART) falls below normal, this increases the alveolar ventilation 
				because of increased chemoreceptor stimulation.  The increase in ventilation occurs 
				in two stages.  One of these is an acute stage (calculated in Blocks 14-18) which 
				becomes fully activated within a few minutes.  The second stage is a progressive 
				adaptation of this chemoreceptor control mechanism to increase pulmonary ventilation 
				another several fold over 1 to 3 days (calculated in Blocks 19-24).  

				The output of Block 18 (O2VTS2) is the initial acute adjustment of ventilation.  
				Blocks 16 and 17 set the upper and lower limits to this acute response to low oxygen.  
				The delayed effect on ventilation is the output of Block 24 (O2VAD2).  Blocks 19, 20, 
				and 21 adjust the sensitivity of this delayed response.  Block 22 provides the time 
				constant for this response.  Block 2 multiplies the short-time constant response (O2VST2) 
				times the long-time constant response (O2VAD2).  Another input to Block 2 is the rate 
				of oxygen utilization by the body [O2UTIL].  Physiologically, this is not a stimulus 
				to ventilation.  However, in this model we do not calculate CO2 in the blood which is 
				a powerful stimulant of ventilation.  Since the amount of carbon dioxide that is formed
				over a period of minutes is approximately proportional to the rate of oxygen utilization, 
				we have used this O2UTIL factor as one of the normalized stimulatory factors of alveolar 
				ventilation in Block 2, but realizing that this is simply a substitute for rate of carbon 
				dioxide formation if the model were worked out in much greater detail.  Still another input
				is a special factor (VNTSTM) which allows the overall level of alveolar ventilation to be 
				increased or decreased artificially.
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>

	</component>
	
<!-- ===================================	ACUTE CHEMORECEPTOR ADAPTATION OF ALVEOLAR VENTILATION		================================== -->
	<component 	name="acute_chemoreceptor_adaptation_of_alveolar_ventilation" 
				cmeta:id="acute_chemoreceptor_adaptation_of_alveolar_ventilation">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#acute_chemoreceptor_adaptation_of_alveolar_ventilation">
				<rdf:value>
				See description in "chemoreceptor_adaptation_of_alveolar_ventilation".
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="PO2ART"	units="mmHg" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable name="O2VTS2" 	units="dimensionless" private_interface="none" public_interface="out"/>

<!-- Internal variables -->
		<variable name="O2VTST"	units="dimensionless" private_interface="none" public_interface="none"/>
		<variable name="O2VTST1"	units="dimensionless" private_interface="none" public_interface="none"/>

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="PO14_and_PO15">
				<eq/>
				<ci>O2VTST1</ci>
				<apply>
					<divide/>
					<apply>
						<minus/>
						<ci>PO2ART</ci>
						<cn cellml:units="mmHg">67</cn>
					</apply>
					<cn cellml:units="mmHg">30</cn>
				</apply>
			</apply>
			<apply id="PO16_and_PO17">
				<eq/>
				<ci>O2VTST</ci>
				<piecewise>
					<piece>
						<cn cellml:units="dimensionless">1</cn>
						<apply>
							<gt/>
							<ci>O2VTST1</ci>
							<cn cellml:units="dimensionless">1</cn>
						</apply>
					</piece>
					<piece>
						<cn cellml:units="dimensionless">0.6</cn>
						<apply>
							<lt/>
							<ci>O2VTST1</ci>
							<cn cellml:units="dimensionless">0.6</cn>
						</apply>
					</piece>
					<otherwise>
						<ci>O2VTST1</ci>
					</otherwise>
				</piecewise>
			</apply>
			<apply id="PO18">
				<eq/>
				<ci>O2VTS2</ci>
				<apply>
					<divide/>
					<cn cellml:units="dimensionless">1</cn>
					<ci>O2VTST</ci>
				</apply>
			</apply>
		</math>
	</component>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="acute_chemoreceptor_adaptation_of_alveolar_ventilation" component_2="arterial_PO2"/>
		<map_variables variable_1="PO2ART" variable_2="PO2ART"/>
	</connection>

<!-- ==============================	PROGRESSIVE CHEMORECEPTOR ADAPTATION OF ALVEOLAR VENTILATION	================================== -->
	<component 	name="progressive_chemoreceptor_adaptation_of_alveolar_ventilation" 
				cmeta:id="progressive_chemoreceptor_adaptation_of_alveolar_ventilation">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#progressive_chemoreceptor_adaptation_of_alveolar_ventilation">
				<rdf:value>
				See description in chemoreceptor_adaptation_of_alveolar_ventilation.
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="O2VTS2"	units="dimensionless" private_interface="none" public_interface="in"/>
		<variable name="time"	units="minute" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable name="O2VAD2" 	units="dimensionless" private_interface="none" public_interface="out"/>

<!-- Internal variables -->
		<variable name="DO2VAD"	units="per_minute" private_interface="none" public_interface="none"/>
		<variable name="O2VAD1"	initial_value="2.368e-07"	units="dimensionless" private_interface="none" public_interface="none"/>

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="PO19_to_PO22">
				<eq/>
				<ci>DO2VAD</ci>
				<apply>
					<times/>
					<apply>
						<minus/>
						<apply>
							<times/>
							<apply>
								<minus/>
								<ci>O2VTS2</ci>
								<cn cellml:units="dimensionless">1</cn>
							</apply>
							<cn cellml:units="dimensionless">3</cn>
						</apply>
						<ci>O2VAD1</ci>
					</apply>
					<cn cellml:units="per_minute">0.0005</cn>
				</apply>
			</apply>
			<apply id="PO23">
				<eq/>
				<apply>
					<diff/>
					<bvar>
						<ci>time</ci>
					</bvar>
					<ci>O2VAD1</ci>
				</apply>
				<ci>DO2VAD</ci>
			</apply>
			<apply id="PO24">
				<eq/>
				<ci>O2VAD2</ci>
				<apply>
					<plus/>
					<ci>O2VAD1</ci>
					<cn cellml:units="dimensionless">1</cn>
				</apply>
			</apply>
		</math>
	</component>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="progressive_chemoreceptor_adaptation_of_alveolar_ventilation" component_2="acute_chemoreceptor_adaptation_of_alveolar_ventilation"/>
		<map_variables variable_1="O2VTS2" variable_2="O2VTS2"/>
	</connection>
	<connection>
		<map_components component_1="progressive_chemoreceptor_adaptation_of_alveolar_ventilation" component_2="pulmonary_O2_uptake"/>
		<map_variables variable_1="time" variable_2="time"/>
	</connection>

<!-- ==========================================================	PARAMETER VALUES	================================================================ -->
	<component 	name="parameter_values"
				cmeta:id="parameter_values">
		<variable name="PO2AMB" 	units="mmHg" 	initial_value="150"			private_interface="none"	public_interface="out"/>	<!-- ambiant PO2 -->
		<variable name="PL2" 		units="L_mL_per_minute_per_mmHg" 	initial_value="1.8"			private_interface="none"	public_interface="out"/>	<!-- constant, computation of RSPDFC [P] -->
		<variable name="VPTISS" 	units="litre" 	initial_value="0.0175"		private_interface="none"	public_interface="out"/>	<!-- pulmonary tissue fluid volume [P] -->
		<variable name="VNTSTM" 	units="dimensionless" 	initial_value="1"			private_interface="none"	public_interface="out"/>	<!-- sensitivity controller for alveolar ventilation [P] -->
	</component>
	
<!-- ============================================================		GROUPING		=============================================================== -->
	<group>
		<relationship_ref relationship="containment"/>
		<component_ref component="pulmonary_O2_uptake">
			<component_ref component="total_O2_utilization"/>
			<component_ref component="alveolar_ventilation"/>
			<component_ref component="alveolar_PO2"/>
			<component_ref component="respiratory_O2_diffusion_into_capillaries"/>
			<component_ref component="O2_volume_of_arterial_blood"/>
			<component_ref component="arterial_PO2"/>
			<component_ref component="chemoreceptor_adaptation_of_alveolar_ventilation">
				<component_ref component ="acute_chemoreceptor_adaptation_of_alveolar_ventilation"/>
				<component_ref component ="progressive_chemoreceptor_adaptation_of_alveolar_ventilation"/>
			</component_ref>
		</component_ref>
	</group>


	<group>
		<relationship_ref relationship="encapsulation"/>
		<component_ref component="pulmonary_O2_uptake">
			<component_ref component="parameter_values"/>
			<component_ref component="total_O2_utilization"/>
			<component_ref component="alveolar_ventilation"/>
			<component_ref component="alveolar_PO2"/>
			<component_ref component="respiratory_O2_diffusion_into_capillaries"/>
			<component_ref component="O2_volume_of_arterial_blood"/>
			<component_ref component="arterial_PO2"/>
			<component_ref component="chemoreceptor_adaptation_of_alveolar_ventilation"/>
			<component_ref component ="acute_chemoreceptor_adaptation_of_alveolar_ventilation"/>
			<component_ref component ="progressive_chemoreceptor_adaptation_of_alveolar_ventilation"/>
		</component_ref>
	</group>

 
<!-- SIMULATION METADATA -->
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <RDF:Description RDF:about="#pulmonary_O2_uptake_CellML1_0_model">
    <NS1:simulation xmlns:NS1="http://www.cellml.org/metadata/simulation/1.0#" RDF:resource="rdf:#$QQv43"/>
  </RDF:Description>
  <RDF:Description RDF:about="rdf:#$4SdBX3">
    <RDF:first RDF:resource="rdf:#$5SdBX3"/>
    <RDF:rest RDF:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
  </RDF:Description>
  <RDF:Description RDF:about="rdf:#$3SdBX3">
    <NS1:boundIntervals xmlns:NS1="http://www.cellml.org/metadata/simulation/1.0#" RDF:resource="rdf:#$4SdBX3"/>
  </RDF:Description>
  <RDF:Description xmlns:NS1="http://www.cellml.org/metadata/simulation/1.0#" RDF:about="rdf:#$5SdBX3" NS1:endingValue="4"/>
  <RDF:Description xmlns:NS1="http://www.cellml.org/metadata/simulation/1.0#" RDF:about="rdf:#$SQv43" NS1:endingValue="4" NS1:nonstandard-pointDensity="10000"/>
  <RDF:Description xmlns:NS1="http://www.cellml.org/metadata/simulation/1.0#" RDF:about="rdf:#$d2Cb93" NS1:nonstandard-pointDensity="100000"/>
  <RDF:Description RDF:about="#pulmonary_O2_uptake_CellML1_0_model#LfY7zdZ%60EYs">
    <NS1:simulation xmlns:NS1="http://www.cellml.org/metadata/simulation/1.0#" RDF:resource="rdf:#$b2Cb93"/>
    <NS1:simulation xmlns:NS1="http://www.cellml.org/metadata/simulation/1.0#" RDF:resource="rdf:#$3SdBX3"/>
  </RDF:Description>
  <RDF:Description RDF:about="rdf:#$QQv43">
    <NS1:boundIntervals xmlns:NS1="http://www.cellml.org/metadata/simulation/1.0#" RDF:resource="rdf:#$RQv43"/>
  </RDF:Description>
  <RDF:Description RDF:about="rdf:#$RQv43">
    <RDF:first RDF:resource="rdf:#$SQv43"/>
    <RDF:rest RDF:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
  </RDF:Description>
  <RDF:Description RDF:about="rdf:#$b2Cb93">
    <NS1:boundIntervals xmlns:NS1="http://www.cellml.org/metadata/simulation/1.0#" RDF:resource="rdf:#$c2Cb93"/>
  </RDF:Description>
  <RDF:Description RDF:about="rdf:#$c2Cb93">
    <RDF:first RDF:resource="rdf:#$d2Cb93"/>
    <RDF:rest RDF:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
  </RDF:Description>
</RDF:RDF>

</model>