<?xml version="1.0" encoding="iso-8859-1"?>

<model
    name="generic_experiment"
    cmeta:id="generic_experiment"
    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#"
      xmlns:cmeta="http://www.cellml.org/metadata/1.0#"
      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#"
      xmlns:cs="http://www.cellml.org/metadata/simulation/1.0#">
    <rdf:Description rdf:about="">
      <dc:creator rdf:parseType="Resource">
        <vCard:N rdf:parseType="Resource">
          <vCard:Family>Nickerson</vCard:Family>
          <vCard:Given>David</vCard:Given>
        </vCard:N>
        <vCard:EMAIL rdf:parseType="Resource">
          <rdf:value>d.nickerson@auckland.ac.nz</rdf:value>
          <rdf:type rdf:resource="http://imc.org/vCard/3.0#internet" />
        </vCard:EMAIL>
        <vCard:ORG rdf:parseType="Resource">
          <vCard:Orgname>The University of Auckland</vCard:Orgname>
          <vCard:Orgunit>Auckland Bioengineering Institute</vCard:Orgunit>
        </vCard:ORG>
      </dc:creator>
      <dcterms:created rdf:parseType="Resource">
        <dcterms:W3CDTF>2009-07-07</dcterms:W3CDTF>
      </dcterms:created>
      <dc:publisher>
        Auckland Bioengineering Institute, The University of Auckland.
      </dc:publisher>
    </rdf:Description>
    <rdf:Description rdf:about="#generic_experiment">
      <dc:title>
        Modified HH with periodic stimulus applied plus default parameter set.
      </dc:title>
      <cmeta:comment rdf:parseType="Resource">
        <rdf:value>
          Applies the default set of parameters to the modified HH model and leaves some parameters free for customisation. Applies the periodic stimulus protocol from the original HH implementation from http://www.bioeng.nus.edu.sg/compbiolab/p3/.
        </rdf:value>
        <dc:creator rdf:parseType="Resource">
          <vCard:FN>David Nickerson</vCard:FN>
        </dc:creator>
      </cmeta:comment>
      <cs:simulation>
        <rdf:Description rdf:ID="simulation">
          <cs:multistepMethod>bdf</cs:multistepMethod>
          <cs:iterationMethod>functional</cs:iterationMethod>
          <cs:boundIntervals rdf:parseType="Collection">
            <rdf:Description>
              <cs:boundVariable>
                <rdf:Description rdf:about="#time"/>
              </cs:boundVariable>
              <cs:maximumStepSize 
                                  rdf:datatype="http://www.w3.org/2001/XMLSchema#double">
                0.5
              </cs:maximumStepSize>
              <cs:tabulationStepSize
                                    rdf:datatype="http://www.w3.org/2001/XMLSchema#double">
                1
              </cs:tabulationStepSize>
              <cs:startingValue
                               rdf:datatype="http://www.w3.org/2001/XMLSchema#double">
                0
              </cs:startingValue>
              <cs:endingValue
                             rdf:datatype="http://www.w3.org/2001/XMLSchema#double">
                3000
              </cs:endingValue>
            </rdf:Description>
          </cs:boundIntervals>
        </rdf:Description>
      </cs:simulation>
    </rdf:Description>
  </rdf:RDF>

  <import xlink:href="http://www.bioeng.nus.edu.sg/compbiolab/p3/cellml/components/units.xml">
    <units name="ms" units_ref="ms"/>
    <units name="mV" units_ref="mV"/>
    <units name="mS_per_cmsq" units_ref="mS_per_cmsq"/>
    <units name="uA_per_cmsq" units_ref="uA_per_cmsq"/>
    <units name="uF_per_cmsq" units_ref="uF_per_cmsq"/>
  </import>
  <import xlink:href="modified-hh.xml">
    <component name="model" component_ref="action_potential"/>
  </import>
  <import xlink:href="http://www.bioeng.nus.edu.sg/compbiolab/p3/cellml/experiments/periodic-IStim-protocol.xml">
    <component name="stimulus_protocol" component_ref="stimulus_protocol"/>
  </import>
  <import xlink:href="http://www.bioeng.nus.edu.sg/compbiolab/p3/cellml/components/default-variable-values.xml">
    <component name="default_parameters" component_ref="parameters"/>
    <component name="default_initial_conditions"
               component_ref="initial_conditions"/>
  </import>
  
  <component name="time" cmeta:id="time_component">
    <rdf:RDF
            xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
            xmlns:cmeta="http://www.cellml.org/metadata/1.0#">
      <rdf:Description rdf:about="#time_component">
        <cmeta:comment rdf:parseType="Resource">
          <rdf:value>
            The actual definition of the time variable.
          </rdf:value>
        </cmeta:comment>
      </rdf:Description>
    </rdf:RDF>
    <variable cmeta:id="time" name="time" initial_value="0.0"
              public_interface="out" units="ms"/>
  </component>
  <connection>
    <map_components component_1="model" component_2="time"/>
    <map_variables variable_1="time" variable_2="time"/>
  </connection>
  <connection>
    <map_components component_1="time" component_2="stimulus_protocol"/>
    <map_variables variable_1="time" variable_2="time"/>
  </connection>
  <connection>
    <map_components component_1="model"
                    component_2="stimulus_protocol"/>
    <map_variables variable_1="Istim" variable_2="IStim"/>
  </connection>

  <component name="stimulus_parameters" cmeta:id="stimulus_parameters">
    <rdf:RDF
            xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
            xmlns:cmeta="http://www.cellml.org/metadata/1.0#">
      <rdf:Description rdf:about="#parameters">
        <cmeta:comment rdf:parseType="Resource">
          <rdf:value>
            The stimulus parameters.
          </rdf:value>
        </cmeta:comment>
      </rdf:Description>
    </rdf:RDF>
    <variable name="stimPeriod" initial_value="750" public_interface="out" units="ms"/>
    <variable name="stimDuration" initial_value="0.5" public_interface="out" units="ms"/>
    <variable name="stimCurrent" initial_value="-200.0" public_interface="out" units="uA_per_cmsq"/>
  </component>
  <connection>
    <map_components component_1="stimulus_parameters" component_2="stimulus_protocol"/>
    <map_variables variable_1="stimPeriod" variable_2="stimPeriod"/>
    <map_variables variable_1="stimDuration" variable_2="stimDuration"/>
    <map_variables variable_1="stimCurrent" variable_2="stimCurrent"/>
  </connection>
  <connection>
    <map_components component_1="model" component_2="default_parameters"/>
    <map_variables variable_1="gK_max" variable_2="gK_max"/>
    <map_variables variable_1="Cm" variable_2="Cm"/>
    <map_variables variable_1="VNa" variable_2="VNa"/>
    <map_variables variable_1="VK" variable_2="VK"/>
    <map_variables variable_1="Vleak" variable_2="Vleak"/>
    <map_variables variable_1="gleak_max" variable_2="gleak_max"/>
    <map_variables variable_1="gNa_max" variable_2="gNa_max"/>
    <map_variables variable_1="Tref_rates" variable_2="Tref_rates"/>
    <map_variables variable_1="T" variable_2="T"/>
    <map_variables variable_1="Q10_rates" variable_2="Q10_rates"/>
  </connection>
  
  <connection>
    <map_components component_1="model" component_2="default_initial_conditions"/>
    <map_variables variable_1="V_initial" variable_2="V_initial"/>
    <map_variables variable_1="m_initial" variable_2="m_initial"/>
    <map_variables variable_1="h_initial" variable_2="h_initial"/>
    <map_variables variable_1="n_initial" variable_2="n_initial"/>
  </connection>
</model>
