Location: pH control @ 2b59edd002f0 / pHcontrol.cellml

Author:
Randall Britten <r.britten@auckland.ac.nz>
Date:
2013-09-13 17:17:29+12:00
Desc:
Initial value for HCO3 is now calculated from given initial pH and initial CO2 partial pressure, in the same way as in the Mathematica document. The system now remains at equilibrium :-) Also, using kf = K kb, with kb=1 and K calculated from given pK = 6.1, which is apparently the accepted value in the textbooks. Also, now actually using the initial values for CO2 concentration that was calculated from given partial pressure.
Permanent Source URI:
https://models.physiomeproject.org/workspace/178/rawfile/2b59edd002f0721d39e738789ddbbe9529b4de3e/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>