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
reactants to be interpreted as moles per liter of WATER or
moles per liter of ROCK:
UNITS
-equilibrium_phases ROCK
-exchange ROCK
-surface WATER
-solid_solution WATER
-kinetics WATER
-gas_phase WATER
By default, the number of moles of solid reactants are
interpreted as per liter of water. Using the ROCK option,
PHAST interprets the number of moles of solid
reactants obtained from the initial PHREEQC calculation
as per liter of rock.
Note that an initial PHREEQC calculation is made at the
beginning of a PHAST run. During this calculation all
reaction calculations interpret the concentration of solid
reactants as simply moles. (When a solution is reacted with
the solids, the solution contains a mass of water, which is
usually 1 kg, but not necessarily.) It is only when initial
conditions are subsequently distributed in the PHAST calculation
that solid reactants are scaled. If the units are WATER, t
here is no scaling and the number of moles of solids is the
number of moles per liter of water. If the units are ROCK,
the number of moles of a solid reactant is multiplied by
(1-phi)/phi, where phi is the porosity in the cell receiving
the initial condition, to arrive at the number of moles of
solid reactant per liter of water.
The addition of the ROCK option is motivated by the possibility
of a domain with a distribution of porosities. In this case,
the number of moles of solid reactants per liter of water--
the units used by PHAST--also vary spatially. By using the
ROCK option, a constant rock composition can be defined and
the factor (1-phi)/phi is used to scale the number of moles
of solid reactant to obtain the number of moles per liter
of water in each cell.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3902 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Have fixed bugs with dump_cpp.
Checking in Release results for test cases.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3884 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Have fixed bugs with dump_cpp.
Checking in Release results for test cases.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3884 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Fixed project, directories for versions were all messed up.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3881 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Added eol and other changes for linux.
Had statics in ReadClass.cxx, removed.
Problems with .dmp files. May be because of statics.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3879 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
Rearranged pitaer.h creating pitzer_structures.h.
Need to figure out conversion routines from C++ classes to C structures.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3869 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
SSassemblage.cxx compiles, but need to work on header files.
Need to fix header files throughout.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3865 1feff8c3-07ed-0310-ac33-dd36852eb9cd
methods are not implemented.
Modified the parser to accumulate lines so that they
could be turned into a stream and reread. Modified
kinetics, exchange, ppassemblage, ssassemblage, and surface to use the new way to reread lines for component values.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3742 1feff8c3-07ed-0310-ac33-dd36852eb9cd
Added brief documentation in revisions.
Fixed dump feature of TRANSPORT to work with
dump_raw of C++.
ppdump now has testing for DUMP, DELETE, and MODIFY.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3727 1feff8c3-07ed-0310-ac33-dd36852eb9cd
surface is completed but needs testing.
SS and kinetics need to have reread of components implemented for MODIFY option.
gas_phase may be done, needs to be tested.
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3726 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