#include #include #include "ChemPlugin.h" int main(int argc, char** argv) { std::cout << "ChemPlugin example -- pH titration" << std::endl << std::endl; // Create a ChemPlugin instance. ChemPlugin cp("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(); cp.PlotHeader("myPlot.gtp", "char"); cp.PlotBlock(); // Time marching loop. while (true) { double deltat = cp.ReportTimeStep(); if (cp.AdvanceTimeStep(deltat)) break; if (cp.AdvanceChemical()) break; cp.PlotBlock(); cp.PlotTrailer(); std::cout << "Pausing at Xi = " << cp.Report1("Xi") << std::endl; std::cin.get(); } cp.PlotTrailer(); // Not necessary. // Any keystroke closes the console. std::cin.get(); return 0; }