Location: Guyton, Heart Hypertrophy or Deterioration, 2008 @ bf2aede8c806 / hypertrophy_or_deterioration.cellml

Author:
jonna <devnull@localhost>
Date:
2009-07-16 14:52:38+12:00
Desc:
Added General Files. Changed links of dependencies so can open from web-browser. Added RDF metadata for citation and keywords, removed publication link from documentation.
Permanent Source URI:
http://models.cellml.org/workspace/guyton_heart_hypertrophy_or_deterioration_2008/rawfile/bf2aede8c8068b23137244190abdb0e8efb94667/hypertrophy_or_deterioration.cellml

<?xml version="1.0" encoding="utf-8"?>
<model 
	name="heart_hypertrophy_or_deterioration_model"
	cmeta:id="heart_hypertrophy_or_deterioration_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="#heart_hypertrophy_or_deterioration_model">
			<rdf:value>
			Effect of heart hypertrophy or heart deterioration on heart pumping capability.
			</rdf:value>
		</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>


<!-- ========================================	HEART HYPERTROPHY OR DETERIORATION TOP-LEVEL COMPONENT		============================================= -->
	<component 	name="heart_hypertrophy_or_deterioration" 
				cmeta:id="heart_hypertrophy_or_deterioration">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#heart_hypertrophy_or_deterioration">
				<rdf:value>
				Encapsulation grouping component containing all the components in the Heart Hypertrophy or Deterioration Model. 
				The inputs and outputs of the  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="QAO"	units="L_per_minute" private_interface="out" public_interface="in"/>
		<variable name="PA"	units="mmHg" private_interface="out" public_interface="in"/>
		<variable name="POT"	units="mmHg" private_interface="out" public_interface="in"/>
		<variable name="PPA"	units="mmHg" private_interface="out" public_interface="in"/>

<!-- Outputs to components in other models -->
		<variable name="HPL" 	units="dimensionless" private_interface="in" public_interface="out"/>
		<variable name="HPR" 	units="dimensionless" private_interface="in" public_interface="out"/>
		<variable name="HMD" 	units="dimensionless" private_interface="in" public_interface="out"/>
	</component>

<!-- OUTPUT CONNECTIONS -->
<!--	<connection>
		<map_components component_1="heart_hypertrophy_or_deterioration" component_2="left_ventricular_hypertrophy"/>
		<map_variables variable_1="HPL" variable_2="HPL"/>
	</connection> -->
<!--	<connection>
		<map_components component_1="heart_hypertrophy_or_deterioration" component_2="right_ventricular_hypertrophy"/>
		<map_variables variable_1="HPR" variable_2="HPR"/>
	</connection> -->
<!--	<connection>
		<map_components component_1="heart_hypertrophy_or_deterioration" component_2="heart_deterioration"/>
		<map_variables variable_1="HMD" variable_2="HMD"/>
	</connection> -->

<!-- ========================================	DEGREE OF LEFT VENTRICULAR HYPERTROPHY	============================================= -->
	<component 	name="left_ventricular_hypertrophy" 
				cmeta:id="left_ventricular_hypertrophy">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#left_ventricular_hypertrophy">
				<rdf:value>
				HH1A, HH1, and HH2:  
				Calculation of a quantitative value (output of Block HH2) which is a multiplier 
				that is approached asymptotically in response to three factors that cause left 
				ventricular hypertrophy, (1) the arterial pressure (PA), (2) the cardiac output (QAO), 
				and (3) the basic strength of the heart (HSL).  The degree of hypertrophy in response 
				to the input factors is controlled by the exponent (Z13) in Block HH2.

				HH3, HH4, and HH5:  
				Calculation of the actual degree of hypertrophy of the left ventricle (HPL) that 
				results over a period of time in response to arterial pressure (PA), cardiac output (QAO), 
				and basic left ventricular strength (HSL).  The value HPL approaches the output value 
				from Block HH2 asymptotically with a time constant equal to the input variable at the 
				side of Block HH4.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#HH1_to_HH5">
				<rdf:value>
				HH1A, HH1, and HH2:  
				Calculation of a quantitative value (output of Block HH2) which is a multiplier 
				that is approached asymptotically in response to three factors that cause left 
				ventricular hypertrophy, (1) the arterial pressure (PA), (2) the cardiac output (QAO), 
				and (3) the basic strength of the heart (HSL).  The degree of hypertrophy in response 
				to the input factors is controlled by the exponent (Z13) in Block HH2.

				HH3, HH4, and HH5:  
				Calculation of the actual degree of hypertrophy of the left ventricle (HPL) that 
				results over a period of time in response to arterial pressure (PA), cardiac output (QAO), 
				and basic left ventricular strength (HSL).  The value HPL approaches the output value 
				from Block HH2 asymptotically with a time constant equal to the input variable at the 
				side of Block HH4.
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="QAO"	units="L_per_minute" private_interface="none" public_interface="in"/>
		<variable name="PA"		units="mmHg" private_interface="none" public_interface="in"/>
		<variable name="HPL_init"		units="dimensionless" private_interface="none" public_interface="in"/>
		<variable name="time"	units="minute" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable 	cmeta:id="left_ventricular_hypertrophy_HPL"
					name="HPL" 	initial_value="HPL_init"	units="dimensionless" private_interface="none" public_interface="out"/>

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

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="HH1_to_HH5">
				<eq/>
				<apply>
					<diff/>
					<bvar>
						<ci>time</ci>
					</bvar>
					<ci>HPL</ci>
				</apply>
				<apply>
					<divide/>
					<apply>
						<minus/>
						<apply>
							<power/>
							<apply>
								<divide/>
								<apply>
									<times/>
									<ci>PA</ci>
									<ci>QAO</ci>
								</apply>
								<apply>
									<times/>
									<cn cellml:units="mmHg_L_per_minute">500</cn>
									<ci>HSL</ci>
								</apply>
							</apply>
							<ci>Z13</ci>
						</apply>
						<ci>HPL</ci>
					</apply>
					<cn cellml:units="minute">57600</cn>
				</apply>
			</apply>
		</math>
	</component>

