Commit Graph

1338 Commits

Author SHA1 Message Date
Arne Morten Kvarving
903b5462aa
Merge pull request #3650 from akva2/remove_ebos
Remove ebos
2021-11-01 13:38:02 +01:00
Atgeirr Flø Rasmussen
5f81b77d14
Merge pull request #3639 from blattms/dune-fem-master
Fixes compilation with dune-fem 2.8
2021-11-01 13:10:17 +01:00
Arne Morten Kvarving
39a94863a0 remove ebos 2021-11-01 13:08:40 +01:00
Arne Morten Kvarving
06bd25575f use std::filesystem directly 2021-11-01 12:31:58 +01:00
Arne Morten Kvarving
371f26ac6b fix deprecation warning with dune 2.7+ 2021-10-29 12:18:36 +02:00
Markus Blatt
b8a1f04a48 Added missing explicit template instatiations for dune-fem 2.8. 2021-10-26 21:54:41 +02:00
Bård Skaflestad
3cfec109db
Merge pull request #3620 from blattms/removeSetupCart-rebased
[refactor] Remove cartesianToCompressed Mapping from well model
2021-10-25 16:43:08 +02:00
Alf Birger Rustad
0a1143abff Changed default for sched-restart to false 2021-10-25 12:14:33 +02:00
Joakim Hove
059efcd260 Add serializer support for std::array<T,N> 2021-10-25 10:50:34 +02:00
Markus Blatt
fa9e93529b Only consider perforation in the interior of the local grid.
This is needed for distributed wells to save most of the code
from checking whether a perforation is in the interior.

We add new methods compressedIndexForInterior that return -1
for non-interior cells and use that for the wells. This restores
the old behaviour before 1cfe3e0aad
2021-10-19 16:50:42 +02:00
Joakim Hove
85a103022b Remove unnecessary call to simulator.setStartTime() 2021-10-19 14:34:36 +02:00
Tor Harald Sandve
70c9d2e237
Merge pull request #3590 from daavid00/micp-2021-10
micp
2021-10-14 22:28:28 +02:00
daavid00
48b175904a first version of micp implementation in flow 2021-10-14 17:44:57 +02:00
Markus Blatt
6f0461691a [bugfix] Make tracerConcentrations_ valid for non-restart writes.
We decide whether to write tracer concentrations based on the size
of the tracerConcentrations_ container. Hence we need to make sure
that its size is zero after the concentrations have been written
and now resize the container to reflect that.

Before this change only the container inside tracerConcentrations_
were moved (and hence made empty) and next tiem we passed empty
containers to the output writing functions (which in parallel
triggered an assertion).
2021-10-14 11:05:33 +02:00
Joakim Hove
a86573c247
Merge pull request #3605 from atgeirr/remove-redundant-wellmanager
Reinstate tests in test_ecl_output.cc and remove unused classes.
2021-10-13 12:37:34 +02:00
Atgeirr Flø Rasmussen
432f4d8247 Remove unused class EclPeacemanWell 2021-10-13 11:00:08 +02:00
Atgeirr Flø Rasmussen
e6e8eab6d2 Remove unused EclWellManager class. 2021-10-13 10:56:33 +02:00
Joakim Hove
2c68f12769 Load WellTestState from restart file 2021-10-13 08:46:48 +02:00
Markus Blatt
cc1adf0b2a
Merge pull request #3586 from blattms/tracer-use-well-container
[refactor] Use well_container and PerforationData for tracers
2021-10-12 09:55:33 +02:00
Bård Skaflestad
c7d7fa1146 Reset ACTNUM at EclipseState Level
This method avoids resorting to const_cast tricks.
2021-10-07 21:58:09 +02:00
Markus Blatt
d4ab9ea4b1 [refactor] Use well_container and PerforationData for tracers
This saves some (expensive?) lookups that already have been done
in the well model. We had to make the well_container accessible from
the well model for this.

