Location: pH control @ cafd543bf160 / pHcontrol.cellml

Author:
Randall Britten <r.britten@auckland.ac.nz>
Date:
2013-12-02 11:30:19+13:00
Desc:
Added 3D plot. Also, made ODE numerical solve parameterised by initial conditions, which is work towards being able to pick IV?s from Manipulate UI and see solution interactively.
Permanent Source URI:
https://models.physiomeproject.org/workspace/178/rawfile/cafd543bf16066ca9f7cf7fedca65030ad04f46e/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>