Location: Core Domains Principled Model Example @ cce6374c21a6 / StimCurrent_SinglePulse.cellml

Author:
Michael Cooling <mcoo001@UoA.auckland.ac.nz>
Date:
2016-04-11 12:26:19+12:00
Desc:
Adding .zip file of complete model
Permanent Source URI:
http://models.cellml.org/workspace/2c5/rawfile/cce6374c21a60771321701b2f88857175ca5c31e/StimCurrent_SinglePulse.cellml

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

<model
    name="StimCurrent_SinglePulse"
    cmeta:id="StimCurrent_SinglePulse"
    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">
  
	<import xlink:href="Principled_Base/Units_Cellular_Systems.cellml">
		<units name="ms" units_ref="ms"/>
		<units name="uA_per_mm2" units_ref="uA_per_mm2"/>
		<units name="uA_per_mm3" units_ref="uA_per_mm3"/>
    		<units name="per_mm" units_ref="per_mm"/>
	</import>

   <component name="StimCurrent_SinglePulse_Parameters">
	    <variable name="stimTime" 		public_interface="out" initial_value="1000" units="ms"/>
	    <variable name="stimDuration" 	public_interface="out" initial_value="0" units="ms"/>
	    <variable name="stimCurrent" 	public_interface="out" initial_value="100" units="uA_per_mm3"/>
	    <variable name="time" 		public_interface="out" initial_value="1500" units="ms"/>
	    <variable name="Am" 		public_interface="out" initial_value="200" units="per_mm"/>
   </component>

  <component name="StimCurrent_SinglePulse" cmeta:id="StimCurrent_SinglePulse">
    <variable name="IStim" public_interface="out" units="uA_per_mm2"/>
    <variable name="time" public_interface="in" units="ms"/>
    <variable name="stimTime" public_interface="in" units="ms"/>
    <variable name="stimDuration" public_interface="in" units="ms"/>
    <variable name="stimCurrent" public_interface="in" units="uA_per_mm3"/>
    <variable name="Am" public_interface="in" units="per_mm"/>
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <apply id="stimulus_calculation"><eq />
        <ci>IStim</ci>
        <piecewise>
          <piece>
            <apply><divide/>
              <ci>stimCurrent</ci>
              <ci>Am</ci>
            </apply>
            <apply><and/>
              <apply><geq/>
                <ci>time</ci>
                <ci>stimTime</ci>
              </apply>
              <apply><leq/>
                <ci>time</ci>
                <apply><plus/>
                  <ci>stimTime</ci>
                  <ci>stimDuration</ci>
                </apply>
              </apply>
            </apply>
          </piece>
          <otherwise>
            <cn cellml:units="uA_per_mm2">0.0</cn>
          </otherwise>
        </piecewise>
      </apply>
    </math>
  </component>
  
     <connection>
        <map_components component_1="StimCurrent_SinglePulse" component_2="StimCurrent_SinglePulse_Parameters"/>
       <map_variables variable_1="stimTime" 	variable_2="stimTime" 		/>
       <map_variables variable_1="stimDuration"	variable_2="stimDuration"	/>
       <map_variables variable_1="stimCurrent"	variable_2="stimCurrent"	/>
       <map_variables variable_1="time" 	variable_2="time" 		/>
       <map_variables variable_1="Am" 		variable_2="Am" 		/>
   </connection>
  
  
</model>