Commit Graph

3550 Commits

Author SHA1 Message Date
Bård Skaflestad
35ee6fa855
Merge pull request #4109 from akva2/serializer_split
Split up serializer and move main code to opm-common
2022-09-16 16:03:43 +02:00
Arne Morten Kvarving
301c33410a simplify and fix MPI packing for strings 2022-09-16 15:36:43 +02:00
Arne Morten Kvarving
c1c850538a added: command line option for zoltan customization
modeled after the linsolver support. a few built-in presets,
as well as reading options from a json file
2022-09-16 13:51:29 +02:00
Bård Skaflestad
5d0a4d588c
Merge pull request #4115 from akva2/janitoring
fixed: remove default constructor declaration
2022-09-16 13:15:36 +02:00
Arne Morten Kvarving
7362386d3d changed: split out serialization in separate class
make it a template over a packer.
make EclMpiSerializer an instance of this template with
a MPI based packer, and move broadcasting functionality
to the new class
2022-09-16 13:11:45 +02:00
Arne Morten Kvarving
975e096d4c changed: make container handlers in eclmpiserializer protected
users only use operator()
2022-09-16 11:59:40 +02:00
Tor Harald Sandve
b072cc1d5d Allow for gaslift for wells that violate thp limit but are not allowed to switch 2022-09-16 10:49:03 +02:00
Arne Morten Kvarving
c5fced81fa fixed: remove default constructor declaration
a class with a reference member cannot be default initialized,
so constructor is implicitly deleted. quells a clang warning
2022-09-16 09:19:42 +02:00
Arne Morten Kvarving
b1092c1a12 changed: refactor MPIPacker
to limit the overload party, we put packing details for
specific types in separate structs.
emit compiler error if unsupported type is given,
better to detect this on compile time rather than runtime
2022-09-15 14:04:41 +02:00
Arne Morten Kvarving
3a19ab31bd
Merge pull request #4106 from akva2/serializer_handle_tuples
changed: handle tuples in eclmpiserializer
2022-09-15 12:59:13 +02:00
Tor Harald Sandve
fe19d94b4e
Merge pull request #4110 from GitPaean/avoiding_overshoot_primary_variables
avoiding wrong sign for QTotal primary variable for top segment
2022-09-15 08:13:03 +02:00
Håkon Hægland
8b1bcb36bc Adds support for KRNUM 2022-09-14 15:34:41 +02:00
Kai Bao
2f19d4586e avoiding wrong sign for QTotal primary variable for top segment
for multisegment wells.
2022-09-14 14:21:03 +02:00
Kai Bao
734b9a792f removing function localWellsActive() 2022-09-14 14:17:02 +02:00
Atgeirr Flø Rasmussen
f3b536889d
Merge pull request #4097 from totto82/cleanDBG
remove computeBhpAtThpLimitProd() output from .DBG file
2022-09-14 10:11:50 +02:00
Arne Morten Kvarving
fdb2743ca9 changed: handle tuples in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 15:54:37 +02:00
Markus Blatt
e7d186b416
Merge pull request #4104 from akva2/serializer_handle_pairs
changed: handle all pairs in eclmpiserializer
2022-09-13 15:52:09 +02:00
Arne Morten Kvarving
57f2bb3ea7 fix build without MPI 2022-09-13 15:07:15 +02:00
Arne Morten Kvarving
f0bc0f42c6 changed: handle all pairs in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 14:44:52 +02:00
Kai Bao
83529b22c7 removing one usage of wellsActive() in numComponents 2022-09-13 14:31:56 +02:00
Arne Morten Kvarving
f159eb524b changed: handle all vectors in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 13:29:47 +02:00
Arne Morten Kvarving
6e83e349d6 changed: move variadic broadcast into EclMpiSerializer 2022-09-13 13:29:47 +02:00
Arne Morten Kvarving
75dbf60f7a
Merge pull request #4093 from akva2/serializer_handle_sets
changed: handle all sets in eclmpiserializer
2022-09-13 13:05:21 +02:00
Bård Skaflestad
7e44ddd2bd
Merge pull request #4100 from totto82/wvfpexp_user
remove WVFPEXP from unsupported keywords
2022-09-13 12:46:58 +02:00
Arne Morten Kvarving
dfa870c313 changed: handle all sets in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 12:39:07 +02:00
Bård Skaflestad
3fc8433cc8
Merge pull request #4092 from akva2/serializer_handle_arrays
changed: handle all arrays in eclmpiserializer
2022-09-13 12:38:36 +02:00
Tor Harald Sandve
f8d1d040ab
Merge pull request #4033 from totto82/fix_grsw_output
cleanup group switching output to terminal
2022-09-13 12:25:40 +02:00
Arne Morten Kvarving
4cd9272a76 changed: handle all arrays in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 12:08:39 +02:00
Kai Bao
4e1cc5bd5b determining wells_active_ based on well_containers_ size
instead of the information in wells_ecl_, which might include shut wells
2022-09-13 11:36:23 +02:00
Arne Morten Kvarving
603e44068c changed: handle all maps in eclmpiserializer
thus we can remove support in MPIPacker
2022-09-13 11:32:37 +02:00
Arne Morten Kvarving
c6beb479d3 changed: remove optional support in MPIPacker
handled by the serializer
2022-09-13 10:49:54 +02:00
Bård Skaflestad
56c653235f
Merge pull request #4087 from akva2/rename_serialization
Rename serialization files
2022-09-13 10:48:33 +02:00
Arne Morten Kvarving
4a81e5c92d fixed: remove forwarding in variadic functions
these are l-values so the forward call is a noop. if they
would be pr or x-values, forwarding multiple times is not
correct.
2022-09-13 10:16:55 +02:00
Kai Bao
b363138240 removing the function setWellsActive from BlackoilWellModelGeneric 2022-09-13 09:41:48 +02:00
Tor Harald Sandve
683ed0df1f remove WVFPEXP from unsupported keywords 2022-09-13 09:30:04 +02:00
Tor Harald Sandve
7571215f44 some cleanup 2022-09-13 08:33:51 +02:00
Arne Morten Kvarving
8e2b385f4d changed: put parts of ISTLSolverEbos in separate compile unit
in particular this means simulator objects are now not dependent
on FlexibleSolver.hpp and BdaBridge.hpp
2022-09-12 12:44:56 +02:00
Tor Harald Sandve
001d53858e remove computeBhpAtThpLimitProd() output from .DBG file 2022-09-12 09:29:37 +02:00
Tor Harald Sandve
3fecc92956
Merge pull request #4035 from totto82/energy_aquifer
fix analytical aquifers + energy
2022-09-12 07:33:03 +02:00
Markus Blatt
a4360b4961
Merge pull request #4028 from akva2/reduce_dup
changed: get rid of duplicate MatrixBlock headers/classes
2022-09-09 15:30:30 +02:00
Tor Harald Sandve
d2fc8a3d5e remove the logic that skips checking the group if it already changed 2022-09-09 10:58:36 +02:00
Tor Harald Sandve
702d824135 cleanup group switching output to terminal 2022-09-09 10:58:36 +02:00
Tor Harald Sandve
f36ac3eeed
Merge pull request #3837 from totto82/wvfpexp
Add option for explicit vfp lookup for problematic wells
2022-09-09 10:00:02 +02:00
Arne Morten Kvarving
c68d979d4b remove unused variables 2022-09-09 08:38:17 +02:00
Arne Morten Kvarving
58b0121e9b fixed: forward structs as struct 2022-09-09 08:37:59 +02:00
Arne Morten Kvarving
1838b39d2e changed: split ParallelRestart.hpp/cpp in two bits
the mpi serialization bit is put in MPISerializer.hpp/cpp,
while the parallel restart bit stays in ParallelRestart
2022-09-08 13:36:51 +02:00
Kai Bao
4e4606c705 removing unused setupCartesianToCompressed_ function
for BlackoilWellModel
2022-09-08 13:33:39 +02:00
Kai Bao
fc259fdb91
Merge pull request #4086 from GitPaean/better_naming_max_strict_iter
changing max_strict_iter_ to min_strict_cnv_iter_
2022-09-08 10:01:59 +02:00
Kai Bao
087eb56a64 changing max_strict_iter_ to min_strict_cnv_iter_
to make the naming reflect the actual usage more clearly.
2022-09-07 14:28:41 +02:00
Arne Morten Kvarving
bb0701ed01 remove unused serialization code 2022-09-07 10:10:16 +02:00
Markus Blatt
15ca494164
Merge pull request #4084 from akva2/tran_distribute_eclmpiserializer
changed: use EclMpiSerializer to distribute transmissibilities
2022-09-07 10:05:05 +02:00
Arne Morten Kvarving
e93e18a55d changed: use EclMpiSerializer to distribute transmissibilities 2022-09-07 09:39:15 +02:00
Arne Morten Kvarving
b53ab951d0 drop primitive serializer support for data:: types 2022-09-06 16:04:02 +02:00
Arne Morten Kvarving
5b81e9eaee fixed: do not include EclMpiSerializer without mpi 2022-09-06 14:03:32 +02:00
Arne Morten Kvarving
1d00ed47ba changed: use EclMpiSerializer in loadParallelRestart 2022-09-06 12:02:07 +02:00
Bård Skaflestad
459b116128
Merge pull request #4068 from akva2/segmentpressures_test
added: data::SegmentPressures mpiserializer test
2022-09-05 14:23:49 +02:00
Bård Skaflestad
674ce11265
Merge pull request #4071 from atgeirr/fix-cartmapping-wellcontrib
Use compressedIndexForInterior() for mapping cartesian indices.
2022-09-05 13:25:01 +02:00
Arne Morten Kvarving
a5c8ed50d5 added: data::SegmentPressures mpiserializer test 2022-09-05 13:05:46 +02:00
Atgeirr Flø Rasmussen
e9cba9e0c1 Use compressedIndexForInterior() for mapping cartesian indices. 2022-09-05 12:42:54 +02:00
Arne Morten Kvarving
6ff0d0cdc4 added: data::GuideRateValue mpiserializer test 2022-09-05 11:17:44 +02:00
Arne Morten Kvarving
237832b86d added: primitive serializer support for std::bitset 2022-09-05 11:17:27 +02:00
Tor Harald Sandve
8075c1218b
Merge pull request #4029 from totto82/fix_group_multilevel
Simplify and fix check for violation of GRUP for multiple level of guiderates
2022-09-02 12:59:34 +02:00
Tor Harald Sandve
3ad04d8326 fix analytical aquifers + energy 2022-09-02 08:57:55 +02:00
Bård Skaflestad
d5401eeb43
Merge pull request #4044 from atgeirr/fix-restart-initialization
Ensure intensive quantities are calculated at start of simulation.
2022-09-01 17:10:32 +02:00
Bård Skaflestad
93b059eca1
Merge pull request #4046 from akva2/mswellhelper_priv
make MSWellHelpers templates private
2022-09-01 16:44:15 +02:00
Bård Skaflestad
d1ba2ce5bc
Merge pull request #4045 from akva2/wellgrouphelper_priv
Make one more template private in WellGroupHelper
2022-09-01 16:33:43 +02:00
Arne Morten Kvarving
5052a09d6e make MSWellHelpers templates private 2022-09-01 15:17:04 +02:00
Arne Morten Kvarving
5d9ee32853 WellGroupHelpers: simply template instantation
use types for ParallelCommunication.hpp
2022-09-01 14:55:19 +02:00
Arne Morten Kvarving
2135a4268d WellGroupHelpers: make template private 2022-09-01 14:55:19 +02:00
Atgeirr Flø Rasmussen
92538b0612 Ensure intensive quantities are calculated at start of simulation.
Moving it ensures it is also done for restart simulation runs. Without
this, the well model will actually initialize the IQs, but only for
owned cells, not overlap/ghost cells, which caused parallel failure.
2022-09-01 14:00:42 +02:00
Arne Morten Kvarving
5824af3f1b use libfmt
also change from debug to error
2022-09-01 13:54:40 +02:00
Arne Morten Kvarving
6bd790fd16 avoid pointer semantics 2022-09-01 13:48:01 +02:00
Arne Morten Kvarving
a6517d6111 remove unused template 2022-09-01 13:37:54 +02:00
Arne Morten Kvarving
18d8914ef1 wellhelpers: remove indentation for namespaces 2022-09-01 13:37:11 +02:00
Arne Morten Kvarving
69db0dd175 wellhelpers: make templates private
to increase header encapsulation
2022-09-01 13:37:11 +02:00
Arne Morten Kvarving
2c0ff6f81e consistently use ParallelCommunication.hpp for communication definition 2022-09-01 12:26:11 +02:00
Arne Morten Kvarving
004e7e55fb avoid two communication calls
one less network latency cost
2022-08-31 12:54:47 +02:00
Tor Harald Sandve
3e27c23222 scale energy residual to have the same relative order as the mass balance residuals 2022-08-29 15:05:01 +02:00
Markus Blatt
c58a30068e
Merge pull request #4027 from aritorto/lambda
Code modernization
2022-08-26 12:19:47 +02:00
Bård Skaflestad
949bb6ecb5
Merge pull request #4031 from akva2/use_std_array
changed: consistently use std::array
2022-08-26 10:14:17 +02:00
Bård Skaflestad
17ef437993
Merge pull request #4032 from akva2/remove_param_group
changed: remove unneeded includes for ParameterGroup
2022-08-26 09:55:55 +02:00
Arne Morten Kvarving
3b0b5b4708 changed: remove unneeded includes for ParameterGroup 2022-08-26 09:21:46 +02:00
Antonella Ritorto
57183081c8 Code modernization
Change from Functor class to functions.
2022-08-26 08:54:48 +02:00
Arne Morten Kvarving
a9590215dc changed: consistently use std::array 2022-08-26 08:28:46 +02:00
Arne Morten Kvarving
71ca7a0c40 changed: no need to pull in polyhedralgrid if it is not used 2022-08-26 08:25:05 +02:00
Tor Harald Sandve
9b7ba49495 Simplify and fix check for violation of GRUP for multiple level of guiderates 2022-08-25 16:09:53 +02:00
Arne Morten Kvarving
1a348c0d29 changed: get rid of duplicate MatrixBlock headers/classes
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.

