Location: Rogers, Mcculloch, 1994 @ 025a6a4f3197 / rogers_mcculloch_1994.cellml

Author:
pmr2.import <nobody@models.cellml.org>
Date:
2009-06-17 15:45:43+12:00
Desc:
committing version01 of rogers_mcculloch_1994
Permanent Source URI:
https://models.cellml.org/workspace/rogers_mcculloch_1994/rawfile/025a6a4f3197e3266ef9315b3f080345016942d5/rogers_mcculloch_1994.cellml

<?xml version='1.0' encoding='utf-8'?>
<model xmlns="http://www.cellml.org/cellml/1.0#" xmlns:cmeta="http://www.cellml.org/metadata/1.0#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqs="http://www.cellml.org/bqs/1.0#" xmlns:cellml="http://www.cellml.org/cellml/1.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" cmeta:id="1994_rogers_mcculloch" name="rogers_mcculloch_1994_version01">
    
  

  <!--
    Generally, we want to move away from initial/default values being
    stored in the model directly. But until we are using CellML 1.1
    it is probably quite useful to include the values in the model.
  -->

  <!-- Global units -->
  <units name="mV">
    <unit units="volt" prefix="milli"/>
  </units>
  <units name="uApmmsq">
    <unit units="ampere" prefix="micro"/>
    <unit units="metre" prefix="milli" exponent="-2"/>
  </units>
  <units name="uFpmmsq">
    <unit units="farad" prefix="micro"/>
    <unit units="metre" prefix="milli" exponent="-2"/>
  </units>
  <units name="ms">
    <unit units="second" prefix="milli"/>
  </units>
  <units name="pms">
    <unit units="second" prefix="milli" exponent="-1"/>
  </units>

  <component name="interface" cmeta:id="interface">
  
    
  
    <!-- Variables we expect to be set/controlled externally -->
    <variable units="ms" private_interface="out" name="t"/>
    <variable units="uFpmmsq" private_interface="out" name="Cm" initial_value="0.01"/>
    <variable units="mV" private_interface="out" name="Vr" initial_value="-85.0"/>
    <variable units="mV" private_interface="out" name="Vth" initial_value="-75.0"/>
    <variable units="mV" private_interface="out" name="Vp" initial_value="15.0"/>
    <variable units="uApmmsq" private_interface="out" name="c1" initial_value="0.26"/>
    <variable units="uApmmsq" private_interface="out" name="c2" initial_value="0.1"/>
    <variable units="pms" private_interface="out" name="b" initial_value="0.013"/>
    <variable units="dimensionless" private_interface="out" name="d" initial_value="0.8"/>
    <variable units="uApmmsq" private_interface="out" name="Istim"/>
    
    <!-- Variables we want to make available externally -->
    <variable units="mV" public_interface="out" private_interface="in" name="Vm"/>
    <variable units="dimensionless" public_interface="out" private_interface="in" name="v"/>
    <variable units="uApmmsq" public_interface="out" private_interface="in" name="Iion"/>
    
    

    <variable units="uApmmsq" public_interface="out" name="IStimC"/>
    <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="IStim_for_cmiss_eq">
      <apply id="IStim_for_cmiss">
        <eq/>
        <ci>IStimC</ci>
        <ci>Istim</ci>
      </apply>
    </math>
    
  </component> <!--interface-->

  <component name="membrane_potential" cmeta:id="membrane_potential">
  
    

    <!-- Inputs -->
    <variable units="ms" public_interface="in" name="t"/>
    <variable units="uFpmmsq" public_interface="in" name="Cm"/>
    <variable units="mV" public_interface="in" name="Vr"/>
    <variable units="mV" public_interface="in" name="Vth"/>
    <variable units="mV" public_interface="in" name="Vp"/>
    <variable units="uApmmsq" public_interface="in" name="Istim"/>
    <variable units="uApmmsq" public_interface="in" name="Iion"/>

    <!-- Outputs computed here -->
    <variable units="mV" public_interface="out" private_interface="out" name="Vm" initial_value="-85"/>
    <variable units="dimensionless" public_interface="out" name="u"/>
    
    
    <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="Vm_diff_calculation_eq">
      <apply id="Vm_diff_calculation">
        <eq/>
        <apply>
          <diff/>
          <bvar>
            <ci>t</ci>
          </bvar>
          <ci>Vm</ci>
        </apply>
        <apply>
          <divide/>
          <apply>
            <minus/>
            <ci>Istim</ci>
            <ci>Iion</ci>
          </apply>
          <ci>Cm</ci>
        </apply>
      </apply>
    </math>
    
    <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="u_calculation_eq">
      <apply id="u_calculation">
        <eq/>
        <ci>u</ci>
        <apply>
          <divide/>
          <apply>
            <minus/>
            <ci>Vm</ci>
            <ci>Vr</ci>
          </apply>
          <apply>
            <minus/>
            <ci>Vp</ci>
            <ci>Vr</ci>
          </apply>
        </apply>
      </apply>
    </math>
  </component>
  <!--membrane_potential-->
  
  <component name="ionic_current" cmeta:id="ionic_current">
  
    

    <!-- Inputs -->
    <variable units="mV" public_interface="in" name="Vr"/>
    <variable units="mV" public_interface="in" name="Vth"/>
    <variable units="mV" public_interface="in" name="Vp"/>
    <variable units="uApmmsq" public_interface="in" name="c1"/>
    <variable units="uApmmsq" public_interface="in" name="c2"/>
    <variable units="dimensionless" public_interface="in" name="v"/>
    <variable units="dimensionless" public_interface="in" name="u"/>

    <!-- Outputs computed here -->
    <variable units="uApmmsq" public_interface="out" private_interface="out" name="Iion" initial_value="0.0"/>
    
    
    <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="Iion_calculation_eq">
      <apply id="Iion_calculation">
        <eq/>
        <ci>Iion</ci>
        <apply>
          <plus/>
          <apply>
            <times/>
            <ci>c1</ci>
            <ci>u</ci>
            <apply>
              <minus/>
              <ci>u</ci>
              <apply>
                <divide/>
                <apply>
                  <minus/>
                  <ci>Vth</ci>
                  <ci>Vr</ci>
                </apply>
                <apply>
                  <minus/>
                  <ci>Vp</ci>
                  <ci>Vr</ci>
                </apply>
              </apply>
            </apply>
            <apply>
              <minus/>
              <ci>u</ci>
              <cn cellml:units="dimensionless">1.0</cn>
            </apply>
          </apply>
          <apply>
            <times/>
            <ci>c2</ci>
            <ci>u</ci>
            <ci>v</ci>
          </apply>
        </apply>
      </apply>
    </math>
  </component>
  <!--ionic_current-->
  
  <component name="recovery_variable" cmeta:id="recovery_variable">
  
    

    <!-- Inputs -->
    <variable units="ms" public_interface="in" name="t"/>
    <variable units="pms" public_interface="in" name="b"/>
    <variable units="dimensionless" public_interface="in" name="d"/>
    <variable units="dimensionless" public_interface="in" name="u"/>

    <!-- Outputs computed here -->
    <variable units="dimensionless" public_interface="out" private_interface="out" name="v" initial_value="0.0"/>
    
    
    <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="v_diff_eq">
      <apply id="v_diff">
        <eq/>
        <apply>
          <diff/>
          <bvar>
            <ci>t</ci>
          </bvar>
          <ci>v</ci>
        </apply>
        <apply>
          <times/>
          <ci>b</ci>
          <apply>
            <minus/>
            <ci>u</ci>
            <apply>
              <times/>
              <ci>d</ci>
              <ci>v</ci>
            </apply>
          </apply>
        </apply>
      </apply>
    </math>
  </component>
  <!--ionic_current-->

  <connection>
    <map_components component_2="membrane_potential" component_1="interface"/>
    <map_variables variable_2="t" variable_1="t"/>
    <map_variables variable_2="Cm" variable_1="Cm"/>
    <map_variables variable_2="Vr" variable_1="Vr"/>
    <map_variables variable_2="Vth" variable_1="Vth"/>
    <map_variables variable_2="Vp" variable_1="Vp"/>
    <map_variables variable_2="Vm" variable_1="Vm"/>
    <map_variables variable_2="Istim" variable_1="Istim"/>
  </connection>

  <connection>
    <map_components component_2="ionic_current" component_1="interface"/>
    <map_variables variable_2="Vr" variable_1="Vr"/>
    <map_variables variable_2="Vth" variable_1="Vth"/>
    <map_variables variable_2="Vp" variable_1="Vp"/>
    <map_variables variable_2="c1" variable_1="c1"/>
    <map_variables variable_2="c2" variable_1="c2"/>
    <map_variables variable_2="Iion" variable_1="Iion"/>
  </connection>

  <connection>
    <map_components component_2="recovery_variable" component_1="interface"/>
    <map_variables variable_2="t" variable_1="t"/>
    <map_variables variable_2="b" variable_1="b"/>
    <map_variables variable_2="d" variable_1="d"/>
    <map_variables variable_2="v" variable_1="v"/>
  </connection>

  <connection>
    <map_components component_2="ionic_current" component_1="membrane_potential"/>
    <map_variables variable_2="u" variable_1="u"/>
    <map_variables variable_2="Iion" variable_1="Iion"/>
  </connection>

   <connection>
    <map_components component_2="recovery_variable" component_1="membrane_potential"/>
    <map_variables variable_2="u" variable_1="u"/>
  </connection>

 <connection>
    <map_components component_2="recovery_variable" component_1="ionic_current"/>
    <map_variables variable_2="v" variable_1="v"/>
  </connection>

  <group>
    <relationship_ref relationship="encapsulation"/>
    <component_ref component="interface">
      <component_ref component="membrane_potential"/>
      <component_ref component="ionic_current"/>
      <component_ref component="recovery_variable"/>
    </component_ref>
  </group>






