Commit Graph

407 Commits

Author SHA1 Message Date
Joakim Hove
1034c82fab Merge pull request #253 from GitPaean/adding_few_keywords
adding a few summary keywords
2018-02-14 21:37:13 +01:00
Kai Bao
43cb8e5739 adding a few summary keywords
WWVIR, WGVPR and WGVIR
2018-02-13 19:39:30 +01:00
Arne Morten Kvarving
e81784c9eb fixed: libecl recently enforced stricter filename rules
in particular, no mixed case. either all upper or all lower
2018-02-12 15:06:13 +01:00
Tor Harald Sandve
dec7e0068d fix typo 2018-02-05 14:44:11 +01:00
Tor Harald Sandve
06b7afc9be Remove data::Solution cells from Summary 2018-02-05 14:23:19 +01:00
Tor Harald Sandve
8a5062ae27 Pass pointers of region and block data to eclIO 2018-02-05 14:23:19 +01:00
Tor Harald Sandve
890b2226b2 Get Block values from simulator
Avoids communication of the whole state
2018-02-05 14:23:19 +01:00
Tor Harald Sandve
ba29cfa81e Remove unused stuff 2018-02-05 14:23:19 +01:00
Tor Harald Sandve
45267477b4 Get Region and Field values from simulator
Avoid cell based computations in opm-output as it could slow down the
MPI run.
2018-02-05 14:19:50 +01:00
Joakim Hove
cb5a3bdcea Revert "Revert "Res vol keywords (WVPR + WVPT & WVPRT+FVPRT)"" 2018-02-02 12:11:23 +01:00
Joakim Hove
2f332ed702 Revert "Revert "Add support for keywords (WVIT+GVIR+GVIT) "" 2018-02-02 10:41:35 +01:00
Joakim Hove
a88561b010 Revert "Add support for keywords (WVIT+GVIR+GVIT) " 2018-02-02 09:00:04 +01:00
Joakim Hove
6094552b55 Revert "Res vol keywords (WVPR + WVPT & WVPRT+FVPRT)" 2018-02-02 08:59:15 +01:00
Joakim Hove
6a7412af7e Increased tolerance when testing TEMP in restart test. 2018-02-01 08:41:41 +01:00
Joakim Hove
d39ad3a865 Merge pull request #238 from lars-petter-hauge/res_vol_keywords
Res vol keywords (WVPR + WVPT & WVPRT+FVPRT)
2018-01-31 23:58:23 +01:00
Sveinung Rundhovde
2d01813f01 Add support for GVIT keyword 2018-01-29 08:46:02 +01:00
Sveinung Rundhovde
db963b7286 Add support for GVIR keyword 2018-01-29 08:46:02 +01:00
Sveinung Rundhovde
c623452823 Add support for WVIT keyword 2018-01-29 08:46:02 +01:00
Lars Petter Øren Hauge
9a404c2e93 Support WVPRT+FVPRT 2018-01-26 08:03:19 +01:00
Lars Petter Øren Hauge
2343c5ada9 Support WVPR + WVPT 2018-01-26 08:02:44 +01:00
Lars Petter Øren Hauge
a8d6259514 Support FOPR(S/F) FOPT(S/F) 2018-01-23 14:36:56 +01:00
Lars Petter Øren Hauge
10f2f7d366 Add missing part of test WOPTS+WOPTF 2018-01-23 08:17:06 +01:00
Lars Petter Øren Hauge
f8cb32c7d2 Support WOPRS+WOPRF 2018-01-23 08:16:15 +01:00
Joakim Hove
da70718beb Merge pull request #230 from lars-petter-hauge/support_fprp
Add support for FPRP
2018-01-17 09:03:39 +01:00
Lars Petter Øren Hauge
37709e9e04 Add support for FPRP 2018-01-17 08:54:38 +01:00
Joakim Hove
c4346cd065 Removed travis integration. 2018-01-16 20:12:42 +01:00
Sveinung Rundhovde
5993cb7764 Add support for FGIPG keyword 2018-01-04 14:52:07 +01:00
Sveinung Rundhovde
dcfb0a4e47 Add support for FOIPL keyword 2018-01-04 14:52:06 +01:00
Sveinung Rundhovde
d0bf9753d9 Add support for FWIP keyword 2018-01-04 14:52:06 +01:00
Lars Petter Øren Hauge
130ec2f0a8 Add support for FGPT(F/S) 2018-01-03 14:46:58 +01:00
Lars Petter Øren Hauge
afbe8081f6 Add support for FGPR(F/S) 2018-01-03 14:46:46 +01:00
Lars Petter Øren Hauge
9497dfa1e5 Change unsupported keyword test
Support of FVIR is now implemented.
2018-01-03 13:56:15 +01:00
Lars Petter Øren Hauge
fc75de6fb0 Add tests for FV(I/P)/(R/T) 2018-01-03 13:56:15 +01:00
Lars Petter Øren Hauge
257e5fd983 Add FV(I/P)(R/T) keywords 2018-01-03 13:56:15 +01:00
Sveinung Rundhovde
69c08ff677 Add support for GVPRT keyword 2017-12-20 16:32:19 +01:00
Sveinung Rundhovde
42befdfa4c Add suport for GVPT keyword 2017-12-19 10:23:02 +01:00
Sveinung Rundhovde
ffb85c98bf Add support for GVPR keyword 2017-12-19 10:22:55 +01:00
Joakim Hove
a55f8497b6 Merge pull request #222 from sveinung-r/Well_pri_3_keywords
Add WTHPH+WBHPH keywords
2017-12-02 09:20:46 +01:00
Sveinung Styve Rundhovde (IT SI SIB)
b3a994211c Add WTHPH+WBHPH keywords 2017-12-01 14:01:13 +01:00
Joakim Hove
a51c921d23 Merge pull request #221 from lars-petter-hauge/warn_unused_sumkeys
WIP:Warn unused sumkeys
2017-12-01 13:01:51 +01:00
Lars Petter Øren Hauge
30f531fffc Add warning unsupported keywords 2017-12-01 12:42:04 +01:00
Andreas Lauser
30ebb323d7 wells: add support for energy 2017-11-29 14:02:41 +01:00
Lars Petter Øren Hauge
405d95e545 Fix spelling 2017-11-29 12:24:51 +01:00
Joakim Hove
3a8adeb0b3 Merge pull request #218 from totto82/fixGasOilFPR
Fix FPR and RPR for 2p GasOil case
2017-11-28 10:12:59 +01:00
Bård Skaflestad
440b6259ef Table Output: Switch Naming Convention for Data Members
Mostly to remove trailing underscores.  The internal 'tabdims'
vector in Opm::Tables has been renamed to 'm_tabdims' to avoid
conflicting with the member function named 'tabdims'.
2017-11-27 10:25:48 +01:00
Bård Skaflestad
ec756dde45 Init File: Hook Saturation Function Writing Up to System 2017-11-27 09:15:00 +01:00
Bård Skaflestad
f681862f7c INIT File: Add Support for Writing Saturation Function Tables
This commit extends the INIT file Table writing to also output the
saturation function tables in normalised form.  We support
generating the INIT file's SGFN, SOFN, and SWFN tables--including
the derivative information--for both two and three phases from both
families of saturation function keywords (S{G,W}OF and S{G,W}FN +
SOF{2,3}).  We do not yet support generating the appropriate tables
from input keyword SLGOF.

