- Author:
- Tommy Yu <tommy.yu@auckland.ac.nz>
- Date:
- 2010-08-25 18:18:47+12:00
- Desc:
- xml:base fix
- Permanent Source URI:
- http://models.cellml.org/workspace/guyton_atrial_natriuretic_peptide_2008/rawfile/142a438d2668e9c2eb54d0bef8f71a36acfb49e2/atr_natriuretic_peptide.cellml
<?xml version="1.0" encoding="utf-8"?>
<model
name="atrial_natriuretic_peptide_model"
cmeta:id="atrial_natriuretic_peptide_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="#atrial_natriuretic_peptide_model">
<rdf:value>
This section calculates the control of atrial natriuretic peptide secretion by the
left and right atria of the heart. It also calculates a multiplier factor for
controlling the resistance of the afferent arterioles (AAR) of the kidneys.
</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>
<!-- ======================================== ATRIAL NATRIURETIC PEPTIDE TOP-LEVEL COMPONENT ============================================= -->
<component name="atrial_natriuretic_peptide"
cmeta:id="atrial_natriuretic_peptide">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#atrial_natriuretic_peptide">
<rdf:value>
Encapsulation grouping component containing all the components in the Atrial Natriuretic Peptide Model.
The inputs and outputs of the Atrial Natriuretic Peptide Model must be passed by this component.
</rdf:value>
</rdf:Description>
</rdf:RDF>
<variable cmeta:id="atrial_natriuretic_peptide_time"
name="time" units="minute" private_interface="out" public_interface="in"/>
<!-- Inputs from components in other models -->
<variable name="PLA" units="mmHg" private_interface="out" public_interface="in"/>
<variable name="PRA" units="mmHg" private_interface="out" public_interface="in"/>
<!-- Outputs to components in other models -->
<variable cmeta:id="atrial_natriuretic_peptide_ANPX"
name="ANPX" units="dimensionless" private_interface="in" public_interface="out"/>
</component>
<!-- OUTPUT CONNECTIONS -->
<connection>
<map_components component_1="atrial_natriuretic_peptide" component_2="ANP_effect_on_renal_afferent_arteriolar_resistance"/>
<map_variables variable_1="ANPX" variable_2="ANPX"/>
</connection>
<!-- ======================================== TOTAL ATRIAL NATRIURETIC PEPTIDE SECRETED ============================================= -->
<component name="total_ANP_secreted"
cmeta:id="total_ANP_secreted">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#total_ANP_secreted">
<rdf:value>
ANP1, ANP2, ANP3, ANP3A, and ANP4:
Calculation of the total amount of atrial natriuretic peptide secreted at
any given time. Block ANP1 determines the pressure level at which changes
in left atrial pressure (PLA) will begin to affect atrinatriuretic peptide
secretion. Block 1A sets a lower limit of zero for this secretion.
Block ANP2 calculates from the pressure level in the right atrium (PRA) the
stimulation of ANP output by the right atrium. Block 3 multiplies the
output of the right atrium by two-fold (against a one-fold amount secreted
by the left atrium). Block 3A sets a lower limit of zero for right atrial
output. Block 4 adds the outputs from the left atrium and right atrium.
ANP5:
Block 5 normalizes the ANP secretion under normal conditions to a value of 1.
</rdf:value>
</rdf:Description>
<rdf:Description rdf:about="#ANP1_and_ANP1A">
<rdf:value>
ANP1, ANP2, ANP3 and ANP3A:
Calculation of the total amount of atrial natriuretic peptide secreted at
any given time. Block ANP1 determines the pressure level at which changes
in left atrial pressure (PLA) will begin to affect atrinatriuretic peptide
secretion. Block 1A sets a lower limit of zero for this secretion.
Block ANP2 calculates from the pressure level in the right atrium (PRA) the
stimulation of ANP output by the right atrium. Block 3 multiplies the
output of the right atrium by two-fold (against a one-fold amount secreted
by the left atrium). Block 3A sets a lower limit of zero for right atrial
output.
</rdf:value>
</rdf:Description>
<rdf:Description rdf:about="#ANP2_ANP3_and_ANP3A">
<rdf:value>
ANP1, ANP2, ANP3 and ANP3A:
Calculation of the total amount of atrial natriuretic peptide secreted at
any given time. Block ANP1 determines the pressure level at which changes
in left atrial pressure (PLA) will begin to affect atrinatriuretic peptide
secretion. Block 1A sets a lower limit of zero for this secretion.
Block ANP2 calculates from the pressure level in the right atrium (PRA) the
stimulation of ANP output by the right atrium. Block 3 multiplies the
output of the right atrium by two-fold (against a one-fold amount secreted
by the left atrium). Block 3A sets a lower limit of zero for right atrial
output.
</rdf:value>
</rdf:Description>
<rdf:Description rdf:about="#ANP4_and_ANP5">
<rdf:value>
ANP4 and ANP5:
Block 4 adds the outputs from the left atrium and right atrium. Block 5 normalizes
the ANP secretion under normal conditions to a value of 1.
</rdf:value>
</rdf:Description>
</rdf:RDF>
<!-- Inputs from other components -->
<variable name="PLA" units="mmHg" private_interface="none" public_interface="in"/>
<variable name="PRA" units="mmHg" private_interface="none" public_interface="in"/>
<!-- Outputs to other components -->
<variable name="ANP" units="dimensionless" private_interface="none" public_interface="out"/>
<!-- Internal variables -->
<variable name="ANPL" units="dimensionless" private_interface="none" public_interface="none"/>
<variable name="ANPR2" units="dimensionless" private_interface="none" public_interface="none"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="ANP1_and_ANP1A">
<eq/>
<ci>ANPL</ci>
<piecewise>
<piece>
<cn cellml:units="dimensionless">0</cn>
<apply>
<lt/>
<apply>
<times/>
<apply>
<minus/>
<ci>PLA</ci>
<cn cellml:units="mmHg">1</cn>
</apply>
<cn cellml:units="per_mmHg">1</cn>
</apply>
<cn cellml:units="dimensionless">0</cn>
</apply>
</piece>
<otherwise>
<apply>
<times/>
<apply>
<minus/>
<ci>PLA</ci>
<cn cellml:units="mmHg">1</cn>
</apply>
<cn cellml:units="per_mmHg">1</cn>
</apply>
</otherwise>
</piecewise>
</apply>
<apply id="ANP2_ANP3_and_ANP3A">
<eq/>
<ci>ANPR2</ci>
<piecewise>
<piece>
<cn cellml:units="dimensionless">0</cn>
<apply>
<lt/>
<apply>
<times/>
<apply>
<plus/>
<ci>PRA</ci>
<cn cellml:units="mmHg">1</cn>
</apply>
<cn cellml:units="per_mmHg">2</cn>
</apply>
<cn cellml:units="dimensionless">0</cn>
</apply>
</piece>
<otherwise>
<apply>
<times/>
<apply>
<plus/>
<ci>PRA</ci>
<cn cellml:units="mmHg">1</cn>
</apply>
<cn cellml:units="per_mmHg">2</cn>
</apply>
</otherwise>
</piecewise>
</apply>
<apply id="ANP4_and_ANP5">
<eq/>
<ci>ANP</ci>
<apply>
<divide/>
<apply>
<plus/>
<ci>ANPL</ci>
<ci>ANPR2</ci>
</apply>
<cn cellml:units="dimensionless">3</cn>
</apply>
</apply>
</math>
</component>
<!-- INPUT CONNECTIONS -->
<connection>
<map_components component_1="total_ANP_secreted" component_2="atrial_natriuretic_peptide"/>
<map_variables variable_1="PLA" variable_2="PLA"/>
<map_variables variable_1="PRA" variable_2="PRA"/>
</connection>
<!-- ======================================== ATRIAL NATRIURETIC PEPTIDE INTO CIRCULATION ============================================= -->
<component name="ANP_into_circulation"
cmeta:id="ANP_into_circulation">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#ANP_into_circulation">
<rdf:value>
ANP 7:
This block allows infusion of ANP into the circulation (ANPINF). The output
of the block is ANP1 which is the total rate of ANP entering the circulation
at any given time.
</rdf:value>
</rdf:Description>
<rdf:Description rdf:about="#ANP7">
<rdf:value>
ANP 7:
This block allows infusion of ANP into the circulation (ANPINF). The output
of the block is ANP1 which is the total rate of ANP entering the circulation
at any given time.
</rdf:value>
</rdf:Description>
</rdf:RDF>
<!-- Inputs from other components -->
<variable name="ANP" units="dimensionless" private_interface="none" public_interface="in"/>
<!-- Outputs to other components -->
<variable name="ANP1" units="dimensionless" private_interface="none" public_interface="out"/>
<!-- Parameters from parameter_file -->
<variable name="ANPKNS" units="dimensionless" private_interface="none" public_interface="in"/>
<variable name="ANPINF" units="dimensionless" private_interface="none" public_interface="in"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="ANP7">
<eq/>
<ci>ANP1</ci>
<piecewise>
<piece>
<ci>ANPKNS</ci>
<apply>
<gt/>
<ci>ANPKNS</ci>
<cn cellml:units="dimensionless">0</cn>
</apply>
</piece>
<otherwise>
<apply>
<plus/>
<ci>ANP</ci>
<ci>ANPINF</ci>
</apply>
</otherwise>
</piecewise>
</apply>
</math>
</component>
<!-- INPUT CONNECTIONS -->
<connection>
<map_components component_1="ANP_into_circulation" component_2="total_ANP_secreted"/>
<map_variables variable_1="ANP" variable_2="ANP"/>
</connection>
<!-- PARAMETER CONNECTIONS -->
<connection>
<map_components component_1="ANP_into_circulation" component_2="parameter_values"/>
<map_variables variable_1="ANPKNS" variable_2="ANPKNS"/>
<map_variables variable_1="ANPINF" variable_2="ANPINF"/>
</connection>
<!-- ======================================== ATRIAL NATRIURETIC PEPTIDE IN PLASMA ============================================= -->
<!-- ======================================== CHECK THIS EQUATION! REMOVED DAMPING FROM DE!!! ============================================= -->
<component name="ANP_in_plasma"
cmeta:id="ANP_in_plasma">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#ANP_in_plasma">
<rdf:value>
ANP8, ANP9, and ANP10:
Calculation of the concentration of ANP in the plasma (ANPC) from the rate of
entry of ANP into the plasma (ANP1). The time constant for build-up of ANP in
the circulation is determined by ANPTC in Block 9. ANPC is normalized to 1.
</rdf:value>
</rdf:Description>
<rdf:Description rdf:about="#ANP8_to_ANP10">
<rdf:value>
ANP8, ANP9, and ANP10:
Calculation of the concentration of ANP in the plasma (ANPC) from the rate of
entry of ANP into the plasma (ANP1). The time constant for build-up of ANP in
the circulation is determined by ANPTC in Block 9. ANPC is normalized to 1.
</rdf:value>
</rdf:Description>
</rdf:RDF>
<!-- Inputs from other components -->
<variable name="ANP1" units="dimensionless" private_interface="none" public_interface="in"/>
<variable name="ANPC_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 name="ANPC" initial_value="ANPC_init" units="dimensionless" private_interface="none" public_interface="out"/>
<!-- Parameters from parameter_file -->
<variable name="ANPTC" units="minute" private_interface="none" public_interface="in"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="ANP8_to_ANP10">
<eq/>
<apply>
<diff/>
<bvar>
<ci>time</ci>
</bvar>
<ci>ANPC</ci>
</apply>
<apply>
<divide/>
<apply>
<minus/>
<ci>ANP1</ci>
<ci>ANPC</ci>
</apply>
<ci>ANPTC</ci>
</apply>
</apply>
</math>
</component>
<!-- STATE VARIABLES INITIAL VALUE -->
<connection>
<map_components component_1="ANP_in_plasma" component_2="state_variables"/>
<map_variables variable_1="ANPC_init" variable_2="ANPC_init"/>
</connection>
<!-- INPUT CONNECTIONS -->
<connection>
<map_components component_1="ANP_in_plasma" component_2="ANP_into_circulation"/>
<map_variables variable_1="ANP1" variable_2="ANP1"/>
</connection>
<connection>
<map_components component_1="ANP_in_plasma" component_2="atrial_natriuretic_peptide"/>
<map_variables variable_1="time" variable_2="time"/>
</connection>
<!-- PARAMETER CONNECTIONS -->
<connection>
<map_components component_1="ANP_in_plasma" component_2="parameter_values"/>
<map_variables variable_1="ANPTC" variable_2="ANPTC"/>
</connection>
<!-- ======================================== ANP EFFECT ON RENAL AFFERENT ARTERIOLAR RESISTANCE ============================================= -->
<component name="ANP_effect_on_renal_afferent_arteriolar_resistance"
cmeta:id="ANP_effect_on_renal_afferent_arteriolar_resistance">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="#ANP_effect_on_renal_afferent_arteriolar_resistance">
<rdf:value>
ANP11:
This curve calculates a multiplier factor (ANPX) for determining the effect
of ANP on the afferent arteriolar resistance of the kidneys. The upper limit
of ANPX is ANPXUL.
ANP 12:
This block sets the lower limit of ANPX equal to -1.
</rdf:value>
</rdf:Description>
<rdf:Description rdf:about="#ANP11">
<rdf:value>
ANP11:
This curve calculates a multiplier factor (ANPX) for determining the effect
of ANP on the afferent arteriolar resistance of the kidneys. The upper limit
of ANPX is ANPXUL.
</rdf:value>
</rdf:Description>
<rdf:Description rdf:about="#ANP12">
<rdf:value>
ANP 12:
This block sets the lower limit of ANPX equal to -1.
</rdf:value>
</rdf:Description>
</rdf:RDF>
<!-- Inputs from other components -->
<variable name="ANPC" units="dimensionless" private_interface="none" public_interface="in"/>
<!-- Outputs to other components -->
<variable cmeta:id="ANP_effect_on_renal_afferent_arteriolar_resistance_ANPX"
name="ANPX" units="dimensionless" private_interface="none" public_interface="out"/>
<!-- Parameters from parameter_file -->
<variable name="ANPXUL" units="dimensionless" private_interface="none" public_interface="in"/>
<!-- Internal variables -->
<variable name="ANPX1" units="dimensionless" private_interface="none" public_interface="none"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply id="ANP11">
<eq/>
<ci>ANPX1</ci>
<apply>
<minus/>
<ci>ANPXUL</ci>
<apply>
<divide/>
<ci>ANPXUL</ci>
<apply>
<times/>
<cn cellml:units="dimensionless">0.5555556</cn>
<apply>
<plus/>
<cn cellml:units="dimensionless">1</cn>
<ci>ANPC</ci>
</apply>
</apply>
</apply>
</apply>
</apply>
<apply id="ANP12">
<eq/>
<ci>ANPX</ci>
<piecewise>
<piece>
<apply>
<minus/>
<cn cellml:units="dimensionless">1</cn>
</apply>
<apply>
<lt/>
<ci>ANPX1</ci>
<apply>
<minus/>
<cn cellml:units="dimensionless">1</cn>
</apply>
</apply>
</piece>
<otherwise>
<ci>ANPX1</ci>
</otherwise>
</piecewise>
</apply>
</math>
</component>
<!-- INPUT CONNECTIONS -->
<connection>
<map_components component_1="ANP_effect_on_renal_afferent_arteriolar_resistance" component_2="ANP_in_plasma"/>
<map_variables variable_1="ANPC" variable_2="ANPC"/>
</connection>
<!-- PARAMETER CONNECTIONS -->
<connection>
<map_components component_1="ANP_effect_on_renal_afferent_arteriolar_resistance" component_2="parameter_values"/>
<map_variables variable_1="ANPXUL" variable_2="ANPXUL"/>
</connection>
<!-- ============================================================ GROUPING =============================================================== -->
<group>
<relationship_ref relationship="containment"/>
<component_ref component="atrial_natriuretic_peptide">
<component_ref component="total_ANP_secreted"/>
<component_ref component="ANP_into_circulation"/>
<component_ref component="ANP_in_plasma"/>
<component_ref component="ANP_effect_on_renal_afferent_arteriolar_resistance"/>
</component_ref>
</group>
<group>
<relationship_ref relationship="encapsulation"/>
<component_ref component="atrial_natriuretic_peptide">
<component_ref component="parameter_values"/>
<component_ref component="state_variables"/>
<component_ref component="total_ANP_secreted"/>
<component_ref component="ANP_into_circulation"/>
<component_ref component="ANP_in_plasma"/>
<component_ref component="ANP_effect_on_renal_afferent_arteriolar_resistance"/>
</component_ref>
</group>
</model>