from ChemPlugin import * print("ChemPlugin example -- extending a pH titration\n") # Create a ChemPlugin instance cp = ChemPlugin("stdout") # Configure the instance cp.Config("Ca++ = 1 mmol/kg; Na+ = 1 mmol/kg") cp.Config("Cl- = 3 mmol/kg; HCO3- = 2 mmol/kg; pH = 4") cp.Config("react 3 mmol/kg NaOH; delxi = 0.1") # Initialize the instance cp.Initialize(1.0, "hour") print(" Xi = %4.2f pH = %4.2f" % (cp.Report1("Xi"), cp.Report1("pH"))) # First Time Marching Loop while True: deltat = cp.ReportTimeStep() if cp.AdvanceTimeStep(deltat): break if cp.AdvanceChemical(): break print(" Xi = %4.2f pH = %4.2f" % (cp.Report1("Xi"), cp.Report1("pH"))) # Reconfigure and extend the run. print("\n Extending run to Xi = 2") cp.Config("remove reactant NaOH") cp.Config("react 3 mmol/kg HCl") cp.ExtendRun(1.0, "hour") # Second Time marching loop while True: deltat = cp.ReportTimeStep() if cp.AdvanceTimeStep(deltat): break if cp.AdvanceChemical(): break print(" Xi = %4.2f pH = %4.2f" % (cp.Report1("Xi"), cp.Report1("pH"))) input()