We leverage the LinearisedOutputTable to abstract away some of the
details of indexing into the linear 'tab' array and create a helper
function to loop across saturation function regions whence each
table generator need only be concerned about the specific data
pertaining to that region's saturation function (i.e., the values of
independent and dependent variates and number of active rows).  We
allocate the output tables according to information in the TABDIMS
keyword, notably the number of saturation nodes (item 3 of TABDIMS).

Generating the three-phase SOFN table, which has the same columns as
the input table SOF3, in the case of family One (SGOF and SWOF) is
slightly involved.  In particular we need to join the SGOF and SWOF
tables on common oil saturation values and derive/insert missing
KroX data through piecewise linear interpolation in the appropriate
input table.  We defer the details of merging on common (and uniqe)
oil saturation values to the standard library routine 'set_union()'
which outputs repeated saturation values exactly once rather than
for each occurrence.  That way we only need to wrap the input tables
in a simple class to facilitate look-up of oil saturation values and
the mechanics of piecewise linear interpolation of the relative
permeability column for oil.  Due to this merging process, the
number of rows in SOFN is twice the number of saturation nodes in
this case.

Since this support depends on being able to determine which phases
are active in a particular run, what table sizes to use for the
output and which keywords are being used to represent the saturation
function tables we introduce a single new public member function

    void Tables::addSatFunc(const EclipseState& es)

This function determines the run's active phases and dispatches to
the new helper functions

    void Tables::addSatFunc_FamilyOne()
    void Tables::addSatFunc_FamilyTwo()

according to which keyword family exists in the input deck.  These
functions in turn call additional helper functions to handle each
phase table separately.  For instance addSatFunc_FamilyOne() uses
the helper function

    SatFunc::Oil::ThreePhase::fromSGOFandSWOF()

to generate a three-phase SOFN table based on the information in the
SGOF and SWOF tables.

Information about slopes/derivatives for the piecewise interpolants
of the dependent variates is computed through the helper function

    DifferentiateOutputTable::calcSlopes()

whence the first entry of each derivative column is undefined (i.e.,
assigned the sentinel value 1e+20).  This should arguably be zero
instead.  Further testing and comparison with INIT result sets
generated by ECL will inform the decision here.

We add unit tests for all combinations of number of active phases
(two or three) and which saturation function keyword family is
present in the simulation case.  The unit tests use the tables from
SPE 9 for keyword family One and the tables from SPE 1 for keyword
family Two.  Comparison data is extracted directly from the ECL INIT
file in the case of the SPE 9 tables and derived from independent
calculation for the SPE 1 tables.
2017-11-27 09:15:00 +01:00
Bård Skaflestad
67cf8764aa Linearised Output Table: Store Derivatives at Right-Hand End Point
This is more in keeping with the intended application--at least for
saturation function output to the INIT result set.

While here, also remove an unused data table (SWOF from SPE1).
2017-11-27 09:15:00 +01:00
Bård Skaflestad
e2bf7bf699 Table Output: Add Facility to Simplify Indexing Details
This commit introduces a new helper class, LinearisedOutputTable,
that is oriented towards managing tabular data such as the PVT or
saturation functions in an ECL result set (typically, .INIT file).
The class knows about row padding and the column oriented nature of
Fortran-like tables.

While here, and in anticipation of adding output of tabulated
saturation functions, also provide a mechanism for calculating
slopes of piecewise linear interpolants.  The ECL format stipulates
that function derivatives be output along with the actual table
data for most functions.
2017-11-27 09:15:00 +01:00
Bård Skaflestad
e26d647252 Table Output: Don't Store ECL Keywords Internally
This commit switches the internal implementation of the 'tab' and
'tabdims' vectors from being a mix of ECL keyword structures and
std::vector<>s to being purely std::vector<>s.  We remove the
fwrite() member function and rather reimplement the feature in terms
of new query member functions

    const std::vector<int>& tabdims() const
    const std::vector<double>& tab() const

that return read-only references to internal data members.
2017-11-27 09:15:00 +01:00