Using the perforation data will automatically make sure that the
perforations are not shut and reside on this process in a parallel run.
2021-10-07 21:55:41 +02:00
Bård Skaflestad
c329d9cd00 Prune Deactivated Cells on All Ranks
This commit broadcasts the 'removed_cells' to all ranks and uses
that array to delete any analytic aquifer connections that might
have been previously formed to those deactivated cells.  This is
needed to have a consistent view of which cells are connected to
analytic aquifers.
2021-10-07 17:26:26 +02:00
Bård Skaflestad
f01777610f Adjust Whitespace and Rewrap Comments
In preparation of distributing the 'removed_cells' to all ranks.
2021-10-07 17:26:26 +02:00
Markus Blatt
011fb1034e
Merge pull request #3571 from atgeirr/allow-non-world-comm
Replacing use of MPI_COMM_WORLD with a variable communicator.
2021-10-06 15:52:17 +02:00
Atgeirr Flø Rasmussen
e519bb32ec Use correct communicator in EclGenericVanguard::init(). 2021-10-06 08:51:31 +02:00
Elyes Ahmed
65f0e4e7f0 Replacing calling Communication with a header 2021-10-05 13:07:52 +02:00
Elyes Ahmed
0202b00d59 clean up after review 2021-10-05 13:07:52 +02:00
Elyes Ahmed
f53c597f90 Replacing use of MPI_COMM_WORLD with a variable communicator. 2021-10-05 13:07:52 +02:00
Tor Harald Sandve
033995ab8f
Merge pull request #3565 from blattms/centroids-vanguard
[refactor] Move cell centroid lookup magic to vanguard for reuse.
2021-10-05 11:38:19 +02:00
Joakim Hove
dcd5fc76a0 Add WellTestState argument when calling IO routines 2021-10-04 21:30:27 +02:00
Markus Blatt
457d270bdf [refactor] Move cell centroid lookup magic to vanguard for reuse.
In addition to transmissibilities We will need this for the tracers,
too, and should prevent code duplication.
2021-10-04 09:47:03 +02:00
Joakim Hove
ac3748229a Collect WellTestState on IORank 2021-10-02 20:28:44 +02:00
Bård Skaflestad
2dedb62363 Serializer: Detect Existence of 'serializeOp' Member Function
More direct test than looking for a 'serializeObject' member.
2021-09-29 13:41:01 +02:00
Joakim Hove
edb2c4abb2
Merge pull request #3549 from joakim-hove/serialize-set
Add serializer support for set - closely modelled after map
2021-09-27 13:47:15 +02:00
Markus Blatt
88ae5b5963
Merge pull request #3545 from blattms/fix-parallel-try-catch
[bugfix] Fix deadlocks because of parallel try-catch for some CO2 storage cases
2021-09-27 13:02:34 +02:00
Joakim Hove
1b7ef65509 Add serializer support for set - closely modelled after map 2021-09-24 18:55:54 +02:00
Markus Blatt
e0f7b082c1
Merge pull request #3542 from blattms/unordered_map-compressed2cartesian
Save space for cartesianToCompressed mapping.
2021-09-24 10:24:34 +02:00
Markus Blatt
3cda8a2fdb Added missing parallel try-catch clause for updatePrimaryIntensities.
As Problem::updatePrimaryIntensities might throw we need to do this
to prevent dealocks in parallel run in case problem occurs.
2021-09-24 09:25:44 +02:00
Bård Skaflestad
1dc3832966
Merge pull request #3540 from hakonhagland/python_set_sched
Initialize blackoil simulator from Opm::Schedule shared with Python.
2021-09-23 13:32:31 +02:00
Håkon Hægland
4c5245196b Changed calling convention for shared pointers.
Expect non-reference type shared pointers arguments instead of references
to shared pointer. This will make it clear to the caller that the called
function is making a copy of the pointer for its own use and not trying
to modify the original pointer of the caller.
2021-09-22 23:49:13 +02:00
Bård Skaflestad
512f4c95b1
Merge pull request #3532 from totto82/aqnumco2store
combine co2store and numerical aquifers
2021-09-22 21:42:29 +02:00
Markus Blatt
33645cb4f6 Save space for cartesianToCompressed mapping.
For 10 Million cell problems my compute server (with 128 GB Ram)
starts to swap, when I use debugging tools in parallel runs. I assume
that this might get an issue for others, too.

Now we consistently use unordered_map for the mapping.
2021-09-22 10:23:50 +02:00
Håkon Hægland
5ad65c70ee Initialize blackoil simulator from schedule shared with Python.
Adds a new constructor to Main.hpp that takes shared pointers to Deck,
EclipseState, Schedule, and SummaryConfig. This makes it possible to
share these variables with Python without worrying about lifetime issues
of the underlying C++ objects. For example, a Python script can first
create an opm.io.schedule.Schedule object which is modified from Python.
Then, assume the same Python script creates an
opm.simulators.BlackOilSimulator which is initialized with the same
schedule object. Since the underlying C++ object is a shared pointer,
the Schedule object in Python may go out of scope (get deleted by Python)
without having the C++ schedule object being deleted. And the Python
BlackOilSimulator may continue to be used after the Python Schedule object
has been deleted since it still has a valid C++ schedule object.
2021-09-21 15:52:59 +02:00
Joakim Hove
357540bfca Create Action::State external to the vanguard 2021-09-19 10:17:58 +02:00
Tor Harald Sandve
10480b4f8f combine co2store and numerical aquifers 2021-09-17 16:05:26 +02:00
Bård Skaflestad
1dc9cf755e
Merge pull request #3492 from blattms/dune-2.8
Fixes and removes deprecation warnings for Dune 2.8
2021-09-14 21:11:25 +02:00
Joakim Hove
e16e721003 Eavluate all UDQ ASSIGN statements at the start of report step 2021-09-13 15:18:44 +02:00
Markus Blatt
8abf2159c4 Support Dune 2.8 version of MultipleCodimMultipleGeomTypeMapper
Drop removed second template parameter from
MultipleCodimMultipleGeomTypeMapper (there is a defaultsince 2,6
nd now it is gone alltogether)
2021-09-13 12:27:56 +02:00
Markus Blatt
e6c8f6985c Remove some shawowed variable warnings. 2021-09-13 12:08:13 +02:00
Cintia Goncalves Machado
d551e0579b fix rebase error 2021-09-09 13:41:08 +02:00
Cintia Goncalves Machado
0debc207fc fix if 2021-09-09 13:20:19 +02:00
Joakim Hove
7cb0bb5ae6 Improve error message for invalid phase id 2021-09-01 14:26:56 +02:00
Cintia Goncalves Machado
637a3431fd outputFSIP 2021-08-26 18:33:49 +02:00
Bård Skaflestad
21750a9eac
Merge pull request #3398 from goncalvesmachadoc/outputVolume
Add FIPRESV
2021-08-26 10:21:31 +02:00
Cintia Goncalves Machado
21e3e4dc81 use Saturation to compute vol 2021-08-25 18:24:05 +02:00
Joakim Hove
5a721b8cd2 Remove WellMap from WellState 2021-08-24 13:25:02 +02:00
Joakim Hove
755de65eb4 Use SingleWellState to manage well surface rates 2021-08-24 12:46:24 +02:00
Tor Harald Sandve
97d82cb97a
Merge pull request #3481 from totto82/fixTracer
fix case where wells are shut behind our back
2021-08-20 09:00:17 +02:00
Bård Skaflestad
ed3ea9fa49 Don't Assign Restart Rs/Rv Unless O/G Both Active
This enables running two-phase oil/water restart cases.
2021-08-19 21:07:05 +02:00
Bård Skaflestad
fdf3ae83ac
Merge pull request #3482 from joakim-hove/store-action-result
Store the action result - when evaluated to true
2021-08-19 20:59:35 +02:00
Joakim Hove
0da38ee7d0 Store the action result - when evaluated to true 2021-08-19 15:32:47 +02:00
Tor Harald Sandve
24bf13c26f
Merge pull request #3429 from akva2/remove_plain
remove ebos_plain
2021-08-19 14:11:27 +02:00
Tor Harald Sandve
31ac5378cf fix case where wells are shut behind our back 2021-08-19 13:08:33 +02:00
Torbjørn Skille
4e9a19cf7c Extra command line argument write-lodsmry for creating LODSMRY file
- default is false
 - file LODSRMY optimized for fast loading of selected vectors
