Commit Graph

226 Commits

Author SHA1 Message Date
Bård Skaflestad
daa6604e3d Flux Calculator: Use 'phaseSaturation' Result Set Query
This simplifies the implementation of the 'phaseProperties' member
function and, in particular, restores the original code symmetry
amongst the individual phase cases.
2018-11-14 14:40:06 +01:00
Bård Skaflestad
c15432d1b2 Saturation Functions: Add Public Query for Phase Saturations
Simplifies retrieving the phase saturation values in the context of
computing phase fluxes at cell interfaces.
2018-11-14 14:40:06 +01:00
Bård Skaflestad
5347c475be Saturation Functions: Create Helpers for Retrieving Sw and Sg
Limits the amount of magic keyword references to the result vectors
SWAT and SGAS.
2018-11-14 14:40:06 +01:00
Bård Skaflestad
f17b38c479 FluxCalc Interface: Rewrap Doxygen Documentation
Mostly to follow common style elsewhere in library.
2018-11-14 14:40:06 +01:00
Bård Skaflestad
5167299797 DeadOilConstCompr: Re-adjust Whitespace and Comments
No functional changes.
2018-11-14 14:40:06 +01:00
Bård Skaflestad
3c3dfb3dc1 Refactor Constant Compr. Index to Separate Helper
Limits the use of magic constants in the middle of the main logic.
2018-11-14 14:40:06 +01:00
Bård Skaflestad
3d5dca4693 Surface Density: Explicitly Recognise Failure Path
Use the "throw if invalid phase" approach.
2018-11-14 14:40:06 +01:00
Bård Skaflestad
4be1685604 Vertical Scaling [PCOW]: Use Value at Minimum Saturation
The oil-water capillary pressure is a non-increasing function of
water saturation so we need to ensure that we use the capillary
pressure value at the minimum tabulated water saturation.  Add
special purpose code to enforce this rule.  This adds a certain
amount of computational overhead because we now compute function
values at two saturation points instead of just one for the case of
pure vertical scaling.  Most of the time those extra function values
will just be subsequently discarded.

Note that this is a bit of hack, because it relies on the fact that
the current implementation assigns

  TableEndPoints::disp = TableEndPoints::low

in the case of two-point horizontal scaling.  We may wish to make
that rule more explicit.
2018-11-13 09:55:56 +01:00
Bård Skaflestad
be160a5c63 Vertical Scaling/Sr: Remove A Few Asserts
These were meant for consistency checking, but would occasionally
fail due to round-off error when doing arithmetic on values
converted from 'float' to 'double'.  The actual scaling procedure
does not rely on those relations as long as we ensure that 'fmax' is
the maximum function value, so add a measure of robustness here.

Note that this is at best a work-around for a deeper problem and
that a more refined solution would probably be needed here.
2018-11-13 09:55:56 +01:00
Bård Skaflestad
8603935aad Capillary Pressure: Truly Fall Back to Scaled Connate Saturations
This commit ensures that we use the scaled connate water/gas
saturations (SWL/SGL) in place of the scaled capillary pressure
saturations (SWLPC/SGLPC) when the latter are undefined (set to a
sentinel value; -1.0E+20).  We would previously fall directly back
to the connate saturations from the input table in this case and
this would lead to inconsistent curves for the scaled capillary
pressure functions.
2018-11-13 09:55:56 +01:00
Bård Skaflestad
78dfbfea6b Flux and massflux: Return Empty Vector for Inactive Phases
This commit introduces a new (private) predicate function

  ECLFluxCalc::phaseIsActive(const ECLPhaseIndex phase) const

