<?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;-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_H_i</ci>
                </apply>
                <apply>
                    <plus/>
                    <ci>v_H_m</ci>
                    <ci>v_NH4_i</ci>
                </apply>
            </apply>
            <!--    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"/>
        <!--  ode(q_H_i, t) = 2.303{dimensionless}*q_H_i/beta*( v_H_m+v_NH4_i);-->
    </component>
</model>
