- Author:
- Weiwei Ai <wai484@aucklanduni.ac.nz>
- Date:
- 2024-02-27 17:21:53+13:00
- Desc:
- Add H buffering in the acid BG model
- Permanent Source URI:
- https://staging.physiomeproject.org/workspace/b61/rawfile/920a714dbe070a8ab1215d82e465d4aaa7216a0a/models/modules/Boron_base_BG_V3_Hi.cellml
<?xml version='1.0' encoding='UTF-8'?>
<model name="BG51" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#">
<!-- Intracellular pH regulation-->
<units name="dim">
<unit units="dimensionless"/>
</units>
<units name="per_s">
<unit exponent="-1" units="second"/>
</units>
<units name="mol_per_s">
<unit units="mole"/>
<unit exponent="-1" units="second"/>
</units>
<units name="per_mol">
<unit exponent="-1" units="mole"/>
</units>
<units name="per_mol2">
<unit exponent="-2" units="mole"/>
</units>
<units name="C_per_mol">
<unit units="coulomb"/>
<unit exponent="-1" units="mole"/>
</units>
<units name="J_per_mol">
<unit units="joule"/>
<unit exponent="-1" units="mole"/>
</units>
<units name="J_per_C">
<unit units="joule"/>
<unit exponent="-1" units="coulomb"/>
</units>
<component name="main">
<variable name="t" units="second"/>
<variable initial_value="9.64853321e4" name="F" units="C_per_mol"/>
<variable initial_value="2462.1911" name="RT" units="J_per_mol"/>
<variable initial_value="-0.055" name="u_e_m" units="J_per_C"/>
<variable name="epsilon" units="dim"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>epsilon</ci>
<apply>
<exp/>
<apply>
<divide/>
<apply>
<times/>
<ci>F</ci>
<ci>u_e_m</ci>
</apply>
<ci>RT</ci>
</apply>
</apply>
</apply>
</math>
<!-- state variables-->
<variable initial_value="4.786300923226380e-05" name="q_H_i" units="mole"/>
<variable initial_value="1.995262314968879e-05" name="q_H_o" units="mole"/>
<variable initial_value="0" name="q_NH3_i" units="mole"/>
<variable name="q_NH3_o" units="mole"/>
<variable initial_value="0" name="q_NH4_i" units="mole"/>
<variable name="q_NH4_o" units="mole"/>
<!-- step change in external NH4+-->
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>q_NH4_o</ci>
<piecewise>
<piece>
<cn cellml:units="mole">0</cn>
<apply>
<lt/>
<ci>t</ci>
<cn cellml:units="second">100</cn>
</apply>
</piece>
<piece>
<cn cellml:units="mole">8.85958406334185</cn>
<apply>
<lt/>
<ci>t</ci>
<cn cellml:units="second">1500</cn>
</apply>
</piece>
<otherwise>
<cn cellml:units="mole">0</cn>
</otherwise>
</piecewise>
</apply>
</math>
<!-- substrate solubilities-->
<variable initial_value="1" name="K_H_o" units="per_mol"/>
<variable initial_value="1" name="K_H_i" units="per_mol"/>
<variable initial_value="1e-3" name="K_NH3_o" units="per_mol"/>
<variable initial_value="1e-3" name="K_NH3_i" units="per_mol"/>
<variable initial_value="3.1623e-10" name="K_NH4_o" units="per_mol"/>
<variable initial_value="3.1623e-10" name="K_NH4_i" units="per_mol"/>
<!-- non-dimensional substrate quantities-->
<variable name="Q_H_o" units="dim"/>
<variable name="Q_H_i" units="dim"/>
<variable name="Q_NH3_o" units="dim"/>
<variable name="Q_NH3_i" units="dim"/>
<variable name="Q_NH4_o" units="dim"/>
<variable name="Q_NH4_i" units="dim"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>Q_H_o</ci>
<apply>
<times/>
<ci>K_H_o</ci>
<ci>q_H_o</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Q_H_i</ci>
<apply>
<times/>
<ci>K_H_i</ci>
<ci>q_H_i</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Q_NH3_o</ci>
<apply>
<times/>
<ci>K_NH3_o</ci>
<ci>q_NH3_o</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Q_NH3_i</ci>
<apply>
<times/>
<ci>K_NH3_i</ci>
<ci>q_NH3_i</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Q_NH4_o</ci>
<apply>
<times/>
<ci>K_NH4_o</ci>
<ci>q_NH4_o</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>Q_NH4_i</ci>
<apply>
<times/>
<ci>K_NH4_i</ci>
<ci>q_NH4_i</ci>
</apply>
</apply>
</math>
<!-- membrane fluxes for uncharged species (eqns 5.3.1 & 5.3.2)-->
<variable name="v_NH3_m" units="mol_per_s"/>
<variable initial_value="4.801e+02" name="v_NH3_max" units="mol_per_s"/>
<variable initial_value="1" name="gamma_NH3" units="dim"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>v_NH3_m</ci>
<apply>
<divide/>
<apply>
<times/>
<ci>v_NH3_max</ci>
<apply>
<minus/>
<ci>Q_NH3_o</ci>
<ci>Q_NH3_i</ci>
</apply>
</apply>
<apply>
<plus/>
<apply>
<divide/>
<apply>
<times/>
<cn cellml:units="dim">2</cn>
<ci>gamma_NH3</ci>
</apply>
<apply>
<plus/>
<cn cellml:units="dim">1</cn>
<ci>gamma_NH3</ci>
</apply>
</apply>
<ci>Q_NH3_o</ci>
<ci>Q_NH3_i</ci>
<apply>
<times/>
<apply>
<divide/>
<cn cellml:units="dim">2</cn>
<apply>
<plus/>
<cn cellml:units="dim">1</cn>
<ci>gamma_NH3</ci>
</apply>
</apply>
<ci>Q_NH3_o</ci>
<ci>Q_NH3_i</ci>
</apply>
</apply>
</apply>
</apply>
</math>
<!-- membrane fluxes for charged species (eqns 5.3.3 to 5.3.5)-->
<variable name="v_H_m" units="mol_per_s"/>
<variable initial_value="10" name="kappa_H_m" units="mol_per_s"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>v_H_m</ci>
<apply>
<times/>
<ci>kappa_H_m</ci>
<apply>
<minus/>
<ci>Q_H_o</ci>
<apply>
<times/>
<ci>Q_H_i</ci>
<ci>epsilon</ci>
</apply>
</apply>
</apply>
</apply>
</math>
<variable name="v_NH4_m" units="mol_per_s"/>
<variable initial_value="6.167e7" name="kappa_NH4_m" units="mol_per_s"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>v_NH4_m</ci>
<apply>
<times/>
<ci>kappa_NH4_m</ci>
<apply>
<minus/>
<ci>Q_NH4_o</ci>
<apply>
<times/>
<ci>Q_NH4_i</ci>
<ci>epsilon</ci>
</apply>
</apply>
</apply>
</apply>
</math>
<!-- dissociation fluxes (eqns 5.3.6 to 5.3.9)-->
<variable name="v_NH4_o" units="mol_per_s"/>
<variable name="v_NH4_i" units="mol_per_s"/>
<variable initial_value="1e8" name="kappa_NH4" units="mol_per_s"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>v_NH4_o</ci>
<apply>
<times/>
<ci>kappa_NH4</ci>
<apply>
<minus/>
<ci>Q_NH4_o</ci>
<apply>
<times/>
<ci>Q_NH3_o</ci>
<ci>Q_H_o</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>v_NH4_i</ci>
<apply>
<times/>
<ci>kappa_NH4</ci>
<apply>
<minus/>
<ci>Q_NH4_i</ci>
<apply>
<times/>
<ci>Q_NH3_i</ci>
<ci>Q_H_i</ci>
</apply>
</apply>
</apply>
</apply>
<!-- conservation equations-->
<!--ode(q_H_o, t) = -v_H_m+v_NH4_o;-->
<!-- ode(q_H_i, t) = v_H_m+v_NH4_i;
ode(q_NH3_o, t) = -v_NH3_m+v_NH4_o;-->
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_NH3_i</ci>
</apply>
<apply>
<plus/>
<ci>v_NH3_m</ci>
<ci>v_NH4_i</ci>
</apply>
</apply>
<apply>
<eq/>
<ci>q_NH3_o</ci>
<piecewise>
<piece>
<cn cellml:units="mole">0</cn>
<apply>
<lt/>
<ci>t</ci>
<cn cellml:units="second">100</cn>
</apply>
</piece>
<piece>
<apply>
<minus/>
<cn cellml:units="mole">9</cn>
<cn cellml:units="mole">8.85958406334185</cn>
</apply>
<apply>
<lt/>
<ci>t</ci>
<cn cellml:units="second">1500</cn>
</apply>
</piece>
<otherwise>
<cn cellml:units="mole">0</cn>
</otherwise>
</piecewise>
</apply>
<!-- ode(q_NH4_o, t) = -v_NH4_m-v_NH4_o;-->
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_NH4_i</ci>
</apply>
<apply>
<minus/>
<ci>v_NH4_m</ci>
<ci>v_NH4_i</ci>
</apply>
</apply>
</math>
<variable name="pH_i" units="dim"/>
<variable name="pH_o" units="dim"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>pH_i</ci>
<apply>
<minus/>
<apply>
<log/>
<apply>
<times/>
<cn cellml:units="per_mol" type="e-notation">1<sep/>-3</cn>
<ci>q_H_i</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<eq/>
<ci>pH_o</ci>
<apply>
<minus/>
<apply>
<log/>
<apply>
<times/>
<cn cellml:units="per_mol" type="e-notation">1<sep/>-3</cn>
<ci>q_H_o</ci>
</apply>
</apply>
</apply>
</apply>
</math>
<variable initial_value="0.31623e-06" name="K_BH" units="mole"/>
<variable name="alpha" units="dimensionless"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<ci>alpha</ci>
<apply>
<divide/>
<ci>q_H_i</ci>
<apply>
<plus/>
<ci>q_H_i</ci>
<ci>K_BH</ci>
</apply>
</apply>
</apply>
</math>
<variable initial_value="9" name="beta" units="mole"/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<apply>
<diff/>
<bvar>
<ci>t</ci>
</bvar>
<ci>q_H_i</ci>
</apply>
<apply>
<times/>
<apply>
<divide/>
<apply>
<times/>
<cn cellml:units="dimensionless">2.303</cn>
<ci>q_H_i</ci>
</apply>
<ci>beta</ci>
</apply>
<apply>
<plus/>
<ci>v_H_m</ci>
<ci>v_NH4_i</ci>
</apply>
</apply>
</apply>
</math>
</component>
</model>