PhreeqcUsers Discussion Forum

Registrations currently disabled due to excessive spam. Please email phreeqcusers at gmail.com to request an account.
Welcome Guest
 

  • Forum Home
  • Login
  • Register

  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Reactive transport modelling »
  • About the representative volume RV in PhreeqcRM
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: About the representative volume RV in PhreeqcRM  (Read 4600 times)

cyprien

  • Contributor
  • Posts: 9
About the representative volume RV in PhreeqcRM
« on: 06/11/17 19:16 »
Hi,

I am coupling PhreeqcRM with a finite volume transport solver. I am not sure to well understand what is the representative volume RV we have to specify. Is it the cell volume or is it something different that has to be equal to 1L?

Any light will be appreciated!
Thank you,
Cyprien
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4074
Re: About the representative volume RV in PhreeqcRM
« Reply #1 on: 06/11/17 19:39 »
PHREEQC works best if the mass of water is within an order of magnitude or two of 1 kg. PHAST uses one liter of aquifer as the representative volume, which results in a saturated water volume equal to the porosity. I think that is the simplest approach, but you can increase the representative volume, perhaps if the porosity is very small and conditions are unsaturated.

PhreeqcRM returns concentrations, so the extent of the representative volume is only important on the chemistry side for determining the amount of reactants (minerals, surfaces, exchangers, etc) available to react with the water in the representative volume.
Logged

cyprien

  • Contributor
  • Posts: 9
Re: About the representative volume RV in PhreeqcRM
« Reply #2 on: 06/11/17 19:50 »
Thank you for your prompt response.

In my case, I am interested in very fine grid block (in the order of cubic-micrometers), is it still correct to have RV = 1L ?
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4074
Re: About the representative volume RV in PhreeqcRM
« Reply #3 on: 06/11/17 21:25 »
Think so. Just get the right amounts of reactants.
Logged

Pak

  • Top Contributor
  • Posts: 100
Re: About the representative volume RV in PhreeqcRM
« Reply #4 on: 13/06/18 09:17 »
I am going to ask hre my question. Since I think that it is related somehow to this post. If somebody is against, please let me know and I will open a new thread and delete this post.

Does somebody know if the use of RM_SetPoreVolume, RM_SetSaturation, and RM_SetPorosity, has some effect if RM_UseSolutionDensityVolume has not been set?

So far, I have not found any change in using RM_SetPoreVolume, RM_SetSaturation, and RM_SetPorosity with different values (or even not setting RM_SetPoreVolume, RM_SetSaturation, and RM_SetPorosity), if RM_UseSolutionDensityVolume has not also been set.

There is a modification in the values of RM_GetSaturation, but it seem to me that is the only thing that is modified. The calculated concentrations are the same, and the RM_GetDensity and RM_GetSolutionVolume keep giving the same results.


Thank you for your help.
« Last Edit: 13/06/18 13:19 by Pak »
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4074
Re: About the representative volume RV in PhreeqcRM
« Reply #5 on: 13/06/18 16:21 »
"The volume of water in a reaction cell is the product of porosity, saturation (SetSaturation), and representative volume (SetRepresentativeVolume)."

RV is expected to be set at the beginning of the run and not changed, but if you change the porosity (because of pressure-storage relations) or saturation (for unsaturated systems) you change the volume of water in a cell; so, you also change the ratio of water to other reactants.

The ratio of water to solids may not affect the solution composition when using EQUILIBRIUM_PHASES, but it will affect the amount of the equilibrium phases that dissolve and precipitate. The ratio will have an  effect on the solution when using SURFACE, EXCHANGE, GAS_PHASE,  and perhaps KINETICS (depending on the RATES definition). These latter reactions will attain different solution compositions depending on the amount of water relative to reactants.

I believe the the values from SetSaturation and SetPorosity are used to convert from transport units (often mol/L or mass fraction) to PHREEQC units (mol/kgw). After reaction, the choice set by RM_UseSolutionDensityVolume is used to convert from mol/kgw back to transport units.



Logged

Pak

  • Top Contributor
  • Posts: 100
Re: About the representative volume RV in PhreeqcRM
« Reply #6 on: 14/06/18 13:06 »
Indeed, thank you, I have been slow to remember that the solution composition is determined by the solids (so long as there is not disappearence of phases or apperance of new phases). I fully agree that the amount of dissolved or formed solid should change with the amount of water.

How can I see these changes in the amount of dissolution/precipitation?

I have run the attached Phreeqcfile with PhreeqcRM, I have changed the porosity/rv/saturation with the proper methods of RM_interface_C.h:
RM_SetSaturation, RM_SetPorosity,RM_SetRepresentativeVolume

Then after rm_runfile and rm_runcells, I use the command to draw the matrix of selected output: RM_GetSelectedOutput

but independently of the porosity/liquid saturation or representative element volume, I get the same final amount of Calcite : 0.189952482e-3 mol, and Dolomite: 0.004436993e-3 mol.


Thank you
« Last Edit: 14/06/18 14:51 by Pak »
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4074
Re: About the representative volume RV in PhreeqcRM
« Reply #7 on: 14/06/18 16:21 »
The moles of equilibrium phases should vary with volume of water.

I know of one bug that has not been fixed.

Quote from: dlparkhurst on 02/02/18 05:07
The second is unfortunately a bug. InitialPhreeqc2Module does not multiply by the rv factor as it should. So, until we put out a new release, you should use this method only with rv=1.0. InitialPhreeqcCell2Module works correctly with nonunity rv.

It is possible there are other bugs, but I don't know of any. If you use phreeqc.dat for the database, you should be able to print the function SOLN_VOL, which would tell you the volume of water in a cell.

Logged

Pak

  • Top Contributor
  • Posts: 100
Re: About the representative volume RV in PhreeqcRM
« Reply #8 on: 15/06/18 08:14 »
I think there might be a bug.
I can send you the matlab file, libraries and files that I have used if you want.

But I have played setting different porosity, RV and liquid saturation before running the file and the results that I get from SOLN_VOL for the example I am using is always 1.003 L.

Thanks
« Last Edit: 15/06/18 08:17 by Pak »
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4074
Re: About the representative volume RV in PhreeqcRM
« Reply #9 on: 15/06/18 10:34 »
Sorry, I am not a Matlab user.

There are tests that are distributed with PhreeqcRM that are compiled and run as part of the compilation process for the PhreeqcRM library. There are C++, C, and Fortran versions of a simple advection example. I made modifications to the C++ version of advection to change saturation and porosity and found the resulting solution volume to change accordingly. So, I do not know why you are seeing no changes in solution volume. (I used 12704 that I had already compiled, latest PhreeqcRM is 12927).

Perhaps it is the order that you are making the calls. You should set the rv, saturation, and porosity before you call InitialPhreeqc2Module.

I use the porosity feature in PHAST, and I think the saturation must work because my coauthor Laurin Wissmeier implemented PhreeqcRM in FEFlow. I suppose I could look at your Matlab code and make suggestions for you to run to try to figure out what is going on.

« Last Edit: 15/06/18 10:40 by dlparkhurst »
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Reactive transport modelling »
  • About the representative volume RV in PhreeqcRM
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines | Terms and Policies
  • XHTML
  • RSS
  • WAP2