Commit Graph
100 Commits
Author SHA1 Message Date
Bård Skaflestad ed323b64ed Merge pull request #2162 from GitPaean/removing_unsupported_keywords
removing several keywords from MissingFeatures.cpp
2019-11-16 23:35:08 +01:00
Bård Skaflestad 55a49b8146 Merge pull request #2073 from goncalvesmachadoc/goncalvesmachadoc-addProdInjReportPRT
Add Production and Injection Reports to PRT
2019-11-06 08:09:19 -06:00
Bård Skaflestad a4eaf07243 Merge pull request #2071 from totto82/fix_restart
Always allocate buffers when restarting
2019-10-18 18:09:48 -05:00
Bård Skaflestad 7296e7fe82 Merge pull request #2060 from akva2/decouple-libecl-final
remove libecl dependency
2019-10-16 22:18:42 -05:00
Bård Skaflestad aaae8a4f49 Merge pull request #2052 from bska/rewrite-ecl-output-test
Reimplement 'test_ecl_output' Unit Test Using ESmry
2019-10-14 21:31:37 -05:00
Bård Skaflestad e33be89e6d Reimplement 'test_ecl_output' Unit Test Using ESmry
This commit switches the 'test_ecl_output' unit test to using the
EclIO::ESmry class from OPM-Common.  We add simple alternative
implementations of ecl_get_field_var() and ecl_get_general_var() in
terms of ESmry to avoid rewriting the test code itself.

As class ESmry does currently not support reading non-unified
(separate) summary files (.S000n), we temporarily switch the deck to
using unified output.
2019-10-14 19:43:11 -05:00
Bård Skaflestad 239677d48a Merge pull request #2043 from bska/prepare-smry-without-libecl
Prepare for Making Summary Writing Independent of LibECL
2019-10-07 05:01:53 -05:00
Bård Skaflestad 1b610f06a4 Prepare for Making Summary Writing Independent of LibECL
This commit adds requisite libecl includes that are needed as an
intermediate steps for enabling new summary writing independent of
libecl.
2019-10-04 20:32:09 +02:00
Bård Skaflestad d979fb0fae Blackoil Output: Chase API Change in SummaryNode Class
In particular, the .type() function is renamed to .category(), and
it no longer returns a LibECL type.  Similarly, the .num() function
has been renamed to .number().
2019-09-30 15:00:05 +02:00
Bård Skaflestad fabc067b5e Blackoil Output: Don't Include "eclwriter.hh"
The EclWriter class depends on the EclOutputBlackOilModule, not the
other way around.  This removes a cyclic include.
2019-09-30 14:47:50 +02:00
Bård Skaflestad c06881b04e Merge pull request #2027 from joakim-hove/missing-keywords-V
Add missing features on U, V and T
2019-09-30 14:44:16 +02:00
Bård Skaflestad 6aa701ae04 Merge pull request #2018 from joakim-hove/summary-state-time
Pass sim start argument to SummaryState constructor
2019-09-20 13:33:03 +02:00
Bård Skaflestad e9aec288e1 AmgCpr: Follow Relocation of "matrixblock.hh"
Taken from commit d71f7045.
2019-09-10 18:00:34 +02:00
Bård Skaflestad d08af810ef Remove FILLEPS from MissingFeatures
Pull request OPM/opm-common#849 added support for this keyword.
2019-07-28 17:58:30 +02:00
Bård Skaflestad 6cf0710271 Flow: Verify Consistent Array Dimensions
The output code has an unfriendly error mode in which we
unceremoniously crash--without writing any data--if some declared
array dimensions from RUNSPEC aren't big enough to hold all the
dynamic objects (wells, groups, connections &c).

