The formula was not correct when converted to a phreeqcpp class, only the last instance of an element was kept and the rest were lost. Modified NameDouble to accumulate the sum of coefficients for each element when converting from a PHREEQC structure.
The order of the kinetics components was not maintained when converted to a phreeqcpp class. Components were in alphabetical order. This posed a problem with get and put statements because the gets could end up before the puts. Changed from map of components to list of components, which should maintain the order correctly.
Problems with modify solution and redox elements. Laurin pointed out that adding N may leave all the N(x) in place, which increases the total N. Revised read_solution to merge the valence states. If N defined, then all N(x) are removed. If N() defined, then N is removed. Still need to test.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3927 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Requires recompilation of the entire solution for some reason.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3878 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Phreeqcpp class methods.
Still compiles on Debug and Release, but problem with
phrq_malloc in cvdense and cvode.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3876 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Moved some methods for .h to source files to avoid need for includes.
Debug and Release compile.
Still need to get class version working.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3868 1feff8c3-07ed-0310-ac33-dd36852eb9cd
changed list of comps to map of comps.
made sure that description changes were captured for solution, equilibrium_phases, and exchange.
surface is next.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3725 1feff8c3-07ed-0310-ac33-dd36852eb9cd
SOLUTION_MODIFY
EQUILIBRIUM_PHASES_MODIFY
EXCHANGE_MODIFY
SURFACE_MODIFY
SOLID_SOLUTIONS_MODIFY
GAS_PHASE_MODIFY
KINETICS_MODIFY
May now revisit dump to add a delete capability.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3714 1feff8c3-07ed-0310-ac33-dd36852eb9cd
element Tc as the temperature identifier and crashed
when additional elements followed in -totals or
-activity_coefficients.
Removed "tc" as an identifier for temperature.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3613 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Added lines at end of files.
Ran test cases, a few had changes from format and Tony.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@2182 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Worked out relation between phreeqc components H,O,charge and Orchestra H+, e-, H2O.
It's a lot of code and still have not implemented SURFACE, EXCHANGE, GAS_PHASE,
much les KINETICS.
Convergence problem when including pyrite.
Also have REACTION (REQCTION_TEMP?);
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@2181 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Works only for initial solution calculation.
Still some problems with the solver. Ex1 fails.
Cleaned up organization a little. Ready to start on "reaction" calculation.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@2176 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Works only for initial solution calculation.
Still some problems with the solver. Ex1 fails.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@2167 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Now will write routines to put results into unknown structures so that results can be printed.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@2166 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Now multiply to account for changes in pore volume due to
storage.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@2098 1feff8c3-07ed-0310-ac33-dd36852eb9cd
c storage after calculation.
However, phast uses slightly different storage for total
elements in buffer, not individual redox states.
Have not done surface, equilibrium_phases, gas, solid solutions,
kinetics equivalent of x_save.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@2063 1feff8c3-07ed-0310-ac33-dd36852eb9cd
as constructor methods for Solution and Exchange.
Takes c storage and makes C++ objects after a calculation.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@2062 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Have worked on mixing solutions.
Roughed in mixing Exchange.h
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@1722 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Main difference is the logic for rebuilding a model. Should
run faster now, but has slight differences in example files.
Imported changes from ph2orch.
Plan to make phreeqcpp a subdirectory of ph2orch/src.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@1601 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Ran test cases with test_classes enabled. Everything appeared to check
correctly.
Added new test cases to phreeqcpp/mytest.
Added zero.sed to examples and mytest.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@1376 1feff8c3-07ed-0310-ac33-dd36852eb9cd
I think there is a compiler bug with map iterators in template definitions.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@796 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Will remove cpp and header files and make phreeqc an external directory.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@785 1feff8c3-07ed-0310-ac33-dd36852eb9cd