<!-- STATE VARIABLES INITIAL VALUE -->
	<connection>
		<map_components component_1="left_ventricular_hypertrophy" component_2="state_variables"/>
		<map_variables variable_1="HPL_init" variable_2="HPL_init"/>
	</connection>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="left_ventricular_hypertrophy" component_2="heart_hypertrophy_or_deterioration"/>
		<map_variables variable_1="HPL" variable_2="HPL"/>
		<map_variables variable_1="QAO" variable_2="QAO"/>
		<map_variables variable_1="PA" variable_2="PA"/>
		<map_variables variable_1="time" variable_2="time"/>
	</connection>

<!-- PARAMETER CONNECTIONS -->
	<connection>
		<map_components component_1="left_ventricular_hypertrophy" component_2="parameter_values"/>
		<map_variables variable_1="HSL" variable_2="HSL"/>
		<map_variables variable_1="Z13" variable_2="Z13"/>
	</connection>

<!-- ========================================	DEGREE OF RIGHT VENTRICULAR HYPERTROPHY	============================================= -->
	<component 	name="right_ventricular_hypertrophy" 
				cmeta:id="right_ventricular_hypertrophy">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#right_ventricular_hypertrophy">
				<rdf:value>
				HH6A, HH6, HH7, HH8, HH9, and HH10:  
				Calculation of the degree of hypertrophy of the right ventricle (HPR) according 
				to the same scheme as noted above for left ventricular hypertrophy, but with different 
				inputs:  pulmonary arterial pressure (PPA), cardiac output (QAO), and basic normal 
				strength of the right heart (HSR).
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#HH6_to_HH10">
				<rdf:value>
				HH6A, HH6, HH7, HH8, HH9, and HH10:  
				Calculation of the degree of hypertrophy of the right ventricle (HPR) according 
				to the same scheme as noted above for left ventricular hypertrophy, but with different 
				inputs:  pulmonary arterial pressure (PPA), cardiac output (QAO), and basic normal 
				strength of the right heart (HSR).
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="QAO"	units="L_per_minute" private_interface="none" public_interface="in"/>
		<variable name="PPA"	units="mmHg" private_interface="none" public_interface="in"/>
		<variable name="HPR_init"	units="dimensionless" private_interface="none" public_interface="in"/>
		<variable name="time"	units="minute" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable 	cmeta:id="right_ventricular_hypertrophy_HPR"
					name="HPR" 	initial_value="HPR_init"	units="dimensionless" private_interface="none" public_interface="out"/>

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

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="HH6_to_HH10">
				<eq/>
				<apply>
					<diff/>
					<bvar>
						<ci>time</ci>
					</bvar>
					<ci>HPR</ci>
				</apply>
				<apply>
					<divide/>
					<apply>
						<minus/>
						<apply>
							<power/>
							<apply>
								<divide/>
								<apply>
									<times/>
									<ci>PPA</ci>
									<ci>QAO</ci>
								</apply>
								<apply>
									<times/>
									<cn cellml:units="mmHg_L_per_minute">75</cn>
									<ci>HSR</ci>
								</apply>
							</apply>
							<ci>Z13</ci>
						</apply>
						<ci>HPR</ci>
					</apply>
					<cn cellml:units="minute">57600</cn>
				</apply>
			</apply>
		</math>
	</component>

<!-- STATE VARIABLES INITIAL VALUE -->
	<connection>
		<map_components component_1="right_ventricular_hypertrophy" component_2="state_variables"/>
		<map_variables variable_1="HPR_init" variable_2="HPR_init"/>
	</connection>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="right_ventricular_hypertrophy" component_2="heart_hypertrophy_or_deterioration"/>
		<map_variables variable_1="HPR" variable_2="HPR"/>
		<map_variables variable_1="QAO" variable_2="QAO"/>
		<map_variables variable_1="PPA" variable_2="PPA"/>
		<map_variables variable_1="time" variable_2="time"/>
	</connection>