<rdf:RDF>
  <rdf:Seq rdf:about="rdf:#citationAuthorsSeq">
    <rdf:li rdf:resource="rdf:#author1Vcard"/>
    <rdf:li rdf:resource="rdf:#author2Vcard"/>
  </rdf:Seq>
  <rdf:Description rdf:about="#Iion_calculation_eq">
    <cmeta:comment rdf:resource="rdf:#b82dbf94-7b33-4823-806a-557ce4536abd"/>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#aadf7871-c206-4987-902b-a0796dabca8f">
    <rdf:value>
            Here we define the total ionic current through the cellular
            membrane - equivalent to the temporal derivative of the original
            activation variable. The modification of Rogers and McCulloch is
            in this equation, with the additional multiplication of recovery 
            variable with the normalised potential.
          </rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="#ionic_current">
    <cmeta:comment rdf:resource="rdf:#aadf7871-c206-4987-902b-a0796dabca8f"/>
  </rdf:Description>
  <rdf:Description rdf:about="#v_diff_eq">
    <cmeta:comment rdf:resource="rdf:#504605b2-6f12-41e5-b56f-05f90c7441a9"/>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#4d7872b8-d9f2-430f-afa4-313a1a399edc">
    <rdf:value>
            The non-dimensional and scaled potential value.
          </rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#author1Vcard">
    <rdf:type rdf:resource="http://www.cellml.org/bqs/1.0#Person"/>
    <vCard:N rdf:resource="rdf:#author1VcardN"/>
  </rdf:Description>
  <rdf:Description rdf:about="#IStim_for_cmiss_eq">
    <cmeta:comment rdf:resource="rdf:#5710d9f3-ae2e-409e-b330-dfe3e7a439d1"/>
  </rdf:Description>
  <rdf:Description rdf:about="#membrane_potential">
    <cmeta:comment rdf:resource="rdf:#88d6229e-3b24-462a-a1cc-0bb32f8b3a10"/>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#5710d9f3-ae2e-409e-b330-dfe3e7a439d1">
    <rdf:value>
            This is a dummy equation that we simply use to make grabbing the
            value in CMISS much easier.
          </rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#fa77d824-2aac-4ecc-a456-920282fcc775">
    <rdf:value>
            Here we define the non-dimensional recovery variable, v.
          </rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#b2f86479-026a-4f89-93cf-cb2e47f80e1a">
    <bqs:Pubmed_id>7927397</bqs:Pubmed_id>
    <bqs:JournalArticle rdf:resource="rdf:#4a648a70-1b13-4b37-8153-eb3ad4b64f0b"/>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#acd05c22-7e57-4958-b7bd-5b3262d02a04">
    <vCard:ORG rdf:resource="rdf:#ffefcaa9-9cd5-498a-a31a-c2871f08c8b5"/>
    <vCard:EMAIL rdf:resource="rdf:#83226f40-5efe-4e39-9158-821581a0f954"/>
    <vCard:N rdf:resource="rdf:#692fc864-72f9-47b3-90f2-a3b34e326029"/>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#author2VcardN">
    <vCard:Given>A</vCard:Given>
    <vCard:Family>McCulloch</vCard:Family>
    <vCard:Other>D</vCard:Other>
  </rdf:Description>
  <rdf:Description rdf:about="#1994_rogers_mcculloch">
    <bqs:reference rdf:resource="rdf:#b2f86479-026a-4f89-93cf-cb2e47f80e1a"/>
