<?xml version="1.0" encoding="UTF-8"?>
<model xmlns="http://www.cellml.org/cellml/2.0#" name="BG51">
  <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 name="F" units="C_per_mol" initial_value="9.64853321e4"/>
    <variable name="RT" units="J_per_mol" initial_value="2462.1911"/>
    <variable name="u_e_m" units="J_per_C" initial_value="-0.057"/>
    <variable name="epsilon" units="dim"/>
    <variable name="q_H_i" units="mole" initial_value="4.786300923226380e-05"/>
    <variable name="q_H_o" units="mole" initial_value="1.995262314968879e-05"/>
    <variable name="q_NH3_i" units="mole" initial_value="0"/>
    <variable name="q_NH3_o" units="mole" initial_value="0"/>
    <variable name="q_NH4_i" units="mole" initial_value="0"/>
    <variable name="q_NH4_o" units="mole"/>
    <variable name="K_H_o" units="per_mol" initial_value="1"/>
    <variable name="K_H_i" units="per_mol" initial_value="1"/>
    <variable name="K_NH3_o" units="per_mol" initial_value="1e-8"/>
    <variable name="K_NH3_i" units="per_mol" initial_value="1e-8"/>
    <variable name="K_NH4_o" units="per_mol" initial_value="1e-5"/>
    <variable name="K_NH4_i" units="per_mol" initial_value="1e-5"/>
    <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"/>
    <variable name="v_NH3_m" units="mol_per_s"/>
    <variable name="v_NH3_max" units="mol_per_s" initial_value="1"/>
    <variable name="gamma_NH3" units="dim" initial_value="1"/>
    <variable name="v_H_m" units="mol_per_s"/>
    <variable name="kappa_H_m" units="mol_per_s" initial_value="1e2"/>
    <variable name="v_NH4_m" units="mol_per_s"/>
    <variable name="kappa_NH4_m" units="mol_per_s" initial_value="1"/>
    <variable name="v_NH4_o" units="mol_per_s"/>
    <variable name="v_NH4_i" units="mol_per_s"/>
    <variable name="kappa_NH4" units="mol_per_s" initial_value="1"/>
    <variable name="pH_i" units="dim"/>
    <variable name="pH_o" 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>
    <math xmlns="http://www.w3.org/1998/Math/MathML" xmlns:cellml="http://www.cellml.org/cellml/2.0#">
      <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>
    <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>
    <math xmlns="http://www.w3.org/1998/Math/MathML" xmlns:cellml="http://www.cellml.org/cellml/2.0#">
      <apply>
        <eq/>
        <ci>v_NH3_m</ci>
        <apply>
          <divide/>
          <apply>
            <times/>
            <ci>v_NH3_max</ci>
            <apply>
              <plus/>
              <cn cellml:units="dim">1</cn>
              <ci>gamma_NH3</ci>
            </apply>
            <apply>
              <minus/>
              <ci>Q_NH3_o</ci>
              <ci>Q_NH3_i</ci>
            </apply>
          </apply>
          <apply>
            <plus/>
            <apply>
              <times/>
              <cn cellml:units="dim">2</cn>
              <ci>gamma_NH3</ci>
            </apply>
            <ci>Q_NH3_o</ci>
            <ci>Q_NH3_i</ci>
            <apply>
              <times/>
              <cn cellml:units="dim">2</cn>
              <ci>Q_NH3_o</ci>
              <ci>Q_NH3_i</ci>
            </apply>
          </apply>
        </apply>
      </apply>
    </math>
    <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/>
            <apply>
              <times/>
              <ci>Q_H_o</ci>
              <ci>epsilon</ci>
            </apply>
            <ci>Q_H_i</ci>
          </apply>
        </apply>
      </apply>
    </math>
    <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/>
            <apply>
              <times/>
              <ci>Q_NH4_o</ci>
              <ci>epsilon</ci>
            </apply>
            <ci>Q_NH4_i</ci>
          </apply>
        </apply>
      </apply>
    </math>
    <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-->
      <apply>
        <eq/>
        <apply>
          <diff/>
          <bvar>
            <ci>t</ci>
          </bvar>
          <ci>q_H_o</ci>
        </apply>
        <apply>
          <plus/>
          <apply>
            <minus/>
            <ci>v_H_m</ci>
          </apply>
          <ci>v_NH4_o</ci>
        </apply>
      </apply>
      <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>
      <apply>
        <eq/>
        <apply>
          <diff/>
          <bvar>
            <ci>t</ci>
          </bvar>
          <ci>q_NH3_o</ci>
        </apply>
        <apply>
          <plus/>
          <apply>
            <minus/>
            <ci>v_NH3_m</ci>
          </apply>
          <ci>v_NH4_o</ci>
        </apply>
      </apply>
      <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>
      <!--        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>
    <math xmlns="http://www.w3.org/1998/Math/MathML" xmlns:cellml="http://www.cellml.org/cellml/2.0#">
      <apply>
        <eq/>
        <ci>pH_i</ci>
        <apply>
          <minus/>
          <apply>
            <log/>
            <apply>
              <times/>
              <cn type="e-notation" cellml:units="per_mol">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 type="e-notation" cellml:units="per_mol">1<sep/>-3</cn>
              <ci>q_H_o</ci>
            </apply>
          </apply>
        </apply>
      </apply>
    </math>
  </component>
</model>
