Please email phreeqcusers at gmail.com with your name and affiliation to request an account.
Welcome
Guest
Forum Home
Login
Register
PhreeqcUsers Discussion Forum
»
Processes
»
Reactive transport modelling
»
'UseSolutionDensityVolume' for compressible flows
« previous
next »
Print
Pages: [
1
]
Go Down
Author
Topic: 'UseSolutionDensityVolume' for compressible flows (Read 11673 times)
SaiP
Frequent Contributor
Posts: 19
'UseSolutionDensityVolume' for compressible flows
«
on:
23/09/21 15:15 »
Hi David,
Question regarding the boolian function '
UpdateSolutionDensityVolume(true/false)
'.
Single phase:
When I run incompressible flow cases (where solution density is constant) - I set the bool to 'false' and everything works perfect.
Considering compressible flows (solution density varies based on temperature): I am modelling a case where I inject a solution at Temperature, T = 100C and initially the rest of the domain is at T = 25C. The density of water at T=25C is 997kg/m3 and 958kg/m3 at T=100C. I retain the bool as 'false'.
I notice that the solution volume increases to a value above 1 though the porosity and representative volume are both set to 1. The solution volume stabilizes at a value of '997/958 = 1.04'. However, if my representative volume and porosity are both equal to one, the solution volume cant go beyond (as in the case I described) or less (if I inject a cold solution into a warm solution) than one. Reading the manual, I set the bool to 'true' and I get the solution volume approximately equal to 1.
What shall be done in order to set the bool to false and get the correct solution volume?
Why I prefer setting the boolian to 'false'?
I prefer to set the bool to 'false' because when I do two phase flows where there is phase change, i.e., when the water in a cell completely (as Phreeqc requires a small portion of water in the cell, I limit the minimum saturation of water to 0.001) evaporates, I still notice a decent value of saturation (around S = 0.8) and the moles of vapor explode over time when the bool is 'true'. It seems to me using 'UseSolutionDensityVolume' when there is no solution is not a good option.
However, for the same two phase flow case with phase change, when the bool is set to 'false', I notice I get the correct saturation (S=0.001) and the moles of vapor formed are around 54 mol/l.
--
This is the reason, I wanted to check the 'UseSolutionDensityVolume' for single phase compressible flows that I have elaborated at the start. Using the same procedure, I wanted to incorporate it into the two-phase compressible flow library that I am developing. But I got stuck at the single phase case study.
Thanks!!
Logged
dlparkhurst
Global Moderator
Posts: 4336
Re: 'UseSolutionDensityVolume' for compressible flows
«
Reply #1 on:
23/09/21 15:57 »
I am not very good with multi-phase transport; it's way too complicated. My simple-minded explanation for your problem is that when you allow PHREEQC to calculate density and solution volume, you are not accounting for the change in your transport calculation. I think there should be transport equation terms that include derivatives of density. When you let PHREEQC calculate the density, it seems like you need to feed that information back into the transport, probably with some iterative approach.
Alternatively, you could use your own function for density as a function of temperature and pressure that is used in the transport equation and set UseSolutionDensity to false, which will use values of SetDensity, SetSaturation, and SetPorosity to convert PHREEQC solutions to concentration when GetConcentrations is called.
Please consider that my answer may not be correct; that is why you are doing the multiphase transport and not me. I certainly do not know the subtleties or how to make the calculations more exact.
Logged
Print
Pages: [
1
]
Go Up
« previous
next »
PhreeqcUsers Discussion Forum
»
Processes
»
Reactive transport modelling
»
'UseSolutionDensityVolume' for compressible flows