From 79b46f6fa3c23d87f0ec4240531737a1fec5968a Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Thu, 28 Jan 2016 23:58:25 +0000 Subject: [PATCH 01/13] New release notes. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@10760 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/RELEASE.TXT b/RELEASE.TXT index 818dbaeb..81b130da 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -1,4 +1,44 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ + --------- + svn 10759 + --------- + Created an option to enter cell-porosties in keyword TRANSPORT: + + -porosities 0.3 0.29 0.28 # porosities of cells 1, 2, 3-n, used for calculating + # tortuosity in multicomponent diffusion calculations. The + # numbers entered here take precedence over the value given + # with -multi_D. If one stagnant layer is defined together with + # an exchange-factor > 0 ('-stagnant 1 4e-6 0.3 0.1'), the + # mobile (here = 0.3) and immobile (here = 0.1) porosities + # defined with -stagnant are used. + + The electric potential can be defined in keyword SOLUTION: + -potential 3 # Volt + + The effect of an electrical field on multicomponent diffusion (electro-migration) is calculated with + the Nernst-Planck equation if one of the 2 column end-cell solutions has a potential different from 0 + (SOLUTION 0, SOLUTION cells + 1). For examples of electro-migration, see + http://www.hydrochemistry.eu/exmpls/electro_dif.html + + Added special BASIC functions for obtaining parameters calculated in electro-migration: + CURRENT_A # the current (A) through the column + POT_V # potential (V) in a cell + + If the properties in a regular column (surface areas, lengths, double layers, + tortuosities, diffusion coefficients) are different for the two cells, the harmonic + mean is used for calculating the mass transfer (Appelo et al., 2010, Geochim. Cosmochim. + Acta 74, 1201-1219). + + A temperature damping factor was added for the temperature effect of viscosity on the diffusion + coefficient of a solute species: + +SOLUTION_SPECIES +H+ = H+ + -dw 9.31e-9 831 # Dw(TK) = 9.31e-9 * exp(831 / TK - 831 / 298.15) * TK * 0.89 / (298.15 * viscos) + + The equation was proposed by Smolyakov, according to Anderko and Lencka, 1997, Ind. Chem. Eng. Res. + 36, 1932–1943. + --------- svn 10409 --------- From ad01777c4f65e0821284ebd1b29e9de88a96e165 Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Fri, 4 Mar 2016 16:38:33 +0000 Subject: [PATCH 02/13] Added setdiff_c method. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@10891 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE.TXT b/RELEASE.TXT index 81b130da..d8e407a6 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -208,7 +208,7 @@ Version 3.2.2: August 24, 2015 -------- New Basic function EDL_SPECIES returns the moles of species in the electrical double layer. Applies when -DONNAN or - -DIFFUSE_LAYER are defined in SURFACE calculations. + -DIFFUSE_LAYER is defined in SURFACE calculations. EDL_SPECIES(surf$, count, name$, moles, area, thickness) @@ -248,7 +248,7 @@ Version 3.2.1: July 7, 2015 svn 9930 -------- PhreeqcRM had a serious error in the convertion of units from transport - to themodule. The error occurred when using H2O as a component and mg/L + to the module. The error occurred when using H2O as a component and mg/L as the transport unit. From 771ce56e6a8019d41872634fde3f4b0c8583ccd4 Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Fri, 4 Mar 2016 18:26:48 +0000 Subject: [PATCH 03/13] Merged changes through SVN 10892 from trunk. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@10895 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 55 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/RELEASE.TXT b/RELEASE.TXT index d8e407a6..40e1fe8a 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -1,8 +1,11 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ - --------- - svn 10759 - --------- - Created an option to enter cell-porosties in keyword TRANSPORT: + + --------- + svn 10804 + --------- + PHREEQC: Created an option to enter cell porosities in keyword TRANSPORT, which was + motivated by the need to define porosities for a variable-porosity multicomponent diffusion + problem. Previously the Basic function CHANGE_POR had to be used to allow variable porosity. -porosities 0.3 0.29 0.28 # porosities of cells 1, 2, 3-n, used for calculating # tortuosity in multicomponent diffusion calculations. The @@ -11,15 +14,15 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ # an exchange-factor > 0 ('-stagnant 1 4e-6 0.3 0.1'), the # mobile (here = 0.3) and immobile (here = 0.1) porosities # defined with -stagnant are used. - + The electric potential can be defined in keyword SOLUTION: -potential 3 # Volt - + The effect of an electrical field on multicomponent diffusion (electro-migration) is calculated with the Nernst-Planck equation if one of the 2 column end-cell solutions has a potential different from 0 (SOLUTION 0, SOLUTION cells + 1). For examples of electro-migration, see http://www.hydrochemistry.eu/exmpls/electro_dif.html - + Added special BASIC functions for obtaining parameters calculated in electro-migration: CURRENT_A # the current (A) through the column POT_V # potential (V) in a cell @@ -28,7 +31,7 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ tortuosities, diffusion coefficients) are different for the two cells, the harmonic mean is used for calculating the mass transfer (Appelo et al., 2010, Geochim. Cosmochim. Acta 74, 1201-1219). - + A temperature damping factor was added for the temperature effect of viscosity on the diffusion coefficient of a solute species: @@ -39,6 +42,38 @@ H+ = H+ The equation was proposed by Smolyakov, according to Anderko and Lencka, 1997, Ind. Chem. Eng. Res. 36, 1932–1943. + --------- + svn 10632 + --------- + PhreeqcRM: Revised transfer of data for MPI when rebalancing. Serializes lists of + characters, integers, and doubles, instead of writing full "dump" version of each + reaction. Is much faster for cell transfers when rebalancing among processes. + + --------- + svn 10630 + --------- + PhreeqcRM: Fixed bug when transferring data for MPI. Surface related to kinetics lost + concentrations of sorbed elements. + + --------- + svn 10585 + --------- + Phreeqc: New set of convergence parameters that delay the removal of an unstable + phase by 1 iteration. Also new KNOBS identifier, -equi_delay n, where n is the + number of iterations to retain an unstable phase. + + --------- + svn 10537 + --------- + Phreeqc: Comments for K-spar and Albite RATEs were incorrect for phreeqc.dat and + wateq4f.dat + + --------- + svn 10521 + --------- + PhreeqcRM: Provided better error message for CreateMapping errors. + +Version 3.3.3 (10424): October 23, 2015 --------- svn 10409 --------- @@ -208,7 +243,7 @@ Version 3.2.2: August 24, 2015 -------- New Basic function EDL_SPECIES returns the moles of species in the electrical double layer. Applies when -DONNAN or - -DIFFUSE_LAYER is defined in SURFACE calculations. + -DIFFUSE_LAYER are defined in SURFACE calculations. EDL_SPECIES(surf$, count, name$, moles, area, thickness) @@ -248,7 +283,7 @@ Version 3.2.1: July 7, 2015 svn 9930 -------- PhreeqcRM had a serious error in the convertion of units from transport - to the module. The error occurred when using H2O as a component and mg/L + to themodule. The error occurred when using H2O as a component and mg/L as the transport unit. From 2c2a8ca68b81064a340d13dd7a0dcd8d5b171ebe Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Thu, 9 Feb 2017 16:41:47 +0000 Subject: [PATCH 04/13] Updated to PHREEQC3 12386 git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12387 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 231 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) diff --git a/RELEASE.TXT b/RELEASE.TXT index 40e1fe8a..62ecd50e 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -1,5 +1,236 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ + --------- + svn 12319 + --------- + PhreeqcRM: The Fortran version of RM_SpeciesConcentrations2Module + did not provide the correct return value. Generally, -3 was returned + (IRM_INVALIDARG), even if the method worked properly and should have + returned 0 (IRM_OK). + +Version 3.3.10: January 12, 2017 (svn 12220) + --------- + svn 12204 + --------- + PHREEQC: Updated Basic function SYS("equi"...). The function now gives + the correct amounts of equilibrium phases at the end of a reaction. + Previously, the function erroneously gave the amounts of equilibrium + phases before reactions. + +Version 3.3.9: November 15, 2016 (svn 11951) + --------- + svn 11942 + --------- + PHREEQC: Updated sit.dat to version 9b0 from www.thermochimie-tdb.com. Changed + documentation of some RATES definitions in Amm.dat to have the correct diameter + assumed for mineral grains. + + --------- + svn 11915 + --------- + Phreeqc: Bug when surface was related to kinetics and the proportion of sites to + kinetic reactant was zero (not common). The bug caused a segmentation-fault crash. + + --------- + svn 11914 + --------- + PhreeqcRM: Previously, the guess for the unknown for mass of water was the value + from the last time step. For widely varying saturaations, the old value + caused nonconvergence for the cell. Now the mass of water is estimated from the + updated value of the moles of oxygen in the cell. + +Version 3.3.8: September 13, 2016 (svn 11728) + + --------- + svn 11559 + --------- + PhreeqcRM: Added comment to output that user-grid cell numbers are 0 based (C-like). + + --------- + svn 11471 + --------- + PhreeqcRM: Removed tabs from RM_interface.F90. + + --------- + svn 11412 + --------- + PHREEQC: Fixed a potential bug where memcpy target and source locations + overlapped. + + --------- + svn 11408 + --------- + PHREEQC: Implemented some changes for redox calculations with the Pitzer model. + Revising master variable values when large concentrations occur, and basis + switching between redox environments. Algorithm for initial estimates of + variables was also changed, as well as removing activity coefficient equations + when not needed. + + --------- + svn 11304 + --------- + PHREEQC: The file dw.cpp was removed from the source code. It contained obsolete + code inherited from PHRQPITZ to calculate the density of water. + + --------- + svn 11284 + --------- + PhreeqcRM: Order of header files was changed to put mpi.h first to avoid potential header + conflicts with some MPI implementations. + + --------- + svn 11255 + --------- + PHREEQC: The Peng-Robinson gas calculation failed with very smally gas partial pressures. + Code was modified to set a minimum of 1e-10 atm for the calculation. + + --------- + svn 11255 + --------- + PhreeqcI: File/registry virtualization was disabled. Windows allowed users to write into + system directories (Program Files for instance) even though they did not have sufficient + permissions. The files were actually stored in another directory in the user's profile. + The files are difficult to find, and, under some conditions, PhreeqcI would fail. Now, + it is not allowed to write into directories for which the user does not have write + permission. + + --------- + svn 11201 + --------- + PHREEQC: Added new Basic function PHASE_VM("Calcite"). The function returns the molar volume + for a mineral. The molar volume is defined for the mineral in PHASES with the -vm option. + Use the Basic function GAS_VM for gas components. + + --------- + svn 11152 + --------- + PHREEQC: Added two new Basic functions related to KINETICS. + + n$ = KINETICS_FORMULA$("Albite", count, elt$, coef) + + This function searches for a kinetic reaction definition (Albite, in the example). If found, n$ + is set equal to the first argument (Albite), otherwise an empty string is returned. The + function returns these values: count is the number of items in the arrays elt$ and coef; elt$ + is a list of element names in the formula for the kinetic reaction; and coef is a numeric + array containing the number of atoms of each element in the kinetic-reaction formula, in the + order defined by elt$, which is alphabetical by element. + + m = SYS("kin", count , name$ , type$ , moles) + + This function identifies all of the kinetic reactants in the current KINETICS definition + and returns the sum of moles of all kinetic reactants. Count is number of kinetic + reactants. Name$ contains the kinetic reactant names. Type$ is “kin”. Moles contains the + moles of each kinetic reactant. The chemical formula used in the kinetic reaction can be + determined by using a reaction name from Name$ as the first argument of the + KINETICS_FORMULA$ Basic function. + + --------- + svn 11106 + --------- + Updated the online manual + (http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc/phreeqc3-html/phreeqc3.htm) + to have revisions noted in italic text and better graphics for figures. + +Version 3.3.7 (11094): April 21, 2016 + + --------- + svn 11091 + --------- + Cerussite misspelled in 5 databases (Amm, minteq, minteq.v4, phreeqc, and wateq4f. + Modified Calcite RATES to handle M0=0. Added rate for quartz to wateq4f.dat. + + --------- + svn 11073 + --------- + PhreeqcI: The selected-output file was missing headers under some conditions, for example + : SOLUTION;SELECTED_OUTPUT;END. + + --------- + svn 11072 + --------- + PhreeqcI: Fixed bug that overwrote selected output files when (re-)opening a .pqi file + +Version 3.3.6 (11064): April 18, 2016 + --------- + svn 10952 + --------- + PhreeqcRM: InitialPhreeqcCell2Module method had incorrect indexing when using a mapping of model + cells to chemistry cells that was not 1-to-1. The result was incorrect values for porosity, rv, and + saturation. + + --------- + svn 10932 + --------- + PHREEQC: Additional error checking. In SOLUTION_MASTER_SPECIES the master species must contain the + element name. + + --------- + svn 10929 + --------- + PHREEQC: If an aqueous species lacked a molar volume parameter (Vm), then the change in molar volume + for reactions involving that species were not calculated correctly. Now summations of molar volumes, + including zero for the species, are calculated. + + --------- + svn 10892 + --------- + PHREEQC: Added Vm values for Gibbsite, Kaolinite, Albite, Anorthite, K-feldspar, Ca-Montmorillonite, + Talc, Illite, Chrysotile, Sepiolite, Hematite, Goethite, Pyrite, and Mackinawite for the phreeqc.dat + and Amm.dat databases. + + --------- + svn 10877 + --------- + PHREEQC and PhreeqcI: PhreeqcI has updated documentation through the Help menu. All entries in green + font are modifications, corrections, or new features. + + Corrected description of "EQUI" option of the SYS function. + + -porosities is now an option in TRANSPORT for defining a heterogeneous distribution of porosity for + -multi_d calculations. + + RHO_0 is a new Basic function that gives the density of pure water at the current temperature. + + EDL_SPECIES(surf$, count, name$, moles, area, thickness) + + Returns the total number of moles of species in the diffuse layer. The arguments to the function are + as follows: surf$ is the name of a surface, such as "Hfo", excluding the site type (such as "_s"); + count is the number of species in the diffuse layer; name$ is an array of size count that contains + the names of aqueous species in the diffuse layer of surface surf$; moles is an array of size count + that contains the number of moles of each aqueous species in the diffuse layer of surface surf$; + area is the area of the surface in m^2; thickness is the thickness of the diffuse layer in m. The + function applies when -donnan or -diffuse_layer is defined in SURFACE calculations. + + Corrected description of "EQUI" option of the SYS function. + + --------- + svn 10874 + --------- + + PHREEQC: Corrected description of "EQUI" option of the SYS function. PhreeqcI has updated + documentation through the help. All entries in green font are modifications, corrections, or new + features. + + --------- + svn 10844 + --------- + PhreeqcI: Changed the way the current working directory is set. Now, the current working directory + is not changed when browsing for and changing the database. + + --------- + svn 10843 + --------- + PhreeqcI: SOLUTION_SPREAD did not import correctly when using the P4W tab of PhreeqcI to generate + the an example problem. + + --------- + svn 10834 + --------- + PHREEQC: In converting units of mass to moles per kilogram of water, it is possible to calculate a negative + mass of water. This problem is now trapped, and an error message is issued. + +Version 3.3.5 (10806): February 3, 2016 + --------- svn 10804 --------- From e2b406049a089b41eb1d1cf8e8e936c878349bc4 Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Tue, 7 Mar 2017 20:06:50 +0000 Subject: [PATCH 05/13] Update to 12494 of phreeqc3-trunk Includes add of ColdChem.database/CMakeLists.txt Updating documentation iso_example .out files. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12495 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/RELEASE.TXT b/RELEASE.TXT index 62ecd50e..d661a35f 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -1,11 +1,42 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ - + --------- + svn 12480 + --------- + PHREEQC: Added the ColdChem.dat database developed by Toner and + Catling, Journal of Chemical & Engineering Data, 2017, DOI: 10.1021/ + acs.jced.6b00812. It is a comprehensive Pitzer model in the Na-K-Ca-Mg- + Cl system valid for low temperature, from 298.15 to < 200 K. + PHREEQC was modified to allow definition of the temperature dependence + of A(phi) in the Pitzer formulation through a new option, -APHI, in + the PITZER keyword. The coefficients of the APHI expression are the + same as the temperature dependence of other Pitzer parameters. + A new Basic function, APHI, has been added to give the value of + the parameter in the current calculation. + + --------- + svn 12475 + --------- + PHREEQC: Added logic to limit the range of the fugacity coefficient. + + --------- + svn 12462 + --------- + PHREEQC: Change to avoid potential NULL pointer in -multi_D + calculations. + + --------- + svn 12439 + --------- + PHREEQC: Error check that the same element name was not used for + both a SURFACE and and EXCHANGEr, which caused a NULL pointer. Some variables in the unknown + structure are now initialized. + --------- svn 12319 --------- - PhreeqcRM: The Fortran version of RM_SpeciesConcentrations2Module - did not provide the correct return value. Generally, -3 was returned - (IRM_INVALIDARG), even if the method worked properly and should have + PhreeqcRM: The Fortran version of RM_SpeciesConcentrations2Module did + not provide the correct return value. Generally, -3 was returned + (IRM_INVALIDARG), even if the method worked properly and should have returned 0 (IRM_OK). Version 3.3.10: January 12, 2017 (svn 12220) From 2e0a8a512179db9a828810ef3c9edd0aa0486595 Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Fri, 10 Mar 2017 18:30:49 +0000 Subject: [PATCH 06/13] Merged phreeqc3-trunk through 12545. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12546 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RELEASE.TXT b/RELEASE.TXT index d661a35f..4e1ce839 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -1,4 +1,6 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ + +Version 3.3.11: March 10, 2017 (svn 12540) --------- svn 12480 --------- From 78734c68e6c21be6ca0847ab2abe5a07924f2ba8 Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Fri, 10 Mar 2017 19:42:59 +0000 Subject: [PATCH 07/13] Added documentation for electro-migration at top of RELEASE.TXT file. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12547 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 126 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 103 insertions(+), 23 deletions(-) diff --git a/RELEASE.TXT b/RELEASE.TXT index 4e1ce839..1e2098bc 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -1,5 +1,74 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ + The effect of an electrical field on multicomponent diffusion (electro-migration) is + calculated with the Nernst-Planck equation if one of the 2 column end-cell solutions has + a potential different from 0 (SOLUTION 0, SOLUTION cells + 1). For examples of electro- + migration, see http://www.hydrochemistry.eu/exmpls/electro_dif.html. + + A number of new features have been implemented for electro-migration. + + (1) The electric potential can be defined in keyword SOLUTION: + + SOLUTION 1 + -potential 3 # Volt + + + (2) The electric current in a column experiment can be defined in keyword TRANSPORT: + + TRANSPORT + -current 1e-3 # Ampere + + (3) When using -multi_d and -interlayer_d in TRANSPORT, the + porosity for calculating interlayer diffusion is added to the porosity + defined with -porosities or -multi_d. For example: + + -porosities 0.3 0.29 0.28 ... + -multi_d true 1e-9 0.3 0.05 1.0 false + -interlayer_d true 0.07 0.01 250 + + The total porosities will be 0.37, 0.36, 0.35, ... in cells 1, 2, 3, ... + In previous versions, the interlayer porosity was subtracted from the porosity + defined with -multi_d. + + (4) If the properties in a regular column (surface areas, lengths, double layers, + tortuosities, diffusion coefficients) are different for the two cells, the harmonic mean + is used for calculating the mass transfer (Appelo et al., 2010, Geochim. Cosmochim. Acta + 74, 1201-1219). + + (5) The following Basic functions have been added: + + CURRENT_A # the current through the column, amps. + POT_V # potential in a cell, volts. + T_SC("Cl-") # The transport- or transference-number of the ion, equal to the + # fraction of the specific conductance contributed by the species(-). + VISCOS # At present, returns the viscosity of a pure water solution, same as + # VISCOS_0, milliPascal second. + VISCOS_0 # Returns the viscosity of a pure water solution at current conditions + # milliPascal second. + + + (6) A temperature damping factor and two parameters for ionic strength dependence were added for + the calculation of the diffusion coefficient of a solute species: + + SOLUTION_SPECIES + H+ = H+ + -dw 9.31e-9 763 0.46 1e-10 + + where the first number is the diffusion coeficient at 25 C, and the second number is a damping + factor for the temperature correction, as proposed by Smolyakov, according to Anderko and Lencka, + 1997, Ind. Chem. Eng. Res. 36, 1932–1943: + + Dw(TK) = 9.31e-9 * exp(763 / TK - 763 / 298.15) * TK * 0.89 / (298.15 * viscos). + + The ionic strength correction is as follows: + Dw(I) = Dw(TK) * exp(-0.46 * DH_A * |z_H+| * I^0.5 / (1 + DH_B * I^0.5 * 1e-10 / (1 + I^0.75))) + + --------- + svn 12545 + --------- + PHREEQC: Added Basic function TITLE, which returns the last TITLE keyword definition (with + + Version 3.3.11: March 10, 2017 (svn 12540) --------- svn 12480 @@ -30,8 +99,8 @@ Version 3.3.11: March 10, 2017 (svn 12540) svn 12439 --------- PHREEQC: Error check that the same element name was not used for - both a SURFACE and and EXCHANGEr, which caused a NULL pointer. Some variables in the unknown - structure are now initialized. + both a SURFACE and and EXCHANGEr, which caused a NULL pointer. + Some variables in the unknown structure are now initialized. --------- svn 12319 @@ -279,33 +348,44 @@ Version 3.3.5 (10806): February 3, 2016 # mobile (here = 0.3) and immobile (here = 0.1) porosities # defined with -stagnant are used. - The electric potential can be defined in keyword SOLUTION: - -potential 3 # Volt + --------- + svn 10770 + --------- + IPhreeqc: Added optional argument sl to GetSelectedOutputValue in Fortran. The revised method + is as follows, where sl is a new optional argument. - The effect of an electrical field on multicomponent diffusion (electro-migration) is calculated with - the Nernst-Planck equation if one of the 2 column end-cell solutions has a potential different from 0 - (SOLUTION 0, SOLUTION cells + 1). For examples of electro-migration, see - http://www.hydrochemistry.eu/exmpls/electro_dif.html + CHARACTER(LEN=40) :: sv + status = GetSelectedOutputValue(id, i, j, vt, dv, sv, sl) - Added special BASIC functions for obtaining parameters calculated in electro-migration: - CURRENT_A # the current (A) through the column - POT_V # potential (V) in a cell + In the example, if the character string generated in IPhreeqc and stored in sv is 40 characters or + less, the value of sl will be 0. If the character string generated in IPhreeqc was greater than + 40 characters, the truncated string is stored in sv, but the value of sl will contain the length + of the string before truncation. - If the properties in a regular column (surface areas, lengths, double layers, - tortuosities, diffusion coefficients) are different for the two cells, the harmonic - mean is used for calculating the mass transfer (Appelo et al., 2010, Geochim. Cosmochim. - Acta 74, 1201-1219). + --------- + svn 10668 + --------- + All programs: Now using Jenkins for continuous integration. - A temperature damping factor was added for the temperature effect of viscosity on the diffusion - coefficient of a solute species: + --------- + svn 10664 + --------- + PHREEQC: Erroneous input could cause a segmentation fault for surfaces + related to minerals or kinetics. -SOLUTION_SPECIES -H+ = H+ - -dw 9.31e-9 831 # Dw(TK) = 9.31e-9 * exp(831 / TK - 831 / 298.15) * TK * 0.89 / (298.15 * viscos) - - The equation was proposed by Smolyakov, according to Anderko and Lencka, 1997, Ind. Chem. Eng. Res. - 36, 1932–1943. + --------- + svn 10644 + --------- + PHREEQC: Minor format change for specific conductance. + --------- + svn 10640 + --------- + PhreeqcRM: Advection example in C and C++ had wrong MPI type for integer transfers. + Example code in documentation also had wrong MPI type for some integer transfers. + Integer transfers in Fortran should use MPI_INTEGER, while integer transfers in + C and C++ should use MPI_INT. + --------- svn 10632 --------- From 199fdb683df61f49868e351be242caff95906ab2 Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Wed, 29 Mar 2017 20:48:54 +0000 Subject: [PATCH 08/13] Updated to svn 12361 on trunk Added documentation for density calculate git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12635 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/RELEASE.TXT b/RELEASE.TXT index 1e2098bc..b690f959 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -64,12 +64,38 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ Dw(I) = Dw(TK) * exp(-0.46 * DH_A * |z_H+| * I^0.5 / (1 + DH_B * I^0.5 * 1e-10 / (1 + I^0.75))) --------- - svn 12545 + svn 12623 --------- - PHREEQC: Added Basic function TITLE, which returns the last TITLE keyword definition (with + PHREEQC: Added a new option for a density calculation to SOLUTION + and SOLUTION_SPREAD. The speciation calculation for a solution is + iterated until the density used in the conversion of units is the + same as the density calculated for the solution. It affects solutions + with concentrations defined as per liter (mg/L, for example). + Here are three examples for specifying the calculation, where \t + indicates a tab. -Version 3.3.11: March 10, 2017 (svn 12540) + SOLUTION + -density 1.1 calculate + + SOLUTION_SPREAD + -density 1.2 calculate + + SOLUTION_SPREAD + pH\t density\t + charge\t calculate\t + 7.0\t 1.03\t + + If the calculation is performed, the density in the description of + solution part of the output will be identified with "(Iterated)". + + --------- + svn 12540 + --------- + PHREEQC: Added new Basic function TITLE, which returns the last + definition by a TITLE keyword data block. + +Version 3.3.11: March 10, 2017 (svn 12535) --------- svn 12480 --------- From 3cbc556610584a3013fd70f0bb10b9e5a0938e96 Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Tue, 25 Apr 2017 18:03:14 +0000 Subject: [PATCH 09/13] Synced with PHREEQC 12683. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12683 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/RELEASE.TXT b/RELEASE.TXT index b690f959..e0013d89 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -63,6 +63,12 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ The ionic strength correction is as follows: Dw(I) = Dw(TK) * exp(-0.46 * DH_A * |z_H+| * I^0.5 / (1 + DH_B * I^0.5 * 1e-10 / (1 + I^0.75))) + --------- + svn 12683 + --------- + PHREEQC: Bug fix for -donnan, -debye, and surface related + to mineral that has zero moles. + --------- svn 12623 --------- From 0b32fddb5bd914f98ced3748155f2e2641168f8f Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Wed, 10 May 2017 20:03:07 +0000 Subject: [PATCH 10/13] Synced to PHREEQC3 12702 Error when reading PHASES and -no_check was read instead of equation. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12703 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/RELEASE.TXT b/RELEASE.TXT index e0013d89..e77c2cdf 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -63,6 +63,13 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ The ionic strength correction is as follows: Dw(I) = Dw(TK) * exp(-0.46 * DH_A * |z_H+| * I^0.5 / (1 + DH_B * I^0.5 * 1e-10 / (1 + I^0.75))) + --------- + svn 12702 + --------- + PHREEQC: Bug fix for when -no_check followed mineral + name in PHASES. Now catches error if equation does not + the next line following the mineral name. + --------- svn 12683 --------- From 6711ecab51e458c2ced0b6f02a5169dfea2652fd Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Wed, 2 Aug 2017 20:02:16 +0000 Subject: [PATCH 11/13] Merge with trunk to 12776 git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12776 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/RELEASE.TXT b/RELEASE.TXT index e77c2cdf..d4f9a798 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -63,6 +63,35 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ The ionic strength correction is as follows: Dw(I) = Dw(TK) * exp(-0.46 * DH_A * |z_H+| * I^0.5 / (1 + DH_B * I^0.5 * 1e-10 / (1 + I^0.75))) + --------- + svn 12774 + --------- + Added new database, core10.dat, contributed by Marc Neveu. The database + is derived from phreeqc.dat and llnl.dat, with careful data checking, + use of SUPCRT for temperature dependence, and addition of molar volumes + for pressure dependence. + + Downloaded July 18, 2017 from the following URL + https://github.com/MarcNeveu/IcyDwarf/blob/master/IcyDwarf/PHREEQC-3.1.2/core10.dat + + Please see the following report for details: + Neveu, Marc, Desch, S.J., and Castillo-Rogez, J.C., 2017, Aqueous geochemistry in + icy world interiors: Equilibrium fluid, rock, and gas compositions, + and fate of antifreezes and radionuclides, Geochimica et Cosmochimica Acta, + v. 212, p. 324-371, http://dx.doi.org/10.1016/j.gca.2017.06.023 + + --------- + svn 12758 + --------- + PHREEQC: Changed the first parameter in the analytical expression for ethane C2H6. + The negative sign was apparently omitted. + + --------- + svn 12712 + --------- + PHREEQC: GAMMA and LG functions were not correct + for exchange species. + --------- svn 12702 --------- From 464c9d13f0074774cba44bc63ac8ba2252358edc Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Mon, 25 Sep 2017 19:11:17 +0000 Subject: [PATCH 12/13] Update of ColdChem.dat git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12839 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/RELEASE.TXT b/RELEASE.TXT index d4f9a798..200001d4 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -63,6 +63,15 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ The ionic strength correction is as follows: Dw(I) = Dw(TK) * exp(-0.46 * DH_A * |z_H+| * I^0.5 / (1 + DH_B * I^0.5 * 1e-10 / (1 + I^0.75))) + + --------- + svn 12839 + --------- + PHREEQC: ColdChem.dat database has been expanded to include sulfate and sulfate + salts. The database is described in a new journal article by Toner and Catling: + Journal of Chemical & Engineering Data, 2017, + http://pubs.acs.org/doi/full/10.1021/acs.jced.7b00265. + --------- svn 12774 --------- From 22f9ecedf05097d7a0201388ec3bfd928f0baebf Mon Sep 17 00:00:00 2001 From: David L Parkhurst Date: Mon, 30 Oct 2017 19:10:42 +0000 Subject: [PATCH 13/13] Updating RELEASE.TXT for RELEASE.TXT Slight modification to Na2SO4_phr. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/branches/concrete@12886 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- RELEASE.TXT | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/RELEASE.TXT b/RELEASE.TXT index 200001d4..642dbad5 100644 --- a/RELEASE.TXT +++ b/RELEASE.TXT @@ -72,6 +72,12 @@ Version @PHREEQC_VER@: @PHREEQC_DATE@ Journal of Chemical & Engineering Data, 2017, http://pubs.acs.org/doi/full/10.1021/acs.jced.7b00265. + --------- + svn 12814 + --------- + PHREEQC: Error in dist_x function and in counting of cells for some transport + problems. + --------- svn 12774 ---------