Verify that the declared dimensions are indeed big enough for the
current simulation run before starting the simulator to ensure that we
don't waste a lot of computational effort if, for instance, the first
output is very close to the end of the simulation.
2019-06-30 23:50:38 +02:00
Bård Skaflestad 273e6a4dbc Merge pull request #1924 from akva2/suppress_no_mpi
suppress some unused variables warnings without mpi
2019-06-29 16:06:25 +02:00
Bård Skaflestad b35856e77e Merge pull request #1926 from joakim-hove/add-udq-regression-test
Add UDQ_WCONPROD model to integration testing
2019-06-29 16:04:42 +02:00
Bård Skaflestad a98caf1d2a Format Specifier '%p' Requires Pointers to Void
While here, also print both 'ctrls1' and 'ctrls2' instead of
printing 'ctrls2' twice.
2019-06-26 14:39:14 +02:00
Bård Skaflestad 402320267a Merge pull request #1912 from akva2/janitoring
Some janitoring
2019-06-26 14:04:03 +02:00
Bård Skaflestad 35a174d326 Merge pull request #1909 from GitPaean/fixing_completions
considering not OPEN connection when updateCompletions in WellInterface.
2019-06-24 22:18:37 +02:00
Bård Skaflestad 123b578bdd Prune Additional Supported Keywords
Support for

    AQUCT, AQUTAB, COMPLUMP

was introduced quite some time ago.
2019-06-05 13:41:31 +02:00
Bård Skaflestad 0760442ac1 Remove FIPNUM From List of Unsupported Keywords
We've supported the keyword--both in the deck reader (parser) and in
the simulator--for a long time.
2019-06-05 12:42:26 +02:00
Bård Skaflestad f9a6b68b1e Merge pull request #1873 from totto82/output_grid
output .INIT and .GRID also on restart
2019-06-03 13:24:40 +02:00
Bård Skaflestad 6c0e5fb5a1 Merge pull request #1833 from tskille/run-regressionTest
run compareECL once, checking all files in one go
2019-06-03 11:50:50 +02:00
Bård Skaflestad a618a1a777 Merge pull request #1857 from totto82/fix_fip_seg_fault
fix typo in fip output
2019-05-23 10:38:07 +02:00
Bård Skaflestad f293e6520b Merge pull request #1848 from blattms/write-trans-direct-vertical-neighbors-tranz
Write transmissibility between direct vertical neighbors into TRANZ.
2019-05-21 12:42:17 +02:00
Bård Skaflestad 4cee9a01f6 Merge pull request #1846 from bska/update-rft-data
Update Data: Make Protocol Aware of RFT Files

Merging per approval.
2019-05-20 10:49:17 +02:00
Bård Skaflestad c4134fba76 Update Data: Make Protocol Aware of RFT Files
If a simulation run intentionally changes an RFT file, then that
change should be reflected in the new reference data.
2019-05-16 13:38:57 +02:00
Bård Skaflestad 4a5dcdca75 Merge pull request #1793 from jalvestad/cell-summary-props
Changes to provide Summary data output of additional block variables
2019-05-14 18:29:12 +02:00
Bård Skaflestad 4d76ea5000 Merge pull request #1809 from atgeirr/log-messages-only-once
Clear DeferredLogger's message container after logging.
2019-04-30 15:47:40 +02:00
Bård Skaflestad 75e8508e3b Merge pull request #1803 from blattms/remove-warnings
Remove warnings experienced with g++-8
2019-04-26 17:41:55 +02:00
Bård Skaflestad 08be4ed0f9 Merge pull request #1789 from blattms/sequential-cpr-dune-2.4
Support CPR when using DUNE 2.4 and no MPI
2019-04-11 22:10:37 +02:00
Bård Skaflestad 2932531572 Merge pull request #1782 from GitPaean/upadting_perforation_solution_msw
updating perforation pressure and rates for MSW well
2019-04-05 16:41:43 +02:00
Bård Skaflestad dce27c6829 WellState FIBO: Return Segment Vectors from report()
This commit extends class WellStateFullyImplictBlackoil to report
segment-related quantities as Opm::data::Segment objects (included
in Opm::data::WellRates objects).  All wells have at least a top
segment in the context of WellState FIBO, so there is a meaningful
value to report for each well.

We put the extraction of segment-related quantities into a new
helper function

    WellStateFullyImplicitBlackoil::reportSegmentResults()

to avoid cluttering up the body of report() more than absolutely
needed.