2021-08-12 20:16:07 +02:00
Arne Morten Kvarving
d1a51569bc fix build
need to include header for assert
2021-08-12 15:11:55 +02:00
Arne Morten Kvarving
d99f642dff add collective communication to generic vanguard 2021-08-12 12:08:43 +02:00
Arne Morten Kvarving
23c2dd15aa remove ebos_plain
the ebos well model is severely limited, I doubt
anyone would ever use this binary.
2021-08-05 11:48:09 +02:00
Joakim Hove
ea4cf8d28f
Merge pull request #3428 from akva2/remove_altidx
remove ebos_altidx
2021-08-03 14:10:00 +02:00
Tor Harald Sandve
43d129861f
Merge pull request #3454 from plgbrts/gw1
adjustments needed for gas-water system
2021-08-03 12:01:34 +02:00
Arne Morten Kvarving
78c5675daf changed: get rid of OPM_UNUSED macro usages
prefer anonymous parameters or c++17 [[maybe_unused]]
2021-08-02 14:55:41 +02:00
Paul Egberts
b8b881d6e9 allow for water-gas system 2021-08-01 17:53:57 +02:00
Paul Egberts
ec4bb5c9c7 set gas saturation for water-gas system 2021-08-01 17:52:33 +02:00
Atgeirr Flø Rasmussen
38d68fbae4 Do not use C99 variable-length arrays. 2021-07-08 17:55:28 +02:00
Bård Skaflestad
cec3098c3a Don't Pass 'log' Argument to 'Schedule::rst_file'
The function does not use that argument.
2021-07-07 14:06:38 +02:00
Bård Skaflestad
2627a05c1e
Merge pull request #3433 from osae/tracerDefaultTrue
Default activation of tracer model.
2021-07-07 11:54:28 +02:00
Bård Skaflestad
e64574dfcf
Merge pull request #3430 from osae/tracerCrossFlow
Some regularisation of tracer rate reporting.
2021-07-07 00:32:53 +02:00
Ove Sævareid
738877fc1b Default activation of tracer model. 2021-07-06 17:06:10 +02:00
Arne Morten Kvarving
d13b413011 changed: replace code with data in restart output 2021-07-06 15:30:34 +02:00
Ove Sævareid
6db925189c Some regularisation of tracer rate reporting. 2021-07-06 12:54:16 +02:00
Arne Morten Kvarving
8443306fb6 remove ebos_altidx
building a whole simulator for this, and then not even
running a test for it, seems rather excessive. if a test for
index-conformance is wanted, a better approach should be taken.
2021-07-05 13:17:13 +02:00
Joakim Hove
528078e8e1 Assemble UDQState external to the vanguard 2021-07-01 08:24:59 +02:00
Bård Skaflestad
71de144399
Merge pull request #3239 from osae/tracer
Tracer summary curves, collect well rates.
2021-06-25 17:48:40 +02:00
Bård Skaflestad
5e883e562c Chase Type Specific Aquifer Data API Change
This commit switches to using the new 'typeData' interface for
representing type-specific aquifer data items.  In particular we use
the new 'typeData.is<>()' and 'typeData.get<>()' member functions to
query and access the data that is specific to each aquifer type
(e.g., Carter-Tracy or numerical).

While here, also expand the reported data items for numerical
aquifers to one initial pressure value for each aquifer cell.  This
is needed for restart purposes.
2021-06-25 09:58:27 +02:00
Bård Skaflestad
6d3da3d2e0 Report Pressure Dependent Pore Volume in PRT File
This commit distinguishes the reference condition pore volume from
the dynamic, pressure (and/or temperature) dependent pore volume
value.  Previously we would report the latter as the 'PORV' value in
the "Field Totals" and "FIPNUM region" reports, but this commit
switches to reporting the former instead-mostly for compatibility.
We still report the dynamic pore volume value, but now we report
this on a line of its own, before the table, using one of the forms