that identifies whether or not 'phase' is active in the current
simulation model/result set.  This enables returning an empty result
vector from flux() and/or masssflux() in the case of the caller
requesting fluxes for inactive phases.  That, in turn, mirrors the
behaviour of ECLGraph::flux() on inactive phases and promotes
uniform phase treatment in calling code irrespective of using stored
or calculated flux values.
2018-11-13 09:55:56 +01:00
Magne Sjaastad
794e703043 System : Disable unused unit test 2018-11-02 11:36:46 +01:00
Bjørn Erik Jensen
5c95b5a605 #3576 Apply patch install-ert.patch after upgrading ecllib 2018-10-30 13:30:44 +01:00
Bjørn Erik Jensen
b51779c568 #3576 Apply patch fix-synthetic-odb-cases.patch after upgrading ecllib 2018-10-30 13:27:01 +01:00
Bjørn Erik Jensen
6924c20ab6 #3576 ecllib upgrade from statoil repo 7f93730c08a4d981a4b738b42146d099977572ce 2018-10-30 13:21:11 +01:00
Bård Skaflestad
405f6426f3 Bring EPS Unit Test Up To Date WRT Changing Behaviour
A previous commit changed the reverse mapping behaviour in the case
of coincident tabulated scaled displacing saturation and maximum
phase saturation in the two-phase systems.  Bring the corresponding
unit test in line with the changed behaviour (now maps high
saturation values to scaled critical displacing saturation Sr rather
than Smax in this situation).

Pointy Hat: [at]bska
Thanks to: [at]atgeirr
2018-10-25 13:40:08 +02:00
Bård Skaflestad
d6862265b7 Remark That 3pt EPS Changes Function Shape in [Sr, Smax]
The three-point vertical scaling option will usually change the
shape of the relative permeability function in the saturation
interval between the scaled critical displacing saturation and the
maximum phase saturation.  In particular, we usually replace a
general, non-linear function with a linear approximation when
applying three-point vertical scaling.

Add a comment to that effect.
2018-10-25 13:40:08 +02:00
Bård Skaflestad
dc8931f782 Update Flow Diagnostics Application Library
Fixes incorrect horizontal and vertical end-point scaling of model's
saturation functions.

