Location: Guyton, Stress, Relaxation, 2008 @ b867919293f1 / stress.cellml

Author:
Tommy Yu <tommy.yu@auckland.ac.nz>
Date:
2010-08-25 18:19:10+12:00
Desc:
xml:base fix
Permanent Source URI:
http://models.cellml.org/workspace/guyton_stress_relaxation_2008/rawfile/b867919293f1bf0c48f03c98b944a488500c3e42/stress.cellml

<?xml version="1.0" encoding="utf-8"?>
<model 
	name="stress_relaxation_model"
	cmeta:id="stress_relaxation_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="#stress_relaxation_model">
			<rdf:value>
			Effect of Stress Relaxation on Basic Venous Volume (V0)
			This section calculates the effect over a period of time caused by excess volume 
			(or too little volume) in the venous tree to cause changes in the volume holding 
			capacity of the venous tree when it is fully filled with blood but at zero pressure.  
			In this model, there are two separate parallel stress relaxations of the veins.  
			One of these has a short time constant (SRK) and the other has a long time constant (SRK2).
			</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>


<!-- ========================================	STRESS RELAXATION TOP-LEVEL COMPONENT	============================================= -->
	<component 	name="stress_relaxation" 
				cmeta:id="stress_relaxation">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#stress_relaxation">
				<rdf:value>
				Encapsulation grouping component containing all the components in the Stress Relaxation Model. The inputs and 
				outputs of the Stress Relaxation 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="VVE"	units="litre" private_interface="out" public_interface="in"/>

<!-- Outputs to components in other models -->
		<variable name="VV6" 	units="litre" private_interface="in" public_interface="out"/>
		<variable name="VV7" 	units="litre" private_interface="in" public_interface="out"/>
	</component>

<!-- OUTPUT CONNECTIONS -->
<!--	<connection>
		<map_components component_1="stress_relaxation" component_2="short_term_stress_relaxation"/>
		<map_variables variable_1="VV7" variable_2="VV7"/>
	</connection> -->
<!--	<connection>
		<map_components component_1="stress_relaxation" component_2="long_term_stress_relaxation"/>
		<map_variables variable_1="VV6" variable_2="VV6"/>
	</connection> -->

<!-- ========================================	SHORT-TERM STRESS RELAXATION	============================================= -->
	<component 	name="short_term_stress_relaxation" 
				cmeta:id="short_term_stress_relaxation">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#short_term_stress_relaxation">
				<rdf:value>
				SR1 and SR2:  
				Calculation of the ultimate degree of change in basic venous volume to 
				be caused by the short-term stress relaxation factor with input to the 
				system equal to the instantaneous excess venous volume (VVE); a multiplier 
				factor controls the degree of stress relaxation that will occur (SR).

				SR3, SR4, and SR5:  
				This is a delay circuit having a short time constant (SRK).  The output of 
				this circuit (VV7) approaches the ultimate degree of stress relaxation 
				caused by short-term stress relaxation as calculated from Block SR2.
				NB - REMOVED THE DAMPING FROM THE INTEGRAL!!!
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#SR1_to_SR5">
				<rdf:value>
				SR1 and SR2:  
				Calculation of the ultimate degree of change in basic venous volume to 
				be caused by the short-term stress relaxation factor with input to the 
				system equal to the instantaneous excess venous volume (VVE); a multiplier 
				factor controls the degree of stress relaxation that will occur (SR).

				SR3, SR4, and SR5:  
				This is a delay circuit having a short time constant (SRK).  The output of 
				this circuit (VV7) approaches the ultimate degree of stress relaxation 
				caused by short-term stress relaxation as calculated from Block SR2.
				NB - REMOVED THE DAMPING FROM THE INTEGRAL!!!
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="VVE"	units="litre" private_interface="none" public_interface="in"/>
		<variable name="VV7_init"	units="litre" private_interface="none" public_interface="in"/>
		<variable name="time"	units="minute"	private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable	cmeta:id="short_term_stress_relaxation_VV7"
					name="VV7" 	initial_value="VV7_init"	units="litre" private_interface="none" public_interface="out"/>

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

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="SR1_to_SR5">
				<eq/>
				<apply>
					<diff/>
					<bvar>
						<ci>time</ci>
					</bvar>
					<ci>VV7</ci>
				</apply>
				<apply>
					<divide/>
					<apply>
						<minus/>
						<apply>
							<times/>
							<apply>
								<minus/>
								<ci>VVE</ci>
								<cn cellml:units="litre">0.74</cn>
							</apply>
							<ci>SR</ci>
						</apply>
						<ci>VV7</ci>
					</apply>
					<ci>SRK</ci>
				</apply>
			</apply>
		</math>
	</component>

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

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="short_term_stress_relaxation" component_2="stress_relaxation"/>
		<map_variables variable_1="VV7" variable_2="VV7"/>
		<map_variables variable_1="VVE" variable_2="VVE"/>
		<map_variables variable_1="time" variable_2="time"/>
	</connection>