Field total pressure dependent pore volume = 12345 RM3
FIPNUM report region 1 pressure dependent pore volume = 123 RM3
2021-06-22 12:00:56 +02:00
Arne Morten Kvarving
a8ffe91841 quell dune2.7+ warning 2021-06-18 15:18:06 +02:00
Arne Morten Kvarving
463a41d373 fixed: do not assert conditions guaranteed by unsigned 2021-06-18 13:27:58 +02:00
Ove Sævareid
33511b45c1 Relegating implementation details. 2021-06-15 17:18:46 +02:00
Ove Sævareid
c406216c7f Removed some tentative stuff. 2021-06-15 17:18:46 +02:00
Ove Sævareid
c4f41ccc5c Add some comments. 2021-06-15 17:18:46 +02:00
Ove Sævareid
39cf29a2a6 Variable names 2021-06-15 17:18:46 +02:00
Ove Sævareid
9478e8d03d Remove injector crossflow from tracer production. 2021-06-15 17:18:46 +02:00
Ove Sævareid
581408c760 Batchwise tracer calculations. 2021-06-15 17:18:46 +02:00
Ove Sævareid
6d76f6c557 Tracer summary curves, collect well rates. 2021-06-15 17:18:46 +02:00
Arne Morten Kvarving
a84d05c83b fixed: forward classes as classes 2021-06-14 09:09:15 +02:00
Tor Harald Sandve
5686d90c61
Merge pull request #3350 from totto82/maxNiWi
Change the inner iterations logic
2021-06-10 19:49:23 +02:00
Joakim Hove
308e191ad5 Remove unused #include <TimeMap> 2021-06-10 14:38:14 +02:00
Arne Morten Kvarving
059140f2ee split out typetag independent code from BlackoilWellModel 2021-06-07 12:04:06 +02:00
Tor Harald Sandve
3ca6e215dc Change the inner iterations logic
This replace the Boolean switch to enable inner iterations with a
int that controls for which maximum number of newton iterations
inner iterations applies.

Default is set to 3
2021-06-04 10:51:15 +02:00
Joakim Hove
fcc4970337
Merge pull request #3318 from akva2/eclwellmodel_no_default
changed: do not set the ebos well model as default type
2021-06-04 09:58:46 +02:00
Atgeirr Flø Rasmussen
be0515dcba Avoid warning by defining static variable inline. 2021-06-03 13:27:49 +02:00
Atgeirr Flø Rasmussen
52877883d8 Add virtual destructor for base class. 2021-06-03 13:01:56 +02:00
Bård Skaflestad
d974f6bd03
Merge pull request #3333 from totto82/fixTEMPrestart
Pass the temperature to the restart machinary if enableTemperature is true
2021-06-02 13:09:41 +02:00
Tor Harald Sandve
3422e18583 Optional passing of the temperature vector to the restart machinary
If enableTemperature and --enable-opm-restart-file=true the temperature is passed to or read from the restart file
2021-06-02 11:53:57 +02:00
Arne Morten Kvarving
c2211b532f eclwriter: fix regression in parallel
order of constructing and obtaining global transmissibilities
was off. replace constructor argument with a setter so it can be
set at the appropriate time.
2021-06-01 09:08:38 +02:00
Bård Skaflestad
bd9b9a7118 Prepare to Save/Restore Richer Set of Aquifer Values
This commit adds logic to communicate more dynamic aquifer values
between the simulation and I/O layers.  In particular, we ensure
that we allocate the 'aquFet' and 'aquCT' substructures of the
dynamic aquifer data as appropriate and that we collect this
information on the I/O rank as part of the restart output process.
We furthermore make the 'ParallelRestart' facility aware of dynamic
aquifer data in preparation of loading these values from the restart
file.
2021-05-28 14:47:17 +02:00
Arne Morten Kvarving
d65a9a5f70 changed: do not set the ebos well model as default type
rather, only set it where we want to use it. this avoids including
eclwellmanager.hh and eclpeacemanwell.hh unnecessarily in
simulator objects (where BlackoilWellModel is used).
2021-05-28 11:28:43 +02:00
Arne Morten Kvarving
a128c64a03 use if constexpr 2021-05-28 09:03:17 +02:00
Arne Morten Kvarving
cbd7cfe8b6 split eclproblem in typetag dependent and typetag independent classes 2021-05-28 08:54:10 +02:00
Arne Morten Kvarving
b82d83dd60 eclpeacemanwell: anonymize unused parameters 2021-05-27 15:51:26 +02:00
Arne Morten Kvarving
f1965a58f3 eclpeacemanwell: use override 2021-05-27 15:51:26 +02:00
Arne Morten Kvarving
6045391bbd eclpeacemanwell: use std::array 2021-05-27 15:51:26 +02:00
Bård Skaflestad
f32a08124d
Merge pull request #3307 from akva2/eclproblem_cleanups
Various small cleanups in eclproblem
2021-05-26 22:02:23 +02:00
Arne Morten Kvarving
89443dd6a3 fixed: do not take reference to a temporary
getWellsatEnd returns a temporary vector. it goes out of
scope on the line, thus the reference taken is dangling.
2021-05-26 15:50:27 +02:00
Arne Morten Kvarving
f7dd0e34c3 eclproblem: fix typo in alugrid code 2021-05-26 15:12:08 +02:00
Arne Morten Kvarving
d5e9d32d7c eclproblem: use .empty() instead of size() == 0 2021-05-26 15:11:14 +02:00
Arne Morten Kvarving
3294917710 eclproblem: remove unused accessor 2021-05-26 15:03:22 +02:00
Arne Morten Kvarving
2a2b128820 eclproblem: remove unused type alias 2021-05-26 14:59:39 +02:00
Arne Morten Kvarving
fe57de72b2 eclproblem: only call function if an extension is enabled 2021-05-26 14:59:12 +02:00
Arne Morten Kvarving
aa7ec98c0f eclproblem: use if constexpr for enableApiTracking 2021-05-26 14:51:24 +02:00
Arne Morten Kvarving
be9c03bfac eclproblem: use if constexpr for enableDiffusion 2021-05-26 14:50:27 +02:00
Arne Morten Kvarving
99273fee85 eclproblem: use if constexpr for enableEnergy 2021-05-26 14:50:04 +02:00
Arne Morten Kvarving
94fe38fc93 eclproblem: use if constexpr for enableExtbo 2021-05-26 14:48:06 +02:00
Arne Morten Kvarving
baad3a7722 eclproblem: use if constexpr for enableBrine 2021-05-26 14:47:10 +02:00
Arne Morten Kvarving
68f9aeb78f eclproblem: use if constexpr for enablePolymerMolarWeight 2021-05-26 14:45:42 +02:00
Arne Morten Kvarving
3578c13236 eclproblem: use if constexpr for enablePolymer 2021-05-26 14:43:09 +02:00
Arne Morten Kvarving
cf2ab1cb41 eclproblem: use if constexpr for enableSolvent 2021-05-26 14:38:35 +02:00
Arne Morten Kvarving
836251aca1 eclproblem: use if constexpr for enableExperiments 2021-05-26 14:31:57 +02:00
Arne Morten Kvarving
b51f57a5c3 eclproblem: replace typedef with using 2021-05-26 14:30:50 +02:00
Arne Morten Kvarving
df4fdc9794 eclproblem: use maybe_unused attribute instead of macro 2021-05-26 14:19:23 +02:00
Arne Morten Kvarving
8ed738b188 eclproblem: anonymize unused parameters 2021-05-26 14:18:44 +02:00
Arne Morten Kvarving
d55df4330e fixed: do not use Opm:: prefix when inside namespace Opm 2021-05-25 12:06:06 +02:00
Arne Morten Kvarving
70ece6d25a eclwriter: split in typetag dependent and typetag-independent parts 2021-05-22 13:21:09 +02:00
Joakim Hove
23180e06d2 Rename WellStateFullyImplicitBlackoil -> WellState 2021-05-21 15:07:21 +02:00
Bård Skaflestad
3299baf5e8
Merge pull request #3262 from akva2/ecltransmissibility_bool_params
remove template parameters for enableEnergy/Diffusion in transmissibility
2021-05-21 13:01:27 +02:00
Atgeirr Flø Rasmussen
dee7030784
Merge pull request #3273 from akva2/clang_cleanups
Quell various clang warnings
2021-05-21 09:22:31 +02:00
Arne Morten Kvarving
ffc3d8fbd6 eclgenericoutputblackoilmodule: split in typetag dependent/independent parts 2021-05-20 09:16:44 +02:00
Arne Morten Kvarving
86fc165af6 remove template parameters for enableEnergy/Diffusion in transmissibility
- the diffusion one is basically done on runtime anyways
- the energy one gives some small code elimination gains
  however, it complicates the writing of downstream templates.