The primary use-case for this is assigning appropriate values to
items 8 through 11 of restart vector RSEG.  In turn, this will
enable restoring these quantities from a restart file.
2019-04-04 16:22:19 +02:00
Bård Skaflestad 7523ffe15f Construct Segment-Related Structures in initLegacy()
Forgotten in previous commit.  This restores our ability to run
flow-legacy with the new WellStateFullyImplicitBlackoil::report().

Thanks to Kai Bao for alerting me to the issue.
2019-04-04 16:22:19 +02:00
Bård Skaflestad 55e452c605 Well State FIBO: Report() Segment Results by Seg-Numbers
This commit adds a new data member, seg_number_, that maps a linear
segment index (0 .. #segments - 1) to the appropriate segment number
(segment ID).  This ensures that member function report() is able to
produce segment results in terms of user-assigned segment numbers
rather than linear indices internal to the simulator and its state
variables.  This, in turn, decouples the well state object from the
output (summary/restart) code and makes the restart facility more
self contained.

Rewrite the unit test for WellStateFullyImplicitBlackoil to account
for the new indexing scheme when assigning the synthetic segment
results.

While here, also abide by the file's naming convention for data
members and locals.
2019-04-04 16:22:19 +02:00
Bård Skaflestad 45689f3ade WellState FIBO (test): Add Some Vertical Spacing for Separation
Suggested by: [at]GitPaean
2019-04-04 16:22:19 +02:00
Bård Skaflestad e958ee1139 WellState FIBO: Initialize 'nseg_' in init()
Needed to guarantee that numSegments(wellID) returns sensible values
for wellID = numWells()-1 in the case of no multi-segment wells.
2019-04-04 16:22:19 +02:00
Bård Skaflestad 2418df701f WellState FIBO: Return Segment Vectors from report()
This commit extends class WellStateFullyImplictBlackoil to report
segment-related quantities as Opm::data::Segment objects (included
in Opm::data::WellRates objects).  All wells have at least a top
segment in the context of WellState FIBO, so there is a meaningful
value to report for each well.

We put the extraction of segment-related quantities into a new
helper function

    WellStateFullyImplicitBlackoil::reportSegmentResults()

to avoid cluttering up the body of report() more than absolutely
needed.

The primary use-case for this is assigning appropriate values to
items 8 through 11 of restart vector RSEG.  In turn, this will
enable restoring these quantities from a restart file.
2019-04-04 16:22:19 +02:00
Bård Skaflestad 519e6ad174 Make WellStateFIBO Header Self Contained
In particular, include Schedule.hpp since commit 222241b made the
init() member function depend on Schedule but failed to add the
requisite header.
2019-04-04 16:22:19 +02:00
Bård Skaflestad ded12a6059 Merge pull request #1723 from andlaus/externalSetupTime
flow: account for external setup costs
2019-02-12 09:10:14 -06:00
Bård Skaflestad a689973760 Merge pull request #1708 from blattms/warn-parallel-logging-fallout
Warn about parallel logging fallout only on request / Use uppercase logfiles

Fixes OPM/opm-common#606
2019-01-17 16:13:25 +01:00
Bård Skaflestad 767df6c6fe Deferred Logger: Support Older MPI Implementations
The MPI_Pack() function does not support pointers-to-const until
MPI-3.
2019-01-14 18:10:53 +01:00
Bård Skaflestad 1f3a9cc84a Fixed potential derefernce of end operator when applying EDITNNC. 2018-12-20 11:44:46 +01:00
Bård Skaflestad c3de357f30 Merge pull request #1567 from blattms/tighten-regex-for-parallel-output
Let ParallelFileMerger only warn about CASENAME.[0-9]*.EXT files.
2018-09-12 12:21:47 +02:00
Bård Skaflestad b087cf54af Merge pull request #1495 from blattms/red-black-ilu
Added support for red black ilu
2018-08-01 18:52:07 +02:00
Bård Skaflestad 6a3199dbe8 Merge pull request #1540 from andlaus/remove_FluidSystems_namespace
adapt to the fluid system naming convention change in opm-material
2018-07-27 21:06:23 +02:00
Bård Skaflestad 0f4354d8fd Include <sstream> for Class "ostringstream"
Some implementations do not get a transitive definition of class
"ostringstream" in scope through the other headers and therefore
fail to compile the member function

  SimulatorReport::reportStep(std::ostringstream&)
2018-04-04 19:00:51 +02:00
Bård Skaflestad 65a63b95a3 RegionMapping<>: Support arbitrary region IDs
This commit introduces a new public method, activeRegions(), that
retrieves those region IDs that contain at least one active cell.
We furthermore extend the cells() method to support lookup of
arbitrary region IDs.  Non-active region IDs produce empty cell
ranges.

Intended use case is

    for (const auto& reg : rmap.activeRegions()) {
        const auto& c = rmap.cells(reg);

        // use c
    }
2018-01-02 14:28:06 +01:00
Bård Skaflestad e174e32c44 convertSats(): Transpose loop nest for locality of data 2018-01-02 14:28:06 +01:00
Bård Skaflestad d7e098bccd Mark non-template functions in headers as 'inline' 2018-01-02 14:28:06 +01:00
Bård Skaflestad 6c5ed7b8ff Add a layer of glue to extract data from deck
This is a work in progress.
2018-01-02 14:28:06 +01:00
Bård Skaflestad 17e93c5cce Install crude handling of data point outside vertical span
The initial implementation of RK4IVP<>::operator() failed to take
into account the possibility that we might need to evaluate the
function outside the vertical span for which it was initially
defined.  This situation occurs, for instance, in the not uncommon
cases of the GOC being above or the WOC being below the model.

This commit installs a crude Hermitian extrapolation procedure to
handle these cases.  Refinements are likely.
2018-01-02 14:28:06 +01:00
Bård Skaflestad b21d3734db Document requirements of CellRange. 2018-01-02 14:28:06 +01:00
Bård Skaflestad db2a21442c Document public interface of phasePressures(). 2018-01-02 14:28:06 +01:00
Bård Skaflestad 0ce1e96a00 Add reverse look-up mapping for region vectors
Class RegionMapping<> provides an easy way of extracting the cells
that belong to any identified region (e.g., as defined by EQLNUM) of
the deck.
2018-01-02 14:28:06 +01:00
Bård Skaflestad 4c63659b61 Compute phase pressures in subset of cells
This commit adds support for assigning the initial phase pressure
distribution to a subset of the total grid cells.  This is needed in
order to fully support equilibration regions.  The existing region
support (template parameter 'Region' in function 'phasePressures()')
was only used/needed to define PVT property (specifically, the fluid
phase density) calculator pertaining to a particular equilibration
region.
2018-01-02 14:28:06 +01:00
Bård Skaflestad 5ec0aec02e Add basic equilibration facility
This commit adds a simple facility for calculating initial phase
pressures assuming stationary conditions, a known reference pressure
in the oil zone as well as the depth and capillary pressures at the
water-oil and gas-oil contacts.

Function 'Opm::equil::phasePressures()' uses a simple ODE/IVP-based
approach, solved using the traditional RK4 method with constant step
sizes, to derive the required pressure values.  Specifically, we
solve the ODE

      dp/dz = rho(z,p) * g

with 'z' represening depth, 'p' being a phase pressure and 'rho' the
associate phase density.  Finally, 'g' is the acceleration of
gravity.  We assume that we can calculate phase densities, e.g.,
from table look-up.  This assumption holds in the case of an ECLIPSE
input deck.

Using RK4 with constant step sizes is a limitation of this
implementation.  This, basically, assumes that the phase densities
varies only smoothly with depth and pressure (at reservoir
conditions).
2018-01-02 14:28:06 +01:00
Bård Skaflestad 0c61f63900 Merge pull request #1265 from GitPaean/fixing_test_wellmodel
not using std::make_unique in test_wellmodel

Closes #1264
2017-09-04 17:33:45 +02:00
Bård Skaflestad 44c02a262e Merge pull request #1240 from blattms/work-around-unstable-matrix-inversion
Work around unstable matrix block inversion in DUNE 2.3 und 2.4
2017-07-04 12:34:01 +02:00
Bård Skaflestad 1e0428d821 Merge pull request #1208 from atgeirr/refactor-sequential-solver
Refactor sequential solver
2017-06-09 15:10:11 +02:00
Bård Skaflestad bdba47e5ac Merge pull request #1105 from atgeirr/change-default-output-dir
Change default output dir
2017-03-17 13:58:08 +01:00
Bård Skaflestad d700f3e946 Merge pull request #1104 from atgeirr/allow-restart-without-opmextra
Allow restarting without OPMEXTRA field in restart file.
2017-03-17 11:18:06 +01:00
Bård Skaflestad 6281d1f090 Merge pull request #958 from andlaus/fix_asserts
StandardWellsDense: fix two assertations
2016-11-29 15:05:32 +01:00
Bård Skaflestad ef3f7f78fa Merge pull request #1105 from andlaus/fix_valgrind_errors
fix some valgrind errors in the init code
2016-11-16 19:08:48 +01:00
Bård Skaflestad 8cc64402be Merge pull request #927 from GitPaean/warning_fixing
a few warning fixing.
2016-11-16 18:48:51 +01:00
Bård Skaflestad fbc47cc186 Merge pull request #815 from bska/omit-empty-kr
phase-KR: Don't emit empty property arrays

This is a self-merge.
2016-09-08 19:32:36 +02:00
Bård Skaflestad dccf75d806 Initialise fields in declaration order 2016-09-08 16:28:43 +02:00
Bård Skaflestad 964c0142cc phase-KR: Don't emit empty property arrays
Check that we actually have data values for relative permeability
properties {WAT,OIL,GAS}KR before attempting to output the arrays.

While here, also correct an apparent misprint in the criterion for
whether or not to activate relperm output.  We should check
'liquid_active' and 'vapour_active', not 'aqua_active', when
considering OILKR and GASKR properties respectively.
2016-09-08 16:28:43 +02:00
Bård Skaflestad 01ec7befb4 Merge pull request #758 from qilicun/fix-wellIterations-bugs
fix well iterations counting bugs.
2016-07-20 11:20:28 +02:00
Bård Skaflestad b4df2ccff0 Merge pull request #750 from blattms/print-time-step-once-in-parallel-run
Use termininal_output_ to only print time step status once for parallel runs
2016-07-04 15:44:57 +02:00
Bård Skaflestad e444a03f34 Merge pull request #1037 from atgeirr/add-phasepresence-ops
Add operator== and operator!= to PhasePresence.
2016-06-15 19:56:11 +02:00
Bård Skaflestad c5c5893591 Merge pull request #1040 from atgeirr/fix-linsolverfactory-default-solver
Set default solver depending on configuration.
2016-06-15 17:34:41 +02:00
Bård Skaflestad 3c590f9352 Merge pull request #672 from akva2/fix_build_with_g++_53
fixed: build with g++ 5.3
2016-04-29 21:16:39 +02:00
Bård Skaflestad 4ec1a306ad Merge pull request #651 from atgeirr/restore-output
Re-enable output for 2-phase sims.
2016-04-14 13:54:24 +02:00
Bård Skaflestad e83518108e Merge pull request #646 from atgeirr/import-sim
Import simulator, update code
2016-04-14 12:49:09 +02:00
Bård Skaflestad 814a94e058 Request requisite module opm-output in Travis builds 2016-04-05 12:54:44 +02:00
Bård Skaflestad 37a701430d Merge pull request #600 from jokva/fix-header-parser-695
Add missing opm-parser headers
2016-02-26 07:12:56 -06:00
Bård Skaflestad 1237251ee4 Merge pull request #599 from joakim-hove/state-updates
PolymerState changes
2016-02-24 07:31:37 -06:00
Bård Skaflestad db86c367d5 Merge pull request #597 from andlaus/fix_deprecation_warnings
fix the deprecation warnings caused by OPM/opm-parser#687
2016-02-21 18:09:48 -06:00
Bård Skaflestad 83f474f118 Merge pull request #946 from jokva/clean-up-header
Improve includes from opm-parser
2016-01-26 15:58:25 +01:00
Bård Skaflestad 2c9a727844 Merge pull request #574 from jokva/clean-up-header
Improve includes from opm-parser
2016-01-26 13:37:53 +01:00
Bård Skaflestad 00073dbf9f Merge pull request #573 from jokva/fix-header-include-parser656
Fixes includes wrt opm-parser PR-656
2016-01-21 10:32:54 +01:00
Bård Skaflestad d14de856fe Merge pull request #564 from atgeirr/improve-errmsg
Improve threshold pressure mismatch error message.
2016-01-04 10:54:41 +01:00
Bård Skaflestad 05bd5def58 Merge pull request #559 from totto82/fix_critialSat
Fix typo in BlackoilPropsAdFromDeck
2015-12-14 12:41:47 +01:00
Bård Skaflestad cb3ed9aa4f Merge pull request #551 from atgeirr/silence-warnings
Remove unneeded function parameter for SimulatorBase::run(), fix warnings.
2015-12-07 16:13:25 +01:00
Bård Skaflestad c956494402 Merge pull request #540 from atgeirr/remember-asimpl
Add asImpl() to method calls.
2015-11-19 14:47:13 +01:00
Bård Skaflestad a822151082 Merge pull request #157 from atgeirr/refactor-nonlinear-solver
Adapt to refactored/renamed NonlinearSolver (was NewtonSolver).
2015-11-18 11:50:28 +01:00
Bård Skaflestad 022bd6b8fe Merge pull request #536 from atgeirr/refactor-nonlinear
Refactor nonlinear solver
2015-11-18 11:47:43 +01:00
Bård Skaflestad 65da8b7e11 Merge pull request #531 from blattms/parallel-RateConverter
Calculate parallel averages in RateConverter.

Closes issue #530
2015-11-13 18:26:36 +01:00
Bård Skaflestad 112b0b7e6e Merge pull request #537 from andlaus/update_cdash_drop_site
cdash: update dropsite
2015-11-11 19:22:09 +01:00
Bård Skaflestad 308a3fd57e Merge pull request #535 from atgeirr/bug-in-scalar-autodiff
Fix bug in scalar autodiff
2015-11-10 14:02:49 +01:00
Bård Skaflestad 91af12034c Merge pull request #533 from atgeirr/install-flow-solvent
Add flow_solvent to list of programs to be installed.
2015-11-05 14:18:24 +01:00
Bård Skaflestad a3d4224445 Merge pull request #527 from blattms/fix-sequential-redist-grid
Only specialize distributeGridAndData for CpGrid if MPI is found.
2015-10-30 19:31:26 +01:00
Bård Skaflestad cfc1350717 Merge pull request #500 from blattms/removed-superfluous-ptr-during-redistribution
Remove unnecessary shared_ptr for geology and black oil properties during redistribution.
2015-10-22 15:27:40 +02:00
Bård Skaflestad c5d61faaa1 Merge pull request #896 from joakim-hove/relocate-warning-headers
Relocated warning headers.
2015-10-06 15:56:23 +02:00
Bård Skaflestad 8b31c8b946 Merge pull request #147 from joakim-hove/table-container
Using TableContainer.
2015-10-05 15:08:13 +02:00
Bård Skaflestad 13df018745 Follow API update of BlackoilOutputWriter
The constructor of class BlackoilOutputWriter gained a new parameter
in commit OPM/opm-autodiff@299b0aa (OPM/opm-autodiff#484).  Honour
new API requirement.
2015-09-30 11:01:01 +02:00
Bård Skaflestad a333755a2b Merge pull request #481 from babrodtk/faster-form-interleaved
Faster form interleaved
2015-09-24 09:19:54 +02:00
Bård Skaflestad 2c84414641 Merge pull request #480 from atgeirr/silence-warning
Silence unused argument warning.
2015-09-21 10:45:58 +02:00