Commit Graph

36 Commits

Author SHA1 Message Date
Tor Harald Sandve
50c1a1404a Remove BlackoilSolventState
The solvent saturation is added to BlackoilState and the
BlackoilSolventState is thus redundant.
2017-05-30 14:22:19 +02:00
Atgeirr Flø Rasmussen
fff99360b3 Workaround: ensure properties necessary for FIP are computed.
Should only result in an extra call the first time in this function.
2017-04-25 09:31:48 +02:00
Andreas Lauser
ef731672c9 remove the BlackoilPropsAdInterface abstraction layer
instead, directly use BlackoilPropsAdFromDeck.
2017-01-02 13:19:23 +01:00
Jørgen Kvalsvik
1c6a4b34da Update to shared_ptr-less parser interface. 2016-10-20 14:08:04 +02:00
babrodtk
739976535f Added rs and rv output capabilities 2016-09-07 14:55:53 +02:00
Kai Bao
98a6495abc makeing wellModel public for flow_polymer and flow_solvent. 2016-07-05 13:02:27 +02:00
Kai Bao
184bff95ba using well_model_ to represent the WellModel member 2016-05-23 15:11:51 +02:00
Kai Bao
06775ee02c Make BlackoilMultisegmentModel constructured from MultisegmentWells
Instead of being coustructed based StandardWells and having a
MultisegmentWells member.
2016-05-23 15:11:51 +02:00
Kai Bao
508de4dc37 adding extractWellPerfProperties to MultisegmentWells
removing extractWellPerfProperties in all the model classes.
2016-05-23 15:11:51 +02:00
Tor Harald Sandve
01c782dbf3 Remove primalvariable_ and use hydroCarbonState instead
the hydrocarbonstate is stored in the reservoir state and
used instead of the primalvariable_
The initial hydrocarbonstate is computed using
initHydroCarbonState(...);
2016-05-13 09:04:48 +02:00
Kai Bao
13acc8ee03 moving computeWellConnectionPressures to StandardWells
the results look okay, while the running for flow_solvent needs further
investigation even the results with flow_solvent actually look okay.

With two different version of
computePropertiesForWellConnectionPressures, flow_solvent produces the
same results. This is something needs further investigation.

The current implementation requires a copy of
computeWellConnectionPressure in StandardWells and StandardWellsSolvent.
That means probably we need to introduce the asImpl() for the Wells.
2016-04-29 10:07:10 +02:00
Kai Bao
dcca0b0b76 moving addWellControlEq to StandardWells 2016-04-29 10:07:10 +02:00
Kai Bao
ebe60bc5d7 puting WellModel before Implementation in the template. 2016-04-20 14:26:13 +02:00
Kai Bao
5bce482086 fixing the compilation and running of flow_solvent 2016-04-20 14:26:13 +02:00
Kai Bao
5da57973fe adding updateWellState and updateWellControls to StandardWells 2016-04-14 16:05:18 +02:00
Kai Bao
5d99fac207 adding StandardWellsSolvent for Solvent model. 2016-04-14 16:05:18 +02:00
Kai Bao
9972dae32a updating for the comments.
implement wells(), localWellsActive() and wellsActive() for the
BlackoilModelBase and its derived classed.
2016-04-06 12:54:01 +02:00
Kai Bao
3947ff5b1d moving localWellsActive and wellsActive to StandardWells
maybe later it can be something general for different types of wells.
2016-04-06 12:54:01 +02:00
Kai Bao
48483b23c7 update BlackoilSolventModel to fix the compilation. 2016-04-06 12:54:01 +02:00
Tor Harald Sandve
89e540cb2c Pass solutionState as first parameter
output parameters go last...
2016-04-05 08:57:07 +02:00
Tor Harald Sandve
541475b2db Implement computePropertiesForWellConnectionPressures for solvent model
The solvent specify part of computeWellConnectionPressures is factored
out to computePropertiesForWellConnectionPressures in order to reuse
the computeWellConnectionPressures from the base model.
2016-04-05 08:57:07 +02:00
Tor Harald Sandve
7b81facfb0 Make use of extractWellPerfProperties to avoid code duplication
The following changes are done in order to remove the duplicated code in
assemble().
- extractWellPerfProperties takes SolutionState as input (only used in
the solvent model)
- the computation of effective parameters is moved to computeAccum()
With these changes the solvent model can use assemble() from the base
model.
2016-04-05 08:53:09 +02:00
Tor Harald Sandve
a02a07289e Implement pressure effects in the Todd-Longstaff mixing parameter
The Todd-Longstaff model is extended to incorporate pressure effects
The solvent viscosity is then caculated as

mu_eff = mu_s^(1-\alpha * \omega) * mu_mix^(\alpha * \omega)

where \omega accounts for the porous media effects and \alpha =
\alpha(pressure) accounts for the miscibility of the solvent and oil
when contacted.
The \alpha values can be given using the TLPMIXPA keyword

If no entries are given to TLPMIXPA the table specified using PMISC will
be used as default.
IF TLPMIXPA does not appear in the grid \alpha = 1 and the pressure
effect is neglected.
This is tested in test_solventprops_ad.cpp
2016-04-01 15:55:56 +02:00
Tor Harald Sandve
948d985f56 Add support for PMISC
Pressure effects are added to relative permeability, capillary pressure,
viscosity and density miscibility
2016-03-04 11:34:31 +01:00
Tor Harald Sandve
0a30d912e8 Some more cleanup adressing PR comments. 2016-02-12 11:02:03 +01:00
Tor Harald Sandve
dee96db6b2 Cleaning and adding comments 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
0745be3eba Various bugfixes in computing effective ToddLongstaff parameters
The most significant bug was in the computation of effective saturation
fraction for the gas phase. The current implementation differs from the
manual.
2016-02-12 10:42:26 +01:00
Tor Harald Sandve
beafccc038 Refactor the ToddLongstaffModel in separate function 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
b8e20917cc Add Todd and Longstaff model
Add method to calculateEffectiveProperties (viscosity and density)
using the Todd and Longstaff model.

The effective properties are stored in mu_eff_ and b_eff_ in the
BlackoilSolventModel and accessed using fluidReciprocFVF and
fluidViscosity
2016-02-12 10:42:26 +01:00
Tor Harald Sandve
238e7c19f3 Add support for miscibilty in the relperms 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
e3393c5ee9 Handle combination of threshold_pressure and nnc
The nncs threshold pressures are calculated and appended to the face
threshold pressures
2015-12-08 11:03:05 +01:00
Tor Harald Sandve
dff77afff7 Use getConvergence and convergenceReduction from base 2015-10-06 11:04:34 +02:00
Tor Harald Sandve
6106d560ba Compute matbal_scale for the solvent model
The material balance scaling is extended to the solvent model
The gas value is used as default and an updateEquationsScaling() method
is added.

Minor modifications is done to the BlackoilModelBase.hpp and
BlackoilModelBase_impl.hpp in order to re-use code from the base case.
2015-10-06 10:40:18 +02:00
Tor Harald Sandve
fb9e21d695 Add a local version of computeWellConnectionPressures()
Solvent is accounted for in the calculations of well connection
pressures by adjusting the surface_density and the b-factor

TODO: Restructuring to avoid code duplication with
BlackoilModelBase_impl
2015-10-06 10:38:36 +02:00
Tor Harald Sandve
cca5410ebb Fix minor comments in PR#425 2015-08-18 07:24:08 +02:00
Tor Harald Sandve
3b99338bd0 Rename Extended to Solvent
- classes and files are renamed to use solvent instead of extended in
their names.
2015-08-18 07:24:08 +02:00