<!-- PARAMETER CONNECTIONS -->
	<connection>
		<map_components component_1="short_term_stress_relaxation" component_2="parameter_values"/>
		<map_variables variable_1="SR" variable_2="SR"/>
		<map_variables variable_1="SRK" variable_2="SRK"/>
	</connection>

<!-- ========================================	LONG-TERM STRESS RELAXATION	============================================= -->
	<component 	name="long_term_stress_relaxation" 
				cmeta:id="long_term_stress_relaxation">
		<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
			<rdf:Description rdf:about="#long_term_stress_relaxation">
				<rdf:value>
				SR1A, SR2A, SR3A, AR4A, and SR5A:  
				Similar calculations to the above but this time with a long time constant 
				for stress relaxation (SRK2), and also having a separate variable for control 
				of the ultimate degree of the stress relaxation (SR2).  The output of this 
				long time constant stress relaxation (VV6) along with the output from the 
				short time constant stress relaxation (VV7) are subtracted from the actual 
				venous volume (VVS) in Block CD15 in the hemodynamic section of the model.
				</rdf:value>
			</rdf:Description>
			<rdf:Description rdf:about="#SR1A_to_SR5A">
				<rdf:value>
				SR1A, SR2A, SR3A, AR4A, and SR5A:  
				Similar calculations to the above but this time with a long time constant 
				for stress relaxation (SRK2), and also having a separate variable for control 
				of the ultimate degree of the stress relaxation (SR2).  The output of this 
				long time constant stress relaxation (VV6) along with the output from the 
				short time constant stress relaxation (VV7) are subtracted from the actual 
				venous volume (VVS) in Block CD15 in the hemodynamic section of the model.
				</rdf:value>
			</rdf:Description>
		</rdf:RDF>
		
<!-- Inputs from other components -->
		<variable name="VVE"	units="litre" private_interface="none" public_interface="in"/>
		<variable name="VV6_init"	units="litre" private_interface="none" public_interface="in"/>
		<variable name="time"	units="minute" private_interface="none" public_interface="in"/>

<!-- Outputs to other components -->
		<variable 	cmeta:id="long_term_stress_relaxation_VV6"
					name="VV6" 	initial_value="VV6_init"	units="litre" private_interface="none" public_interface="out"/>

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

		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<apply id="SR1A_to_SR5A">
				<eq/>
				<apply>
					<diff/>
					<bvar>
						<ci>time</ci>
					</bvar>
					<ci>VV6</ci>
				</apply>
				<apply>
					<divide/>
					<apply>
						<minus/>
						<apply>
							<times/>
							<apply>
								<minus/>
								<ci>VVE</ci>
								<cn cellml:units="litre">0.74</cn>
							</apply>
							<ci>SR2</ci>
						</apply>
						<ci>VV6</ci>
					</apply>
					<ci>SRK2</ci>
				</apply>
			</apply>
		</math>
	</component>

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

<!-- INPUT CONNECTIONS -->
	<connection>
		<map_components component_1="long_term_stress_relaxation" component_2="stress_relaxation"/>
		<map_variables variable_1="VV6" variable_2="VV6"/>
		<map_variables variable_1="VVE" variable_2="VVE"/>
		<map_variables variable_1="time" variable_2="time"/>
	</connection>

<!-- PARAMETER CONNECTIONS -->
	<connection>
		<map_components component_1="long_term_stress_relaxation" component_2="parameter_values"/>
		<map_variables variable_1="SR2" variable_2="SR2"/>
		<map_variables variable_1="SRK2" variable_2="SRK2"/>
	</connection>

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

	<group>
		<relationship_ref relationship="containment"/>
		<component_ref component="stress_relaxation">
			<component_ref component="short_term_stress_relaxation"/>
			<component_ref component="long_term_stress_relaxation"/>
		</component_ref>
	</group>
      
	<group>
		<relationship_ref relationship="encapsulation"/>
		<component_ref component="stress_relaxation">
			<component_ref component="parameter_values"/>
			<component_ref component="state_variables"/>
			<component_ref component="short_term_stress_relaxation"/>
			<component_ref component="long_term_stress_relaxation"/>
		</component_ref>
	</group>
   
</model>