Location: pH control @ d5ee1c73f701 / pHcontrol.cellml

Author:
Randall Britten <r.britten@auckland.ac.nz>
Date:
2013-12-05 14:49:32+13:00
Desc:
Attempting to clean up issues with units and unit conversions by more disciplined use of units suffixes in variable names. Some progress made so far. Still having issues showing trajectory relative to 3D plot.
Permanent Source URI:
https://models.physiomeproject.org/workspace/178/rawfile/d5ee1c73f701f6fa278542d2ed7eb0adefc1b459/pHcontrol.cellml

<?xml version="1.0"?>
<model xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cmeta="http://www.cellml.org/metadata/1.0#" cmeta:id="pHcontrol" name="pHcontrol">
  <component name="Environment">
    <variable name="Time" public_interface="out" units="second"/>
  </component>
  <component name="Flux">
    <variable initial_value="initialCO2mM" name="CO2" public_interface="out" units="mM"/>
    <variable initial_value="initialHCO3mM" name="HCO3" units="mM"/>
    <variable initial_value="initialH" name="H" units="mM"/>
    <variable name="kf" units="per_second"/>
    <variable name="kb" units="per_mM_per_second"/>
    <variable name="J" units="mM_per_second"/>
    <variable name="Time" public_interface="in" units="second"/>
    <math xmlns="http://www.w3.org/1998/Math/MathML" id="ReactionRates">
      <apply id="ReactionFlux">
        <eq/>
        <ci>J
        </ci>
        <apply>
          <minus/>
          <apply>
            <times/>
            <ci>kf
            </ci>
            <ci>CO2
            </ci>
          </apply>
          <apply>
            <times/>
            <ci>kb
            </ci>
            <ci>HCO3
            </ci>
            <ci>H
            </ci>
          </apply>
        </apply>
      </apply>
      <apply id="CO2 ODE">
        <eq/>
        <apply>
          <diff/>
          <bvar>
            <ci>Time
            </ci>
          </bvar>
          <ci>CO2
          </ci>
        </apply>
        <apply>
          <minus/>
          <ci>CO2source
          </ci>
          <ci>CO2sink
          </ci>
        </apply>
      </apply>
      <apply id="HCO3 ODE">
        <eq/>
        <apply>
          <diff/>
          <bvar>
            <ci>Time
            </ci>
          </bvar>
          <ci>HCO3
          </ci>
        </apply>
        <ci>J
        </ci>
      </apply>
      <apply id="H ODE">
        <eq/>
        <apply>
          <diff/>
          <bvar>
            <ci>Time
            </ci>
          </bvar>
          <ci>H
          </ci>
        </apply>
        <apply>
          <plus/>
          <ci>J
          </ci>
          <ci>protonSource
          </ci>
        </apply>
      </apply>
      <apply>
        <eq/>
        <ci>pK
        </ci>
        <cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="dimensionless">6.1
        </cn>
      </apply>
      <apply id="pK to equilibrium constant">
        <eq/>
        <ci>K
        </ci>
        <apply>
          <power/>
          <cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="dimensionless">10
          </cn>
          <apply>
            <minus/>
            <ci>pK
            </ci>
          </apply>
        </apply>
      </apply>
      <apply>
        <eq/>
        <ci>kf
        </ci>
        <apply>
          <times/>
          <ci>K
          </ci>
          <cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="per_second">1
          </cn>
        </apply>
      </apply>
      <apply>
        <eq/>
        <ci>kb
        </ci>
        <cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="per_mM_per_second">1
        </cn>
      </apply>
      <apply>
        <eq/>
        <ci>initialHCO3mM
        </ci>
        <apply>
          <divide/>
          <apply>
            <times/>
            <ci>initialCO2mM
            </ci>
            <ci>K
            </ci>
          </apply>
          <ci>initialH
          </ci>
        </apply>
      </apply>
    </math>
    <math xmlns="http://www.w3.org/1998/Math/MathML" id="Auxilliary">
      <apply id="CO2mmHg_proxy">
        <eq/>
        <ci>CO2mmHg_proxy
        </ci>
        <ci>CO2mmHg
        </ci>
      </apply>
    </math>
    <math xmlns="http://www.w3.org/1998/Math/MathML" id="pH conversions">
      <apply id="HConcToPh">
        <eq/>
        <ci>pH
        </ci>
        <apply>
          <minus/>
          <apply>
            <log/>
            <apply>
              <divide/>
              <ci>H
              </ci>
              <ci>c1
              </ci>
            </apply>
          </apply>
        </apply>
      </apply>
      <apply id="phToHConc">
        <eq/>
        <ci>initialH
        </ci>
        <apply>
          <times/>
          <apply>
            <power/>
            <cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="dimensionless">10
            </cn>
            <apply>
              <minus/>
              <ci>initialPh
              </ci>
            </apply>
          </apply>
          <ci>c1
          </ci>
        </apply>
      </apply>
    </math>
    <variable initial_value="0" name="CO2source" units="mM_per_second"/>
    <variable initial_value="0" name="CO2sink" units="mM_per_second"/>
    <variable initial_value="0" name="protonSource" units="mM_per_second"/>
    <variable name="pH" units="dimensionless"/>
    <variable initial_value="1000" name="c1" units="mM"/>
    <variable name="initialH" units="mM"/>
    <variable initial_value="7.4" name="initialPh" units="dimensionless"/>
    <variable name="initialCO2mM" public_interface="in" units="mM"/>
    <variable initial_value="40" name="initialCO2mmHg" public_interface="out" units="mmHg"/>
    <variable name="CO2mmHg" public_interface="in" units="mmHg"/>
    <variable name="CO2mmHg_proxy" units="mmHg"/>
    <math xmlns="http://www.w3.org/1998/Math/MathML" id="solubility of CO2">
      <apply>
        <eq/>
        <ci>sCO2
        </ci>
        <cn xmlns:cellml="http://www.cellml.org/cellml/1.1#" cellml:units="mM_per_mmHg">0.03
        </cn>
      </apply>
    </math>
    <variable name="sCO2" public_interface="out" units="mM_per_mmHg"/>
    <variable name="pK" units="dimensionless"/>
    <variable name="K" units="dimensionless"/>
    <variable name="initialHCO3mM" units="dimensionless"/>
  </component>
  <units name="mM">
    <unit prefix="milli" units="mole"/>
    <unit exponent="-1" units="litre"/>
  </units>
  <units name="per_second">
    <unit exponent="-1" units="second"/>
  </units>
  <units name="per_mM_per_second">
    <unit exponent="-1" units="mM"/>
    <unit exponent="-1" units="second"/>
  </units>
  <units name="mM_per_second">
    <unit units="mM"/>
    <unit exponent="-1" units="second"/>
  </units>
  <connection>
    <map_components component_1="Environment" component_2="Flux"/>
    <map_variables variable_1="Time" variable_2="Time"/>
  </connection>
  <import xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="PressureConversion.cellml">
    <component component_ref="PPresToConc" name="PPToConc_CO2_initial"/>
    <component component_ref="ConcToPPres" name="ConcToPP_CO2_instantaneous"/>
  </import>
  <connection>
    <map_components component_1="PPToConc_CO2_initial" component_2="Flux"/>
    <map_variables variable_1="Cx" variable_2="initialCO2mM"/>
    <map_variables variable_1="Px" variable_2="initialCO2mmHg"/>
    <map_variables variable_1="solubility" variable_2="sCO2"/>
  </connection>
  <connection>
    <map_components component_1="ConcToPP_CO2_instantaneous" component_2="Flux"/>
    <map_variables variable_1="Cx" variable_2="CO2"/>
    <map_variables variable_1="Px" variable_2="CO2mmHg"/>
    <map_variables variable_1="solubility" variable_2="sCO2"/>
  </connection>
  <units name="mmHg">
    <unit multiplier="0.00750062" units="pascal"/>
  </units>
  <units name="mM_per_mmHg">
    <unit units="mM"/>
    <unit exponent="-1" units="mmHg"/>
  </units>
</model>