2021-05-20 08:53:40 +02:00
Bård Skaflestad
91dae1aa6f
Merge pull request #3269 from akva2/small_cleanups
Some small cleanups
2021-05-19 23:50:01 +02:00
Tor Harald Sandve
89e5b6758b fix building with dunefem 2021-05-18 15:31:57 +02:00
Arne Morten Kvarving
59d02d42c9 changed: make externalLoadBalancer a namespace scoped symbol
clang get confused and claims there's no explicit instantation
when it's a template member.
2021-05-18 12:12:05 +02:00
Arne Morten Kvarving
a7507cf544 fixed: forward structs as structs
clang warns
2021-05-18 12:07:04 +02:00
Arne Morten Kvarving
c78630cff0 fixed: add virtual dtor to class with virtual functions 2021-05-18 12:06:09 +02:00
Arne Morten Kvarving
8c34172ef0 remove some Opm:: qualifiers inside Opm namespace 2021-05-18 10:09:45 +02:00
Arne Morten Kvarving
5fa02055d4 split eclalternativeblackoilindices to separate file 2021-05-18 10:09:45 +02:00
Arne Morten Kvarving
6df23090bc ecloutputblackoilmodule: remove unused methods
furthermore, they do not compile as there are duplicate
entries in switch statements.
2021-05-18 10:09:45 +02:00
Joakim Hove
842e0a53a4
Merge pull request #3263 from akva2/move_ecldeck_param
changed: move Deck parameter to BlackoilModelParametersEbos
2021-05-18 08:19:19 +02:00
Joakim Hove
b7700d1077
Merge pull request #3259 from akva2/ecltracer_vanguard_separate
ecltracermodel: split in typetag dependent and typetag-independent parts
2021-05-18 08:15:40 +02:00
Arne Morten Kvarving
0a8f3213ae ecloutputblackoilmodule: use tracer info from EclipseState
to reduce reliance on typetag dependent type
2021-05-17 21:27:11 +02:00
Arne Morten Kvarving
8cab13c08a ecloutputblackoilmodule: use empty() instead of size() 2021-05-16 22:12:03 +02:00
Arne Morten Kvarving
638490d6ff ecloutputblackoilmodule: use std::array 2021-05-16 00:00:42 +02:00
Arne Morten Kvarving
8d1a8126ea changed: move Deck parameter to BlackoilModelParametersEbos
it is used there. now eclbasevanguard.hh includes
BlackoilModelParametersEbos, instead of the other way around.
2021-05-15 14:42:50 +02:00
Arne Morten Kvarving
30414bf0ff ecltracermodel: split in typetag dependent and typetag-independent parts
this allows using explicit template instantation to only
compile this code per grid, not per simulator object
2021-05-14 14:06:18 +02:00
Joakim Hove
3ed51c28f9
Merge pull request #3256 from akva2/eclthresholdpressure_vanguard_separate
eclthresholdpressure: split in typetag dependent/independent parts
2021-05-14 09:07:36 +02:00
Arne Morten Kvarving
eaa09a3905 quell warnings in serial build 2021-05-13 22:40:39 +02:00
Arne Morten Kvarving
f5fa602abb eclthresholdpressure: split in typetag dependent and typetag-independent parts
this allows using explicit template instantation to only
compile this code per grid, not per simulator object
2021-05-13 21:09:38 +02:00
Markus Blatt
af68511a63
Merge pull request #3223 from akva2/ecltransmissibility_vanguard_separate
Separate eclctransmissibility.hh into typetag dependent/independent code
2021-05-13 09:33:59 +02:00
Arne Morten Kvarving
7ff44d9093 ecltransmissibility: separate from typetag
this allows using explicit template instantation to only
compile this code per grid, not per simulator object
2021-05-12 12:10:29 +02:00
Arne Morten Kvarving
b053cb4161 unique_ptrs are default initialized to nullptr 2021-05-12 11:08:12 +02:00
Arne Morten Kvarving
924fdec296 use type alias 2021-05-12 11:07:38 +02:00
Arne Morten Kvarving
e8f69223e6 changed: use constexpr value and ifs
to disable code compile time instead of having
runtime conditionals
2021-05-12 10:52:37 +02:00
Markus Blatt
ba9f4c5b50
Merge pull request #3219 from akva2/eclcpgrid_vanguard_separate
Separate eclcpgridvanguard.hh into typetag dependent/independent code
2021-05-12 10:47:44 +02:00
Bård Skaflestad
aea80db23a
Merge pull request #3238 from akva2/fix_equil_cart_mapper_regression
fix regression: do not unconditionally dereference equilCartMapper
2021-05-11 16:36:56 +02:00
Arne Morten Kvarving
c7c29483e7 fix regression: unconditional dereferences
equilGrid and equilCartesianMapper can only
be dereferenced on rank 0.
2021-05-11 15:21:50 +02:00
Arne Morten Kvarving
a192ccb417
Merge pull request #3232 from totto82/fixDuneFemBuild
explicity add gridView from Dune::Fem in collectDataToIORank
2021-05-11 13:24:14 +02:00
Arne Morten Kvarving
215a8b7c25 eclcpgridvanguard: split in typetag dependent and typetag-independent parts 2021-05-11 11:30:35 +02:00
Tor Harald Sandve
f091781ee2 explicity add gridView from Dune::Fem in collectDataToIORank 2021-05-11 09:40:19 +02:00
Arne Morten Kvarving
bba700e7a2 changed: this is better kept a compile time error 2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
3397cd6252 eclbasevanguard: split in template and non-template parts 2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
5aa1b43e41 eclbasevanguard: pass parameters to updateOutputDir
to avoid typetag dependence in the code
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
6e3cce1fc4 eclbasevanguard: no reason for zoltanImbalanceTol to be a scalar
make it a double always
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
4dd5dc902b eclbasevanguard: no reason for externalSetupTime to be a scalar
make it a double always
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
dbf834518e eclbasevanguard: pass parameters to createParseContext
to avoid typetag dependence in the code
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
86bc095e3a eclbasevanguard: change canonicalDeckPath to std::string
makes use of filesystem an implementation detail
2021-05-11 09:15:11 +02:00
Markus Blatt
d462aee2f8
Merge pull request #3204 from akva2/collect_separate_compile_unit
CollectDataToIORank: move to separate compile unit
2021-05-07 08:55:47 +02:00
Arne Morten Kvarving
a4c0af09d9 fixed: do not use Opm:: prefix when inside namespace Opm 2021-05-05 11:59:18 +02:00
Bård Skaflestad
9ae3329c5f
Merge pull request #3202 from totto82/item9notSupported
add throw for unsupported positive item 9 in EQUIL
2021-05-03 15:13:14 +02:00
Arne Morten Kvarving
543dbe7114 CollectDataToIORank: move to separate compile unit
make it a template for grid types. this allows using
explicit template instantation and compile this code
only once per grid type, instead of once per simulator object.
2021-05-03 13:45:52 +02:00
Tor Harald Sandve
f71f0932c9 add throw for unsupported positive item 9 in EQUIL 2021-05-03 13:03:08 +02:00
Bård Skaflestad
7be6e5bbf1
Merge pull request #3196 from akva2/use_forwarding
Use forwarding where possible in some headers
2021-04-30 16:00:41 +02:00
Arne Morten Kvarving
a200853148 anonymize unused parameters to quell warnings 2021-04-30 13:09:25 +02:00
Arne Morten Kvarving
bce4590404 ebos headers: use forwarding 2021-04-29 12:36:38 +02:00
Joakim Hove
1de5c9539c
Merge pull request #3174 from joakim-hove/use-groupstate2
Use groupstate2
2021-04-27 14:15:49 +02:00
Joakim Hove
590c9443ec Record the correct simulation time in ActionState 2021-04-27 11:44:03 +02:00
Joakim Hove
e1d117c59f Extract group state and create WGState to manage well & group state 2021-04-27 10:55:38 +02:00
Joakim Hove
979279b31c Call endEpisode() for WellModel and Aquifer model 2021-04-26 14:14:58 +02:00
Kai Bao
2ee51c2e0d fixing the serial running due to including of eclmpiserializer.hh 2021-04-21 15:59:26 +02:00
Joakim Hove
763503d13c
Merge pull request #3134 from GitPaean/using_pinched_grid_numerical_aquifers
Using pinched grid for numerical aquifers
2021-04-21 13:03:58 +02:00
Kai Bao
06fa81f4e3 following interface change for processEcipseFormat 2021-04-20 11:27:15 +02:00
Tor Harald Sandve
c55864b1be extrapolate saltvd table 2021-04-20 09:24:26 +02:00
Kai Bao
9f360c5c6d fixing the mistakes due to rebasing 2021-04-14 13:16:30 +02:00
Kai Bao
364187aa1a updating NNC after grid processing for parallel case
numerical aquifers might modify NNCs during grid processing, while it
only updates in the root process. Other processes need to be updated
too.
2021-04-14 09:47:57 +02:00
Joakim Hove
c939ca90e6 Throw exception in not implemented function 2021-04-13 11:44:51 +02:00
Joakim Hove
138e3b2af3 Report cell volume removed due to MINPV/MINPVV 2021-04-12 21:44:42 +02:00
Bård Skaflestad
9def2fab12 Unpack Aquifer Subobjects Too
This is needed to properly communicate type-specific parameters to
other processes.  In particular, outputting the Carter-Tracy summary
vectors AAQTD and AAQPD needs this in a parallel simulation run.
2021-04-10 17:28:57 +02:00
Bård Skaflestad
160f20975b Support Block-Level Two-Phase Subsystem Kro Summary Output
This commit adds support for calculating and reporting block-level
values of the relative permeability of oil in the two-phase oil/gas
and oil/water subsystems of a three-phase simulation run.  These are
activated through summary keywords BKROG and BKROW, respectively.
2021-04-07 08:09:46 +02:00
Joakim Hove
b71a273ada Commit wellstate after appplyActions 2021-03-29 16:20:10 +02:00
Joakim Hove
98f6a9a7ac Update collection of wells after ACTIONX 2021-03-29 16:20:10 +02:00
Joakim Hove
405b9d2244 Add accessor functions to maintain WellState objects in well model 2021-03-29 15:30:32 +02:00
Bård Skaflestad
ee20d1c1c1
Merge pull request #3138 from totto82/debugThermal
Fix thermal conductivity
2021-03-27 13:59:59 +01:00
Tor Harald Sandve
ef325dd08d Store both inside and outside thermal half transmissibility 2021-03-26 15:29:05 +01:00
Tor Harald Sandve
838b230b64 Align the thermal transmissibility computations with the diffusion computations. 2021-03-26 15:28:17 +01:00
Joakim Hove
3d226abd24 Remove references to RestartConfig 2021-03-26 08:03:07 +01:00
Bård Skaflestad
498efe11a7
Merge pull request #3133 from GitPaean/fixing_segmentation_fault_drsdt
only when both oil and gas exist, we handle drsdt and drvdt
2021-03-25 12:03:28 +01:00
Kai Bao
6072cb20a2 only when both oil and gas exist, we handle drsdt and drvdt 2021-03-25 08:36:25 +01:00
Kai Bao
6061b5f5b0 updating the interface of function processEclipseFormat 2021-03-23 20:27:10 +01:00
Bård Skaflestad
120afea99a
Merge pull request #3079 from totto82/testDiff
FOR TESTING. Enable Diffusion by default
2021-03-19 23:49:19 +01:00
Bård Skaflestad
c220d7f127 Push 'corners' Object into Assert
That way we don't get "unused variable" warnings when someone
defines NDEBUG.  While here, also switch to using Geometry
references where appropriate to avoid needlessly copying Geometry
objects.
2021-03-19 09:42:27 +01:00
Joakim Hove
cd7c4d9927
Merge pull request #3112 from totto82/refact_ginj
Add support for explicit guiderate for injection groups
2021-03-18 17:03:53 +01:00
Tor Harald Sandve
3df75f5ab6
Merge pull request #3076 from totto82/drsdt_dyn
Implement convective dissolution rate
2021-03-18 08:45:46 +01:00
Tor Harald Sandve
f4ac7f555b Add support for explicit guiderate for injection groups
With this commit the guiderate logic used for the production groups is also used for injectors
This allows for setting guiderates explicit at different group levels
Only RATE, NETV and VOID guiderate type is suppored.
2021-03-16 15:56:31 +01:00
Kai Bao
24d5d73009 cleaning up comments
There is no functional change.
2021-03-15 21:15:56 +01:00
Kai Bao
116b77bd8a addressing the reviewing comments for PR OPM/opm-simulators#3039
putting the numerical aquifer related modification in a function and the
function is called after the equilibration calculation, so it will work
for different equilibration methods.
2021-03-15 10:21:40 +01:00
Kai Bao
9ecdca75d9 Merge remote-tracking branch 'upstream/master' into new_numerical_aquifer 2021-03-11 14:08:42 +01:00
Joakim Hove
16e6bc0d59 Remove superfluos function call 2021-03-10 10:44:39 +01:00
Arne Morten Kvarving
fd273f4802
Merge pull request #3107 from totto82/fixBoundaryIssueAgain
adapt to changes in opm-models
2021-03-09 14:42:57 +01:00
Tor Harald Sandve
0c66a38adf adapt to changes in opm-models 2021-03-09 09:44:53 +01:00
Joakim Hove
ec344d555d Pass ouput interval overeride to Schedule constructor 2021-03-08 19:30:58 +01:00
Joakim Hove
9ad5d69744 Utilize private restartconfig 2021-03-07 09:31:10 +01:00
Kai Bao
69619339a1 Merge branch 'master' into new_numerical_aquifer 2021-03-04 22:54:36 +01:00
Bård Skaflestad
4ed085ddc3
Merge pull request #3073 from joakim-hove/timemap-api
Remove timemap member from Schedule
2021-03-03 18:17:27 +01:00
Joakim Hove
b1c9e3a2cf Add comment about distribution 2021-03-01 16:51:10 +01:00
Joakim Hove
2184b6a64b
Revert "Use fmt::format() for two messages" 2021-03-01 14:43:15 +01:00
Markus Blatt
0644fba01b
Merge pull request #3088 from joakim-hove/use-active-index
Use active index
2021-03-01 09:22:25 +01:00
Joakim Hove
d8830c721b Use only active elements when updating reference porosity 2021-02-28 15:48:02 +01:00
Joakim Hove
66a8551f71 Use fmt::format() for two messages 2021-02-26 16:01:43 +01:00
Joakim Hove
74ca0d12e0 Use std::chrono::system_clock with 1/1000 second resolution 2021-02-25 23:50:25 +01:00
Joakim Hove
6f15765f53 Use Schedule time functions - avoid TimeMap 2021-02-25 18:10:22 +01:00
Tor Harald Sandve
ffe51aa346 return 0 diffusivity if diffusion in disabled 2021-02-25 15:22:01 +01:00
Tor Harald Sandve
48ad676010 only update diffusivity when DIFFUSIVE is in the deck 2021-02-25 11:14:12 +01:00
Tor Harald Sandve
60534d66b6 FOR TESTING. Enable Diffusion by default 2021-02-24 12:56:38 +01:00
Tor Harald Sandve
9aa4c415ad Implement convective dissolution rate
The convective DRSDT is activated with DRSDTCON
2021-02-23 12:45:50 +01:00
Kai Bao
a43c45e6ff setting numerical aquifer cells water saturation to 1.0
was removed accidently during cleaning up
2021-02-22 23:15:26 +01:00
Kai Bao
5e408ad71b trying to make the numerical aquifer runs in parallel
the current approach is not necessarily correct. When aquifer cells are
on the overlap layers, things are much more complicated.

