mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-16 00:28:23 +01:00
Merge commit '0087a2c735332605d07fb93570ad545d9b323493'
This commit is contained in:
commit
9a974e99f3
@ -1,5 +1,147 @@
|
|||||||
Version @PHREEQC_VER@: @PHREEQC_DATE@
|
Version @PHREEQC_VER@: @PHREEQC_DATE@
|
||||||
|
|
||||||
|
-------------
|
||||||
|
March 2, 2021
|
||||||
|
-------------
|
||||||
|
PhreeqcRM: Added new methods to retrieve and set the volumes
|
||||||
|
of the gas phases in the cells. GetGasPhaseVolume retrieves
|
||||||
|
the volume of the gas phase in each cell. The value is set
|
||||||
|
to -1.0 for cells that do not have a gas phase.
|
||||||
|
|
||||||
|
SetGasPhaseVolume only applies to fixed-volume gas phases.
|
||||||
|
An array of gas volumes is applied to the gas phases in the
|
||||||
|
cells. If the volume is negative for a cell, the gas volume
|
||||||
|
in the cell remains unchanged. If the volume is greater or
|
||||||
|
equal to zero, the volume is applied to the cell, and the
|
||||||
|
gas phase is forced to be a fixed-volume gas phase.
|
||||||
|
|
||||||
|
C++:
|
||||||
|
IRM_RESULT GetGasPhaseVolume(std::vector<double>& gas_pressure);
|
||||||
|
IRM_RESULT setGasPhaseVolume(const std::vector<double>& gas_pressure);
|
||||||
|
|
||||||
|
Size of the vector is nxyz, the number of cells in the
|
||||||
|
transport model.
|
||||||
|
|
||||||
|
C:
|
||||||
|
IRM_RESULT RM_GetGasPhaseVolume(int id, double* gas_volume);
|
||||||
|
IRM_RESULT RM_SetGasPhaseVolume(int id, double* gas_volume);
|
||||||
|
|
||||||
|
Size of the array is nxyz*sizeof(double), where nxyz is the
|
||||||
|
number of cells in the transport model.
|
||||||
|
|
||||||
|
Fortran90:
|
||||||
|
IRM_RESULT RM_GetGasPhaseVolume(int id, double precision gas_volume(:));
|
||||||
|
IRM_RESULT RM_SetGasPhaseVolume(int id, double precision gas_volume(:));
|
||||||
|
|
||||||
|
The array is dimensioned nxyz, the number of cells in the
|
||||||
|
transport model.
|
||||||
|
|
||||||
|
See HTML documentation of PhreeqcRM in download distributions or
|
||||||
|
https://water.usgs.gov/water-resources/software/PHREEQC/documentation/phreeqcrm/.
|
||||||
|
|
||||||
|
|
||||||
|
-----------------
|
||||||
|
February 26, 2021
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
PhreeqcRM: Added new methods to retrieve values for
|
||||||
|
gas components in each cell--moles, pressures, and
|
||||||
|
fugacity coefficients (phi). A list of gas components is
|
||||||
|
accumulated by call(s) to FindComponents, and retrieved
|
||||||
|
by the method GetGasComponents. An array containing
|
||||||
|
moles of components for each cell in the transport model
|
||||||
|
is retrieved with GetGasCompMoles; similarly for
|
||||||
|
GetGasCompPressures, and GetGasCompPhi. If GAS_PHASE is not
|
||||||
|
defined for a cell or a GAS_PHASE does not contain a component,
|
||||||
|
the array will contain the value -1.0 in those positions.
|
||||||
|
Fugacities of gas components can be calculated as the product
|
||||||
|
of the pressure and fugcity coefficient.
|
||||||
|
|
||||||
|
Moles of gas components in the chemistry cells can be set
|
||||||
|
with the method SetGasCompMoles. A negative value is used to
|
||||||
|
represent components that are absent from a cell.
|
||||||
|
|
||||||
|
C++:
|
||||||
|
IRM_RESULT GetGasCompMoles(std::vector<double>& gas_moles);
|
||||||
|
IRM_RESULT GetGasCompPressures(std::vector<double>& gas_pressure);
|
||||||
|
IRM_RESULT GetGasCompPhi(std::vector<double>& gas_phi);
|
||||||
|
IRM_RESULT SetGasCompMoles(const std::vector<double>& gas_moles);
|
||||||
|
|
||||||
|
The argument of each method is a vector of size nxyz*ngcomps, where
|
||||||
|
nxyz is the number of cells in the transport model and ngcomps is
|
||||||
|
the number of gas components returned by GetGasComponentCount.
|
||||||
|
|
||||||
|
C:
|
||||||
|
IRM_RESULT RM_GetGasCompMoles(int id, double* gas_moles);
|
||||||
|
IRM_RESULT RM_GetGasCompPressures(int id, double* gas_pressure);
|
||||||
|
IRM_RESULT RM_GetGasCompPhi(int id, double* gas_phi);
|
||||||
|
IRM_RESULT RM_SetGasCompMoles(int id, double* gas_moles);
|
||||||
|
|
||||||
|
For each function, the first argument(id) is an integer, and
|
||||||
|
the second argument is an array of size nxyz*ngcomps*sizeof(double),
|
||||||
|
where nxyz is the number of cells in the transport model and
|
||||||
|
ngcomps is the number of gas components returned by
|
||||||
|
RM_GetGasComponentCount.
|
||||||
|
|
||||||
|
Fortran90:
|
||||||
|
INTEGER FUNCTION RM_GetGasCompMoles(id, gas_moles)
|
||||||
|
INTEGER FUNCTION RM_GetGasCompPressures(id, gas_pressures)
|
||||||
|
INTEGER FUNCTION RM_GetGasCompPhi(id, gas_phi)
|
||||||
|
INTEGER FUNCTION RM_SetGasCompMoles(id, gas_moles)
|
||||||
|
|
||||||
|
For each function, the first argument (id) is an integer, and
|
||||||
|
the second argument is a two dimensional array dimensioned
|
||||||
|
(nxyz,ngcomps), where nxyz is the number of cells in the transport
|
||||||
|
model and ngcomps is the number of gas components returned by
|
||||||
|
RM_GetGasComponentCount.
|
||||||
|
|
||||||
|
See HTML documentation of PhreeqcRM in download distributions or
|
||||||
|
https://water.usgs.gov/water-resources/software/PHREEQC/documentation/phreeqcrm/.
|
||||||
|
|
||||||
|
-----------------
|
||||||
|
February 21, 2021
|
||||||
|
-----------------
|
||||||
|
PhreeqcRM: Added a new method to retrieve log10 molality (mol/kgw)
|
||||||
|
of aqueous species.
|
||||||
|
|
||||||
|
C++:
|
||||||
|
IRM_RESULT GetSpeciesLog10Molalities (std::vector< double > &species_log10molalities)
|
||||||
|
|
||||||
|
C:
|
||||||
|
IRM_RESULT RM_GetSpeciesLog10Molalities(int id, double * species_log10molalities)
|
||||||
|
|
||||||
|
Fortran90:
|
||||||
|
integer function RM_GetSpeciesLog10Molalities(id, species_log10molalities)
|
||||||
|
|
||||||
|
The first argument (id) is an integer, and the second argument is a
|
||||||
|
two dimensional array dimensioned (nxyz,nspecies).
|
||||||
|
|
||||||
|
See HTML documentation of PhreeqcRM in download distributions or
|
||||||
|
https://water.usgs.gov/water-resources/software/PHREEQC/documentation/phreeqcrm/.
|
||||||
|
|
||||||
|
-----------------
|
||||||
|
February 20, 2021
|
||||||
|
-----------------
|
||||||
|
Phreeqc: Added optional 6th argument to Basic function SYS that
|
||||||
|
controls the sort order of the output. If the argument is absent or
|
||||||
|
equal to 0, the sort order of species is from highest to lowest
|
||||||
|
based on the 5th field. If the 6th argument is a nonzero integer,
|
||||||
|
then the sort order is alphabetically based on the 3rd field.
|
||||||
|
|
||||||
|
Sort by 5th field (moles):
|
||||||
|
SYS("element", count , name$ , type$ , moles)
|
||||||
|
SYS("element", count , name$ , type$ , moles, 0)
|
||||||
|
|
||||||
|
Sort by 3rd field (name$):
|
||||||
|
SYS("element", count , name$ , type$ , moles, 1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-----------------
|
||||||
|
February 19, 2021
|
||||||
|
-----------------
|
||||||
|
PhreeqcRM: Fixed zero divide dumping one-cell model.
|
||||||
|
.
|
||||||
----------------
|
----------------
|
||||||
November 24, 2020
|
November 24, 2020
|
||||||
----------------
|
----------------
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user