Joakim Hove
bdeba973fb
Add regression testing for ACTIONX + WEFAC
2021-10-01 08:41:25 +02:00
Joakim Hove
33033cd6cc
Add actionx testing of GCONPROD
2021-10-01 08:41:25 +02:00
Joakim Hove
122678e5ea
Remove unused function argument
2021-10-01 08:34:58 +02:00
Joakim Hove
2f94f0436b
Remove irrelevant private functions
2021-10-01 08:34:27 +02:00
Joakim Hove
38d327b447
Add Some documentation to WellState
2021-10-01 08:26:41 +02:00
Joakim Hove
09920c8f54
Merge pull request #3562 from OPMUSER/master
...
Keyword Validation Fixes: GCONINJE, WTEST and AQUCT
2021-09-30 17:15:19 +02:00
Joakim Hove
2168b8c296
Merge pull request #3563 from totto82/openComp
...
open completions after well event
2021-09-30 16:43:39 +02:00
Tor Harald Sandve
1e547ff714
Merge pull request #3564 from totto82/moveCom
...
communicate before usage not after
2021-09-30 14:34:15 +02:00
Tor Harald Sandve
623ff2c3ce
communicate before usage not after
2021-09-30 11:54:56 +02:00
Tor Harald Sandve
dc8c9021b5
open completions after well event
2021-09-30 11:40:34 +02:00
Joakim Hove
6e37b9ae05
Merge pull request #3559 from joakim-hove/wtest-config-empty
...
Use WellTestConfig.empty() instead of size()
2021-09-30 10:31:17 +02:00
Tor Harald Sandve
986930850f
Merge pull request #3539 from totto82/wellOperIter
...
stop updating operability during iterations
2021-09-30 10:26:26 +02:00
OPMUSER
be7395a137
Keyword Validation Fixes: GCONINJE, WTEST and AQUCT
...
Keyword Validation Fixes: GCONINJE, WTEST and AQUCT. Just minor edsits
2021-09-30 16:14:40 +08:00
Tor Harald Sandve
cb9254636b
rename and cleanup
2021-09-30 09:01:07 +02:00
Tor Harald Sandve
bc8da79779
stop checking operability in the beginning of an timestep
2021-09-30 08:47:47 +02:00
Tor Harald Sandve
c9e93e6155
stop updating operability during iterations
2021-09-30 08:47:47 +02:00
Bård Skaflestad
e80408d1ed
Merge pull request #3560 from totto82/fixTime
...
fix date for large time steps also for the interface functions
2021-09-29 22:19:46 +02:00
Markus Blatt
af74de9a5b
Merge pull request #3558 from bska/detect-serializeOp-member
...
Serializer: Detect Existence of 'serializeOp' Member Function
2021-09-29 16:40:46 +02:00
Tor Harald Sandve
06878a8ca8
fix date for large time steps
2021-09-29 15:43:20 +02:00
Joakim Hove
d0c9f70839
Merge pull request #3556 from joakim-hove/flow-main-catch
...
Call MPI_Abort() in main catch all clause
2021-09-29 15:11:46 +02:00
Joakim Hove
21c2dd0c1d
Use WellTestConfig.empty() instead of size()
2021-09-29 15:05:23 +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
Bård Skaflestad
93a3e8bc1d
Merge pull request #3557 from joakim-hove/single-well-fixup
...
Use const reference
2021-09-29 11:53:54 +02:00
Joakim Hove
fc139e844e
Use const reference
2021-09-29 11:07:21 +02:00
Markus Blatt
f6ecacf1b7
Merge pull request #3551 from joakim-hove/pinfo-ws
...
Use SingleWellState to manage parallel well info
2021-09-29 09:59:00 +02:00
Joakim Hove
a527dc7fdd
Remove stale TODO
2021-09-28 23:45:40 +02:00
Joakim Hove
3aaaa23ed1
Implement connection rate summation in SingleWellState
2021-09-28 23:45:40 +02:00
Joakim Hove
86a0662381
Use std::reference_wrapper<> for parallel well info
2021-09-28 21:42:57 +02:00
Joakim Hove
cf340644b2
Add ParallelWellInfo member to SingleWellState
2021-09-28 21:42:57 +02:00
Joakim Hove
5d3e56baa3
Call MPI_Abort() in main catch all clause
2021-09-28 20:53:38 +02:00
Joakim Hove
56afec81b4
Merge pull request #3548 from joakim-hove/broadcast-udq+action
...
Broadcast UDQState and Action state after restart loading
2021-09-28 19:31:53 +02:00
Bård Skaflestad
0b8778e432
Merge pull request #3547 from totto82/makeWTESTrobust
...
Make wtest more robust
2021-09-28 12:06:10 +02:00
Atgeirr Flø Rasmussen
e5c85e88ce
Merge pull request #3552 from fgfuchs/cuda_improvements
...
cusparsesolver wrong size and type in cols,rows fixed
2021-09-28 11:41:17 +02:00
Tor Harald Sandve
c790b14753
Make WTEST more robust
...
Only open wells that are solvable, operable and economical
2021-09-28 10:07:12 +02:00
Joakim Hove
8943e90e17
Broadcast UDQState and Action state after restart loading
2021-09-28 09:54:15 +02:00
Tor Harald Sandve
70f11a2129
Merge pull request #3554 from joakim-hove/do-glift-opt
...
Remove unused query/switch code for GLO - it is always on
2021-09-28 09:05:35 +02:00
Joakim Hove
ef12186d78
Remove unused query/switch code for GLO - it is always on
2021-09-27 14:11:54 +02:00
Franz Georg Fuchs
a0ccd1e754
cusparsesolver wrong size and type in cols,rows fixed
2021-09-27 13:53:26 +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
064d134711
Add serialize test for UDQState
2021-09-25 11:51:59 +02:00
Joakim Hove
7c358b17df
Add serialise test for Action::State
2021-09-24 18:55:54 +02:00
Joakim Hove
1b7ef65509
Add serializer support for set - closely modelled after map
2021-09-24 18:55:54 +02:00
Arne Morten Kvarving
c6d2fc85ef
added: option to add a restart run to a regression test
...
this restarts the simulation at a specified step.
it then compares the results from this run to a separate,
existing regression data set.
2021-09-24 14:34:53 +02:00
Bård Skaflestad
b63a4ea3a3
Merge pull request #3546 from totto82/fixWSOL
...
updateWsolvent only after well container is created
2021-09-24 13:41:47 +02:00
Tor Harald Sandve
9381b0857b
updateWsolvent only after well container is created
2021-09-24 12:09:02 +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
5be027348a
Fix buggy interplay of parallel exceptions and communication.
...
There cannot happen any collective blocking communication within a
parallel try-catch clause if exceptions might be thrown before the
communication. The communication has to either be reached by all
processes or no processes.
2021-09-24 10:17:13 +02:00
Markus Blatt
f64230e462
Remove parallel try-catch from prepareTimeStep because of nestedness.
...
Although not declared as such, prepareTimeStep seems to be an internal
function (despite usage in a test) and hence error control can be done
in code calling it.
There was the following problem with the try-catch approach taken:
The calling site `BlackoilWellModel::assemble` looked like this:
```
OPM_BEGIN_PARALLEL_TRY_CATCH();
{
if (iterationIdx == 0) {
calculateExplicitQuantities(local_deferredLogger); // no parallel try-catch
prepareTimeStep(local_deferredLogger); //includes parallel try-catch
}
updateWellControls(local_deferredLogger, /* check group controls */ true);
// Set the well primary variables based on the value of well solutions
initPrimaryVariablesEvaluation();
maybeDoGasLiftOptimize(local_deferredLogger);
assembleWellEq(dt, local_deferredLogger);
}
OPM_END_PARALLEL_TRY_CATCH_LOG(local_deferredLogger, "assemble() failed: ",
terminal_output_);
```
calculateExplicitQuantities had no parallel-try-catch clause inside,
but prepareTimeStep had one.
Unfortunately, calculateExplicitQuantities might throw (on some
processors). In that case non-throwing processors will try to trigger a
collective communication (to check for errors) in
prepareTimeStep. While the one throwing will move to the
OPM_END_PARALLEL_TRY_CATCH_LOG macro at the end and also trigger a different
collective communication. Booom, we have a deadlock.
With this patch there is no (nested parallel)-try-catch clause in the
functions called. (And if an exception is thrown in prepareTimeStep, it
will be logged as being an assemble failure).
The other option would have been to add parallel-try-catch clauses
to all functions called. That would have created a lot more
synchronization points limiting scalability even further.
2021-09-24 10:15:28 +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