Commit Graph
100 Commits
Author SHA1 Message Date
Bård Skaflestad f4dbfc119a Merge pull request #2525 from joakim-hove/enabled-features
Remove keywords SEPARATE, RUNSUM and DATES from MissingKeywords list
2020-04-07 09:45:05 +02:00
Bård Skaflestad ea4b25cb4c Merge pull request #2522 from joakim-hove/move-string-util
MOve String utility in opm-common
2020-04-04 21:58:22 +02:00
Bård Skaflestad 022ba52200 Merge pull request #2514 from akva2/fix_filesystem_gcc9
changed: avoid calling parent_path on paths that has none
2020-04-03 12:41:14 +02:00
Bård Skaflestad affeb9361c Merge pull request #2515 from blattms/add-missing-comm-headers
[FlexibleSolver] Added missing headers determine IsComm.
2020-04-02 18:48:12 +02:00
Bård Skaflestad 74368c5f98 Merge pull request #2452 from blattms/use-region-temperature-cleaned
Use correct region temperature when calculating RS/RV
2020-04-02 15:08:53 +02:00
Bård Skaflestad 54ef525e07 Merge pull request #2328 from bska/currctrl-restart-io
Save and Restore Well's Current Control Target Mode
2020-03-26 15:11:25 +01:00
Bård Skaflestad d95eb32510 Save and Restore Well's Current Control Target Mode
This commit uses the new restart file support for active well
control target modes to save and restore the run's active targets.
2020-03-26 14:20:12 +01:00
Bård Skaflestad 7e6d283665 Merge pull request #2495 from akva2/use_aquifer_config
changed: use AquiferConfig when setting up aquifers
2020-03-24 14:31:52 +01:00
Bård Skaflestad fda4a29c7e Merge pull request #2459 from jalvestad/group_constraints_summary
Make available current Production/Injection Group Control parameters for use in  Restart
2020-03-19 16:54:34 +01:00
Bård Skaflestad 3b67bee169 Merge pull request #2476 from blattms/rely-on-persistent-local-id
Rely on local ids being persistent across grid modifications
2020-03-18 22:51:06 +01:00
Bård Skaflestad d7522c68b2 Merge pull request #2473 from GitPaean/removing_segvalv_from_missing_features
removing WSEGVALV from MissingFeatures.cpp
2020-03-13 17:35:57 -05:00
Bård Skaflestad 1af796257c Merge pull request #2348 from goncalvesmachadoc/patch-1
Add missing keywords to list
2020-03-11 15:40:02 -05:00
Bård Skaflestad 21dc2620fd Merge pull request #2453 from akva2/eclstate_serialize
drop serialization from ParallelEclipseState
2020-03-11 12:15:46 -05:00
Bård Skaflestad c53d8c58f7 Merge pull request #2450 from akva2/serializer_summaryconfig
use eclmpiserializer for SummaryConfig broadcast
2020-03-10 20:32:06 -05:00
Bård Skaflestad 8700ea1310 Merge pull request #2451 from akva2/followup_stonetype
update serialization for relocated KrModel
2020-03-10 07:58:43 -05:00
Bård Skaflestad a449b2e2e6 Merge pull request #2415 from akva2/vappars_supported
fixed: VAPPARS is supported, remove from unsupported features list
2020-03-06 07:40:41 -06:00
Bård Skaflestad 6688c19a77 Merge pull request #2397 from akva2/no_serialization_fluidsystem
changed: no need to serialize the FluidSystem any more
2020-03-03 21:51:10 -06:00
Bård Skaflestad 8c17e05c7d Merge pull request #2386 from akva2/use_compressed_trans
use compressed indices setting up transmissibilities
2020-03-03 06:00:29 -06:00
Bård Skaflestad 8ed3b82c8a Merge pull request #2385 from akva2/use_compressed_rock
use compressed field properties setting up rock parameters
2020-03-02 13:06:29 -06:00
Bård Skaflestad c3f127afa0 Merge pull request #2384 from akva2/use_compressed_perm
use compressed properties setting up permeabilities
2020-03-02 11:56:13 -06:00
Bård Skaflestad 8eeaf35f35 Merge pull request #2357 from akva2/conditional_test_suite
disable building of tests if Boost::test is not found
2020-02-24 21:05:26 -06:00
Bård Skaflestad f0fb6b0f89 Merge pull request #2014 from akva2/use_cxx11
changed: use std::regex instead of boost::regex
2020-02-11 05:46:01 -06:00
Bård Skaflestad 115d1107f7 Add Parallel Serialization Support for CurrentControl
This commit adds support for serializing Opm::data::CurrentControl
between parallel processes.
2020-02-06 09:49:30 +01:00
Bård Skaflestad 645b07bf7f Merge pull request #2305 from akva2/fix_thermal
Parallel thermal simulations
2020-01-29 13:27:45 +01:00
Bård Skaflestad 53f05a7df6 Chase Runspec Member Update
The Runspec class gained a new data member of type SatFuncControls.
Update the serialization code accordingly.
2020-01-25 13:09:49 +01:00
Bård Skaflestad ac9a81e20b Merge pull request #2300 from OPM/remove-3dprops-testing-flag
Remove the stale flag ENABLE_3DPROPS_TESTING
2020-01-24 18:07:43 +01:00
Bård Skaflestad 570cf08fc4 Merge pull request #2290 from akva2/noecl_flush_fluidsystem
Avoid deck usage on non-root processes setting up FluidSystem
2020-01-21 10:47:44 +01:00
Bård Skaflestad 73a58c4599 Merge pull request #2287 from akva2/avoid_deck_for_phases
avoid instancing a new Runspec from deck to obtain active phases
2020-01-17 16:22:26 +01:00
Bård Skaflestad d42bbbe15a Merge pull request #2286 from akva2/avoid_deck_unitsystem
changed: avoid deck usage
2020-01-17 15:52:09 +01:00
Bård Skaflestad b9a16f608e Merge pull request #2285 from akva2/reduce_duplication
changed: avoid near-duplicate code
2020-01-17 15:37:04 +01:00
Bård Skaflestad b1fc78056e Merge pull request #2277 from akva2/noecl_flush_schedule
Avoid using deck setting up Schedule on non-root processes
2020-01-17 15:36:34 +01:00
Bård Skaflestad b455faf067 Parallel Restart: Chase RFTConfig API Update
The RFTConfig object gained a new data member and constructor
argument, in addition to altering the type of the data member
well_open_rft_name from an unordered_set to an unordered_map.