API Change: No longer supports user-selected behaviour for treating
scaled end-points with a sentinel value (-1.0E+20).  That option was
introduced due to incomplete understanding of the semantics of the
sentinel value.  Now that we understand the meaning (use actual,
unscaled end-point value from input table), we no longer need the
option.  Update the calling code in RigFlowDiagSolverInterface.cpp
accordingly.
2018-10-25 13:40:08 +02:00
Jacob Støren
5bf5e6c99d #3382 Remove libslvs from the code base, including some cleanup. 2018-10-16 09:20:44 +02:00
Magne Sjaastad
27bbaff56b VS2017 : Hide warnings from gtest 2018-09-10 15:50:15 +02:00
Bjørn Erik Jensen
a4d9212372 #3235 Applied patch install-ert to new ecllib 2018-08-22 14:16:44 +02:00
Bjørn Erik Jensen
f45bc098d1 #3235 Applied patch fix-synthetic-odb-cases to new ecllib 2018-08-22 14:16:44 +02:00
Bjørn Erik Jensen
90a25f67bb #3235 Update ecllib from statoil master repo. Commit 1f051833c8ed819185fd334dfc7e05511ee35d5f 2018-08-22 14:16:43 +02:00
Bjørn Erik Jensen
f6e6cacc36 #3206 ecllib crash. Temporary patch to handle huge ensembles 2018-08-15 09:29:03 +02:00
Bjørn Erik Jensen
1ce7701fa3 #3194 ecllib. Apply patch install-ert after update 2018-08-14 15:08:59 +02:00
Bjørn Erik Jensen
6ebee07c84 #3194 ecllib. Apply patch fix-synthetic-odb-cases after update 2018-08-14 15:08:59 +02:00
Bjørn Erik Jensen
23024b790f Update ecllib from statoil master repo commit a165d636552fa0c0f96219d341f7f2c17c08dc9d 2018-08-13 14:00:26 +02:00
Jacob Støren
22fd7a7692 #2608 Make the constraints in the SolveSpace solver available for editing 2018-08-10 15:57:40 +02:00
Jacob Støren
7156b99b88 #2608 #2609 Add disabled Solvespace S-curve calculation. Use simplified S-curve calculation. Cleaned up Gui to only whats supported. 2018-07-04 17:02:20 +02:00
Bjørn Erik Jensen
08ad8a98db Qwt fix. Fix plotting of interval series having only one sample 2018-07-04 09:15:29 +02:00
Jacob Støren
c5b5980da3 #3049 Add SolveSpaceLib libslvs with an S-Curve test to ResInsight 2018-06-15 14:47:42 +02:00
Bjørn Erik Jensen
6ee84b598c #3042 OPM flowdiag apps update from repo. Commit 24ff768dc509b6c6bbd0121ef46a5932fae92961 2018-06-12 14:36:08 +02:00
Magne Sjaastad
4ca615e74a #2957 Crash with LGR model
Guard nullptr access in well_state.cpp
2018-05-31 08:30:04 +02:00
Bjørn Erik Jensen
e8d586054c ecllib: Temp fix to avoid assert. This fix will be included in the next ecllib release 2018-05-22 14:58:42 +02:00
Bjørn Erik Jensen
ff628fa9dd #2852 OPM flowdiag upgrade. Copy from repos 2018-05-07 14:37:32 +02:00
Bjørn Erik Jensen
7a7a8bed0e Apply two ecllib patches after upgrade 2018-05-04 14:24:53 +02:00
Bjørn Erik Jensen
d2e48ef153 Update ecllib from statoil master repo commit 0188b08081eb1ac4ade89ac224b8128b4c9b0481 2018-05-04 14:24:53 +02:00
Bjørn Erik Jensen
c9a1eeef03 Apply two ecllib patches after upgrade 2018-04-16 08:45:53 +02:00
Bjørn Erik Jensen
cdc613f334 #2699 Update ecllib from statoil master repo commit b31b055af2d6b887f47aec84c65ec497a5d12973 2018-04-16 08:43:56 +02:00
Bjørn Erik Jensen
d0905c518b libecl. Local quick-fix to prevent crash under Windows when restart file is located in different directory 2018-04-10 13:11:58 +02:00
Bjørn Erik Jensen
c71ab4e88d #2317 Apply fix for synthetic ODB files 2018-04-09 11:24:31 +02:00
Bjørn Erik Jensen
75d505c9f6 #2011 libecl: Add INSTALL_ERT to control install targets 2018-04-09 11:22:39 +02:00
Bjørn Erik Jensen
b72091bb94 #2661 Update ecllib from statoil master repo 2018-04-09 08:48:36 +02:00
Bjørn Erik Jensen
a833b5a2d7 libecl. Local quick-fix to prevent summary restart file import under Windows 2018-03-20 14:32:54 +01:00
Magne Sjaastad
233df05f68 #2536 Build System : Remove obsolete includes and update depending includes 2018-02-27 20:00:56 +01:00
Magne Sjaastad
4f20273e55 #2536 Build System : Add target_include_directories to clipper, exprparser, qwt 2018-02-27 18:56:12 +01:00
Magne Sjaastad
72a3b731bc #2536 Build System : Add target_include_directories to boost-Subset 2018-02-27 18:49:24 +01:00
Jacob Støren
09cd140bba #2375 Updated opm-flowdiagnostics-applications to 5bcd6d99259a63f5cd820db541b45c4f07aec808 including fixes for Relperm and PVT curves 2018-01-24 16:37:32 +01:00
Magne Sjaastad
39168a9be8 #2317 Apply fix for synthetic ODB files 2018-01-04 20:38:16 +01:00
Jacob Støren
20164ec003 #2270 Updated opm-flowdiagnostics-applications to 44f7e47ecdc87ba566ab4146629de49039a73b2e to fix crash 2017-12-19 15:07:10 +01:00