<!-- PARAMETER CONNECTIONS -->
	<connection>
		<map_components component_1="right_ventricular_hypertrophy" component_2="parameter_values"/>
		<map_variables variable_1="HSR" variable_2="HSR"/>
		<map_variables variable_1="Z13" variable_2="Z13"/>
	</connection>

<!-- ========================================	HEART DETERIORATION	============================================= -->
	<component 	name="heart_deterioration" 
				cmeta:id="heart_deterioration">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#heart_deterioration">
				<rdf:value>
				HH11, HH12, HH13, and HH14:  
				Calculation of a multiplier factor that decreases cardiac pumping effectiveness (HMD) 
				when the cellular P02 of the heart muscle cells (POT) falls too low.  The sensitivity 
				control is DHDTR, and the effect is limited by Block HH14 so that no change in HMD 
				occurs until the cell PO2 falls below the input value to the side of Block HH11.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#HH11_and_HH12">
				<rdf:value>
				HH11, HH12, HH13, and HH14:  
				Calculation of a multiplier factor that decreases cardiac pumping effectiveness (HMD) 
				when the cellular P02 of the heart muscle cells (POT) falls too low.  The sensitivity 
				control is DHDTR, and the effect is limited by Block HH14 so that no change in HMD 
				occurs until the cell PO2 falls below the input value to the side of Block HH11.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#HH13">
				<rdf:value>
				HH11, HH12, HH13, and HH14:  
				Calculation of a multiplier factor that decreases cardiac pumping effectiveness (HMD) 
				when the cellular P02 of the heart muscle cells (POT) falls too low.  The sensitivity 
				control is DHDTR, and the effect is limited by Block HH14 so that no change in HMD 
				occurs until the cell PO2 falls below the input value to the side of Block HH11.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#HH14">
				<rdf:value>
				HH11, HH12, HH13, and HH14:  
				Calculation of a multiplier factor that decreases cardiac pumping effectiveness (HMD) 
				when the cellular P02 of the heart muscle cells (POT) falls too low.  The sensitivity 
				control is DHDTR, and the effect is limited by Block HH14 so that no change in HMD 
				occurs until the cell PO2 falls below the input value to the side of Block HH11.
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="POT"	units="mmHg" private_interface="none" public_interface="in"/>
		<variable name="HMD1_init"	units="dimensionless" private_interface="none" public_interface="in"/>
		<variable name="time"	units="minute" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable 	cmeta:id="heart_deterioration_HMD"
					name="HMD" 	units="dimensionless" private_interface="none" public_interface="out"/>

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

<!-- Internal variables -->
		<variable name="HMD1"	initial_value="HMD1_init"	units="dimensionless" private_interface="none" public_interface="none"/>
		<variable name="DHM"	units="per_minute" private_interface="none" public_interface="none"/>

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="HH11_and_HH12">
				<eq/>
				<ci>DHM</ci>
				<apply>
					<times/>
					<apply>
						<minus/>
						<ci>POT</ci>
						<cn cellml:units="mmHg">10</cn>
					</apply>
					<ci>DHDTR</ci>
				</apply>
			</apply>
			<apply id="HH13">
				<eq/>
				<apply>
					<diff/>
					<bvar>
						<ci>time</ci>
					</bvar>
					<ci>HMD1</ci>
				</apply>
				<ci>DHM</ci>
			</apply>
			<apply id="HH14">
				<eq/>
				<ci>HMD</ci>
				<piecewise>
					<piece>
						<cn cellml:units="dimensionless">1</cn>
						<apply>
							<gt/>
							<ci>HMD1</ci>
							<cn cellml:units="dimensionless">1</cn>
						</apply>
					</piece>
					<otherwise>
						<ci>HMD1</ci>
					</otherwise>
				</piecewise>
			</apply>
		</math>
	</component>

<!-- STATE VARIABLES INITIAL VALUE -->
	<connection>
		<map_components component_1="heart_deterioration" component_2="state_variables"/>
		<map_variables variable_1="HMD1_init" variable_2="HMD1_init"/>
	</connection>

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="heart_deterioration" component_2="heart_hypertrophy_or_deterioration"/>
		<map_variables variable_1="HMD" variable_2="HMD"/>
		<map_variables variable_1="POT" variable_2="POT"/>
		<map_variables variable_1="time" variable_2="time"/>
	</connection>

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

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

   <group>
		<relationship_ref relationship="containment"/>
		<component_ref component="heart_hypertrophy_or_deterioration">
			<component_ref component="left_ventricular_hypertrophy"/>
			<component_ref component="right_ventricular_hypertrophy"/>
			<component_ref component="heart_deterioration"/>
		</component_ref>
   </group>
      
   <group>
		<relationship_ref relationship="encapsulation"/>
		<component_ref component="heart_hypertrophy_or_deterioration">
			<component_ref component="parameter_values"/>
			<component_ref component="state_variables"/>
			<component_ref component="left_ventricular_hypertrophy"/>
			<component_ref component="right_ventricular_hypertrophy"/>
			<component_ref component="heart_deterioration"/>
		</component_ref>
   </group>
   
</model>