Update serialization code accordingly.
2020-01-14 16:49:33 +01:00
Bård Skaflestad 558873bc80 Merge pull request #2274 from atgeirr/fix-auto-in-prototype
Change auto in prototype to template argument.
2020-01-10 10:38:57 +01:00
Bård Skaflestad d20bec2f71 Merge pull request #2272 from akva2/fix_gcc5
fixed: use std::make_tuple instead of initializer list
2020-01-09 11:16:31 +01:00
Bård Skaflestad 736f647936 Merge pull request #2268 from akva2/noecl_flush_summarycfg
Avoid using global ecl state setting up SummaryConfig on non-root processes
2020-01-08 16:48:32 +01:00
Bård Skaflestad 646e7d4eb1 Merge pull request #2265 from akva2/fix_serial_build
fix build without mpi
2020-01-06 17:02:08 +01:00
Bård Skaflestad dfb4946f13 Restart: Don't Access Solvent Saturation Unless Active
This commit ensures that the previous solvent restart fix (commit
afba6c8e8, PR #2023) does not attempt to index into the data member
solventSaturation_ unless solvent is activated.
2020-01-06 14:11:11 +01:00
Bård Skaflestad 8a378249f7 Merge pull request #2250 from akva2/noecl_flush
More MPI serialization support
2019-12-20 17:08:01 +01:00
Bård Skaflestad b64116a70c Merge pull request #2254 from GitPaean/clang-format-aquifer
re-formatting aquifer files with clang-format
2019-12-20 16:50:11 +01:00
Bård Skaflestad 80714243c6 Merge pull request #2248 from akva2/noecl_flush
More MPI serialization support
2019-12-20 10:44:24 +01:00
Bård Skaflestad f4c875ad3e Merge pull request #2247 from akva2/noecl_flush
More MPI serialization support
2019-12-19 17:47:49 +01:00
Bård Skaflestad 2274647862 Merge pull request #2246 from akva2/noecl_flush
More MPI serialization support
2019-12-19 13:59:15 +01:00
Bård Skaflestad c256bfdfa4 Merge pull request #2170 from atgeirr/msw-thp-potential
Compute well potential of multi-segment wells with a THP constraint
2019-12-06 10:02:50 +01:00
Bård Skaflestad ce1e0691a8 Aquifer Restart: Address Review Comments
Mostly 'throw'ing in the case of unsupported operations.  While
here, also remove an unused header.
2019-12-05 13:41:05 +01:00
Bård Skaflestad 143b45ed52 EclWriter: Initialize Aquifers From Restart Data
This commit calls the aquifer model's 'initFromRestart' function if
the loadParallelRestart() function happens to return any aquifer
data from the restart file.  Such data is currently limited to two
items of information for analytic aquifers (from XAAQ vector), but
future extensions are likely.
2019-12-05 09:41:21 +01:00
Bård Skaflestad 8a764568e1 EclProblem: Provide Mutable Access to Aquifer Model Object
This commit adds a new public member function,

    EclProblem::mutableAquiferModel()

that returns a read/write reference to the contained EclAquiferModel
object.  The immediate use-case is initializing analytic aquifers
from restart data.
2019-12-05 09:41:21 +01:00
Bård Skaflestad 4c4a893781 Aquifer Model: Add Initialization from Restart Data
This commit adds a new member function,

    initFromRestart()

to the EclBaseAquiferModel and the BlackoilAquiferModel.  The former
does nothing, the latter calls AquiferInterface::initFromRestart()
on the contained analytic aquifer objects.
2019-12-05 09:41:21 +01:00
Bård Skaflestad df86d01486 Add Means of Initializing Analytic Aquifers From Restart Data
This commit adds a new member function,

    AquiferInterface::initFromRestart()

that consumes a vector<data::AquiferData> constructed from
information in the restart file's SAAQ and XAAQ vectors.  At the
moment, we use the initial aquifer pressure, the total produced
liquid volume and the current aquifer pressure at restart.

We implement the interface's member function in terms of the virtual
function

    AquiferInterface::assignRestartData()

that must be overridden in derived classes.

Implement a trivial such function for Carter-Tracy aquifers, and a
function that only stores the current aquifer pressure for the
Fetkovich aquifer model.

Additionally, record whether or not the aquifer object was
initialised from a previous solution.  If so, don't reset total
produce liquid volumes or aquifer pressures to their base values
from the model input file.
2019-12-05 09:41:21 +01:00
Bård Skaflestad 92cbdf3c63 Merge pull request #2207 from joakim-hove/wellstate-open-for-output
Refactor WellState SHUT
2019-12-04 18:16:19 +01:00
Bård Skaflestad 0a6b5f0ea9 Merge pull request #2202 from akva2/janitoring
Janitoring
2019-12-02 19:56:16 +01:00
Bård Skaflestad 334acd18ad Merge pull request #2164 from atgeirr/remove-wells-struct-rebased
Avoid using the Wells struct.
2019-11-25 09:56:06 +01:00
Bård Skaflestad 26c8d78eac Merge pull request #2155 from blattms/print-mpi-omp-size
Print number of MPI/OMP threads at start and end.
2019-11-21 16:06:37 +01:00
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