But it mostly affects only the summary output of the numerical aquifers.
The well data should be fine.
2021-02-22 23:15:26 +01:00
Kai Bao
2b85e93ef6 some cleaning up
not functionality changes.
2021-02-22 23:15:26 +01:00
Kai Bao
524e63a255 adapting to the upstream interface change. 2021-02-22 23:15:26 +01:00
Kai Bao
c1a61e3b72 fixing the numerical aquifer related after rebasing 2021-02-22 23:15:26 +01:00
Kai Bao
a755b54afc rebasing and fixing the compilation.
The equilibration needs to be fixed for numerical aquifers.
2021-02-22 23:15:26 +01:00
Kai Bao
74f2fcd121 WIP in using pinched grid for numerical aquifer 2021-02-22 23:15:26 +01:00
Kai Bao
65bde5d65b making sure the aquifer cells have the correct cell volume
because AQUNUM can specify different cells volume, which is indepedent
of the grid coordinates.
2021-02-22 23:15:26 +01:00
Kai Bao
ef67d9a9e7 using the specified pressure for numerical aquifer
NOT totally sure how to use this pressure value, do we need to consider
the capillary pressure?
2021-02-22 23:15:26 +01:00
Kai Bao
80c0073a69 set water saturations for numerical aquifer cells to be 1. 2021-02-22 23:15:26 +01:00
Kai Bao
1d5b60a600 using the depth specified by numerical aquifer
for numerical aquifer cells, instead of the depth calculated from the
grid geometry.
2021-02-22 23:15:26 +01:00
Joakim Hove
a5c5dc2ec9
Merge pull request #3071 from joakim-hove/rft-config
Use ScheduleState for RFT configuration
2021-02-19 10:35:33 +01:00
Markus Blatt
d693c3da42
Merge pull request #3050 from joakim-hove/actionx-welpi
Support combination of ACTIONX and WELPI
2021-02-18 22:09:16 +01:00
Joakim Hove
aca3b246ae Add empty() methods for updateEclWell and wellPI in ebos 2021-02-18 16:53:50 +01:00
Joakim Hove
ff51c2d7ee Handle WELLPI keyword in ACTIONX
When an ACTIONX has evaluated to True we inspect the keyword payload and if it
contains WELPI we query the well model for current wellpi values and pass that
along as context to the Schedule::applyAction()
2021-02-18 16:53:50 +01:00
Tor Harald Sandve
4ca3c2af72 clean-up commented code 2021-02-18 13:49:35 +01:00
Joakim Hove
b92f06544c Use ScheduleState for RFT configuration 2021-02-18 10:47:59 +01:00
Tor Harald Sandve
1abbd9c776 add diffusivity to eclTranmissibility 2021-02-16 12:21:58 +01:00
Markus Blatt
fd7c4e3d24
Merge pull request #3053 from totto82/fixBoundaryMPI
fix boundary face index on process boundaries
2021-02-11 09:07:19 +01:00