<bqs:reference rdf:parseType="Resource">
  <dc:subject rdf:parseType="Resource">
    <bqs:subject_type>keyword</bqs:subject_type>
    <rdf:value>
      <rdf:Bag>
        <rdf:li>cardiac</rdf:li>
        <rdf:li>electrophysiology</rdf:li>
        <rdf:li>finite element</rdf:li>
      </rdf:Bag>
    </rdf:value>
  </dc:subject>
</bqs:reference>
    <cmeta:comment rdf:resource="rdf:#4a90b306-e221-411a-9ec9-45ece7088395"/>
  </rdf:Description>
  <rdf:Description rdf:about="#recovery_variable">
    <cmeta:comment rdf:resource="rdf:#fa77d824-2aac-4ecc-a456-920282fcc775"/>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#4a648a70-1b13-4b37-8153-eb3ad4b64f0b">
    <dc:creator rdf:resource="rdf:#citationAuthorsSeq"/>
    <dc:title>A collocation--Galerkin finite element model of cardiac action potential propagation</dc:title>
    <bqs:volume>41</bqs:volume>
    <bqs:first_page>743</bqs:first_page>
    <bqs:Journal rdf:resource="rdf:#e3a772ca-ea52-4b46-95ea-4ca23c97bae5"/>
    <dcterms:issued rdf:resource="rdf:#1a93d80e-d7f1-409f-b48b-2d6459d4d4b0"/>
    <bqs:last_page>757</bqs:last_page>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#author2Vcard">
    <rdf:type rdf:resource="http://www.cellml.org/bqs/1.0#Person"/>
    <vCard:N rdf:resource="rdf:#author2VcardN"/>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#692fc864-72f9-47b3-90f2-a3b34e326029">
    <vCard:Given>David</vCard:Given>
    <vCard:Family>Nickerson</vCard:Family>
    <vCard:Other>P</vCard:Other>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#88d6229e-3b24-462a-a1cc-0bb32f8b3a10">
    <rdf:value>
            The component which defines the kinetics of the transmembrane potential.
          </rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#60c1f530-1fa3-412c-967e-3f7224c8da93">
    <dcterms:W3CDTF>2003-06-10</dcterms:W3CDTF>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#ffefcaa9-9cd5-498a-a31a-c2871f08c8b5">
    <vCard:Orgname>The University of Auckland</vCard:Orgname>
    <vCard:Orgunit>The Bioengineering Institute</vCard:Orgunit>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#0b486530-a7a6-4dd2-b200-555e663fe21a">
    <rdf:value>
            We'll use this component as the "interface" to the model, all 
            other components are hidden via encapsulation in this component.
          </rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#504605b2-6f12-41e5-b56f-05f90c7441a9">
    <rdf:value>
            The kinetics of the recovery variable.
          </rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#7fe4b2e3-4310-4966-9ce6-3d2f5700ddb7">
    <rdf:value>
            This equation describes the kinetics of the transmembrane,
            potential - the action potential.
          </rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="#Vm_diff_calculation_eq">
    <cmeta:comment rdf:resource="rdf:#7fe4b2e3-4310-4966-9ce6-3d2f5700ddb7"/>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#83226f40-5efe-4e39-9158-821581a0f954">
    <rdf:type rdf:resource="http://imc.org/vCard/3.0#internet"/>
    <rdf:value>d.nickerson@auckland.ac.nz</rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#author1VcardN">
    <vCard:Given>J</vCard:Given>
    <vCard:Family>Rogers</vCard:Family>
    <vCard:Other>M</vCard:Other>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#e3a772ca-ea52-4b46-95ea-4ca23c97bae5">
    <dc:title>IEEE Transactions on Biomedical Engineering</dc:title>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#b82dbf94-7b33-4823-806a-557ce4536abd">
    <rdf:value>
            The calcuation of the total ionic current.
          </rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#1a93d80e-d7f1-409f-b48b-2d6459d4d4b0">
    <dcterms:W3CDTF>1994-01-01</dcterms:W3CDTF>
  </rdf:Description>
  <rdf:Description rdf:about="">
    <dcterms:created rdf:resource="rdf:#60c1f530-1fa3-412c-967e-3f7224c8da93"/>
    <dc:creator rdf:resource="rdf:#acd05c22-7e57-4958-b7bd-5b3262d02a04"/>
  </rdf:Description>
  <rdf:Description rdf:about="rdf:#4a90b306-e221-411a-9ec9-45ece7088395">
    <rdf:value>This is a CellML version of the modified FitzHugh-Nagumo model, published by Rogers and McCulloch in 1994. While the original two-variable model described a non-dimensional activation variable (u) and a non-dimensional recovery variable (v), here we formulate the model in terms of the `real' action potential given by the time course of the transmembrane potential (Vm). In so doing, the time rate of change of the activation variable describes the total `ionic current' through the membrane with the original model parameters adjusted to give the correct dimensionality.</rdf:value>
  </rdf:Description>
  <rdf:Description rdf:about="#u_calculation_eq">
    <cmeta:comment rdf:resource="rdf:#4d7872b8-d9f2-430f-afa4-313a1a399edc"/>
  </rdf:Description>
  <rdf:Description rdf:about="#interface">
    <cmeta:comment rdf:resource="rdf:#0b486530-a7a6-4dd2-b200-555e663fe21a"/>
  </rdf:Description>
</rdf:RDF>
</model>