the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-25 12:48:53 +02:00
Atgeirr Flø Rasmussen
432df26ecc
Merge pull request #4025 from bska/remove-dune-unused
Prefer Attributes to Macros
2022-08-25 08:29:33 +02:00
Bård Skaflestad
a56cd6752c
Revert "changed: reduce some code duplication" 2022-08-24 20:34:52 +02:00
Bård Skaflestad
f3fc5331f0 Prefer Attributes to Macros 2022-08-24 17:05:55 +02:00
Bård Skaflestad
e66c7f6444
Merge pull request #4022 from akva2/reduce_dup
changed: reduce some code duplication
2022-08-24 16:53:16 +02:00
Bård Skaflestad
fe04df94e6
Merge pull request #4023 from atgeirr/fix-packing
Add packing support for classes needing it.
2022-08-24 16:44:06 +02:00
Atgeirr Flø Rasmussen
c0e5996b70
Merge pull request #4024 from atgeirr/silence-override-warning
Add override qualifier to silence warning.
2022-08-24 16:07:04 +02:00
Arne Morten Kvarving
447d77b579 changed: get rid of duplicate MatrixBlock headers/classes
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.

the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-24 15:54:01 +02:00
Atgeirr Flø Rasmussen
6cf02813e5 Add override qualifier to silence warning. 2022-08-24 15:36:56 +02:00
Atgeirr Flø Rasmussen
51e5459be5 Add packing support for classes needing it.
Since Rates is not longer a POD, it needs explicit
packSize()/pack()/unpack() support. This also applies
to classes containing Rates, namely Connection and Segment.
Similarly, SegmentPressures is not a POD.
2022-08-24 15:11:27 +02:00
Bård Skaflestad
6d3d64a843
Merge pull request #4015 from GitPaean/handling_numerical_aquifer_no_connection
ignoring analytical aquifers without valid connections
2022-08-24 09:59:26 +02:00
Kai Bao
c25e1392ba ignoring analytical aquifers without valid connections 2022-08-23 15:50:50 +02:00
Arne Morten Kvarving
3faccb4a17 changed: reduce some code duplication 2022-08-23 09:31:27 +02:00
Arne Morten Kvarving
3ef07d7f62 changed: put ParallelOverlappingILU0 in separate compile unit
i chose to split in a separate _impl file because this code is so
generic that there may be downstream users who want to use on other
matrix types than what we use in opm-simulators.
2022-08-22 11:21:31 +02:00
Markus Blatt
c631a4ee63
Merge pull request #4018 from akva2/preconditionerfactory_separate
changed: split PreconditionerFactory in _impl file
2022-08-22 10:16:45 +02:00
Arne Morten Kvarving
ec089af048 changed: split PreconditionerFactory in _impl file
and put instances in separate cpp files.
2022-08-22 09:33:15 +02:00
Atgeirr Flø Rasmussen
04fe35a82e
Merge pull request #4013 from GitPaean/num_aquifer_construct_simpli
simplifying the constructor for AquiferNumerical
2022-08-22 08:20:34 +02:00
Markus Blatt
e7cc14de4c Revert: Split PreconditionerFactory in _impl file
This reverts commit 7f8c88769e.
Apparently the macros unconditionally use Classes that are only
there for parallel builds.
2022-08-19 14:42:55 +02:00
Arne Morten Kvarving
7f8c88769e changed: split PreconditionerFactory in _impl file
and put instances in separate cpp files.
2022-08-19 12:43:28 +02:00
Tor Harald Sandve
0f969dd7a5 check ipr for wells prevented to change to thp 2022-08-19 10:48:56 +02:00
Tor Harald Sandve
7a8eed6a6c adapt to renaming in opm-common 2022-08-19 10:33:19 +02:00
Tor Harald Sandve
96222f8afb dont use explicit vfp lookup for newly opened wells 2022-08-19 10:33:19 +02:00
Tor Harald Sandve
9364d4c54b Add option for wvfpexp item 2 plus minor fixes 2022-08-19 10:33:19 +02:00
Tor Harald Sandve
e875849497 Adapt test cases and vfpprint 2022-08-19 10:33:19 +02:00
Tor Harald Sandve
b1b23a57de Add option for explicit vfp lookup for problmatic wells 2022-08-19 10:33:19 +02:00
Bård Skaflestad
b87154223b Restore Non-MPI Builds
Commit 371b2592f misordered the closing brace of a namespace and
the conditional declarations dependent upon MPI availability.  This
commit restores the expected order and fixes non-MPI builds.
2022-08-18 16:08:41 +02:00
Kai Bao
d69c80b84a simplifying the constructor for AquiferNumerical
removing the unused global_cell and avoid the unnecessary construction of cartesianToCompressed
2022-08-18 15:55:04 +02:00
Arne Morten Kvarving
371b2592f5 changed: put ParallelIstlInformation in separate compile unit 2022-08-18 09:15:28 +02:00
Atgeirr Flø Rasmussen
c94ff12e4c Bugfix and simplification of cartesian mapping.
We already have the mapping available, and using the equilGrid() is only valid
on rank 0.
2022-08-17 14:13:13 +02:00
Bård Skaflestad
1ca731a388
Merge pull request #4007 from atgeirr/limit-terminal-warnings-during-deck-input
Limit warnings to terminal during deck input.
2022-08-16 18:20:05 +02:00
Atgeirr Flø Rasmussen
04180031e1 Limit warnings to terminal during deck input.
With this, the tag limit of 10 is used from the very start of the run,
and not only after the deck has been read.
2022-08-16 14:43:07 +02:00
Arne Morten Kvarving
a32a32649d changed: put MILU in separate compile unit 2022-08-16 10:46:20 +02:00
Arne Morten Kvarving
d2ba2e75e8 remove include of Well header 2022-08-11 11:49:42 +02:00
Arne Morten Kvarving
4917c860fe BlackOilAquiferModel: use aquifers through base interface 2022-08-11 10:04:49 +02:00
Arne Morten Kvarving
271d5bee3a added: (re)introduce AquiferInterface
now a base class for both analytical and numerical aquifers
2022-08-11 09:59:49 +02:00
Arne Morten Kvarving
f166920e75 changed: rename AquiferInterface to AquiferAnalytical 2022-08-11 09:59:49 +02:00
Arne Morten Kvarving
66b4f1edb7 Aquiferxxx: some modernization
- typedef -> using
- use constexpr
2022-08-11 09:59:46 +02:00
Bård Skaflestad
e73d3368e0
Merge pull request #3989 from Tongdongq/tweak-opencl-launch-params
Tweak opencl launch params v2
2022-08-10 14:22:52 +02:00
Tong Dong Qiu
18d9f8cca7 Include missing header 2022-08-10 14:03:32 +02:00
Atgeirr Flø Rasmussen
a5c8d40cfa Remove unneeded timeIdx arguments, also silence other warnings. 2022-08-10 10:01:54 +02:00
Tong Dong Qiu
58b20fe2fb Tweak ILU opencl kernel launch params 2022-08-09 13:39:35 +02:00
Tong Dong Qiu
d0aa42e9e3 Reduce source code line lengths 2022-08-09 13:38:57 +02:00
Tong Dong Qiu
5607329b05 Backport to fix ChowPatelIlu 2022-08-09 11:49:47 +02:00
Atgeirr Flø Rasmussen
90e8a9af69 Do not change true impes weights. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
322dcbfb36 Make getWaterFlux() take const ref argument. Minor formatting cleanups. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
cabe64cc58 Further reduction of modifications. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
5fba14373b Modification to reduce PR to minimal changes. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
5042b02138 Rename method and move to impl file. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
0da2b68e0b Adapt to changed interface. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
b1bcab31b9 Refactor addToSource to add interface not using element context. 2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
66a1c46413 Remove unused code branch. 2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
5d0ae333f4 Fix: add template argument. 2022-08-09 11:09:48 +02:00
hnil
f751279841 fixed true impes for new code 2022-08-09 11:09:48 +02:00
hnil
4f6755025c -prototype on trueimpes in new system
-probably better threading
2022-08-09 11:09:48 +02:00
hnil
6d3b0a7c1f tried to make openmp work 2022-08-09 11:09:48 +02:00
hnil
5a39724606 added functions for direct setting of well rates contribution to reservoir 2022-08-09 11:09:48 +02:00
hnil
8f5e0940fe restructuring to be able to call without local indices 2022-08-09 11:09:48 +02:00
hnil
d53b6ad9fa added spesialisation for using simple property updating 2022-08-09 11:09:48 +02:00
hnil
060877a08b runs first steps of norne 2022-08-09 11:09:48 +02:00
hnil
95308d7d02 ensure intensive quantities is updated 2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
93ce28e9a2
Merge pull request #3972 from ElyesAhmed/alugrid2
Alugrid2
2022-08-04 15:43:24 +02:00
Arne Morten Kvarving
36b167b451 remove use of Unused.hpp 2022-08-02 11:53:54 +02:00
Markus Blatt
af28030123
Merge pull request #3983 from blattms/fix-perf-all-zero
[bugfix] Fixes deadlocks with agressively distributed wells
2022-07-29 09:37:10 +02:00
Elyes Ahmed
5c2b60bcd0 rebasing 2022-07-28 20:40:34 +02:00