Commit Graph

301 Commits

Author SHA1 Message Date
Arne Morten Kvarving
3c525aefae changed: put ecl time stepping parameters in separate struct
this to allow reuse in ebos simulators
2023-08-30 11:22:22 +02:00
Vegard Kippe
f5c31588cb Quick fix.. 2023-08-25 14:01:51 +02:00
Arne Morten Kvarving
92fa9577da consistently use std::size_t 2023-08-15 09:32:10 +02:00
Markus Blatt
f20716eaf3 Rename LinearTimeSteppingBreakdown to TimeSteppingBreakdown. 2023-07-25 15:10:07 +02:00
Markus Blatt
fc9b1cccce Improve error message when time step is cut too often/much.
Changes
```
Program threw an exception: [/home/mblatt/src/dune/opm/opm-simulators/opm/simulators/timestepping/AdaptiveTimeSteppingEbos.hpp:586] Solver failed to converge after cutting timestep 11 times.
```
to
```
Simulation aborted: Solver failed to converge after cutting timestep 11 times.
```

Which seems more user friendly.
2023-07-12 16:18:29 +02:00
Atgeirr Flø Rasmussen
cbfe25d0f0 Add NLDD nonlinear solver option. 2023-06-23 16:24:18 +02:00
Atgeirr Flø Rasmussen
fb076a7acc
Merge pull request #4508 from akva2/simulatorreport_avoid_nan
SimulatorReport: protect against division by zero
2023-03-03 11:55:42 +01:00
Arne Morten Kvarving
0cb69ffaa8 SimulatorReport: protect against division by zero 2023-03-03 10:39:57 +01:00
Atgeirr Flø Rasmussen
c9ba0afea3 Silence warnings: struct/class, missing override. 2023-03-03 10:12:46 +01:00
Arne Morten Kvarving
c4e025190e AdaptiveTimeSteppingEbos: put consistentlyFailingWells in detail namespace
no reason for this to be a template
2023-03-02 12:37:13 +01:00
Arne Morten Kvarving
b232613623 AdaptiveTimeSteppingEbos: put logTimer in detail namespace 2023-03-02 12:37:13 +01:00
Arne Morten Kvarving
ebd53ee72d move StepReport into ConvergenceReport.hpp
there is no reason for this to be typetag dependent
2023-03-02 12:37:13 +01:00
Kai Bao
460aa5027b not considering wells with wrong flow direction as converged
under THP constraint, well can get converged with wrong flow direction
(e.g. a producer is injecting), becasue we cut off the wrong flow
direction as zero rate in the VFP evaluation
2023-02-24 14:30:45 +01:00
Arne Morten Kvarving
a21d59977d SimulatorReport: add serialization support 2023-02-16 11:56:40 +01:00
Arne Morten Kvarving
f0ca3120ff SimulatorReportSingle: add serialization support 2023-02-16 11:56:40 +01:00
Atgeirr Flø Rasmussen
358d9997ee Fix a few warnings in recently added code. 2023-02-14 15:46:08 +01:00
Arne Morten Kvarving
13a54bbdbb AdaptiveTimeSteppingEbos: add serialization support 2023-02-13 22:03:58 +01:00
Arne Morten Kvarving
5f6bc76512 PIDAndIterationCountTimeStepControl: add serialization support 2023-02-13 22:03:19 +01:00
Arne Morten Kvarving
1827de96a2 PIDTimeStepControl: add serialization support 2023-02-13 22:03:19 +01:00
Arne Morten Kvarving
87bc1d8c10 HardcodedTimeStepControl: add serialization support 2023-02-13 22:03:19 +01:00
Arne Morten Kvarving
bd538cf61d SimpleIterationCountTimeStepControl: add serialization support 2023-02-13 22:03:19 +01:00
Arne Morten Kvarving
f2a14b2d07 SimulatorTimer: add serialization support 2023-02-13 18:01:16 +01:00
Arne Morten Kvarving
4786deeffc SimulatorTimer: include boost header instead of forwarding
drop the pointer usage which was used to enable forwarding
2023-02-13 17:59:35 +01:00
Arne Morten Kvarving
382fd73fca SimulatorReportSingle: pass argument as std::ostream
no reason for this to explicitly be an ostringstream
2023-02-09 11:35:27 +01:00
Arne Morten Kvarving
cb3b50f4b7 SimulatorReportSingle: use in-class initializers
this way there are no explicit ctors, which again means
brace initialization works
2023-02-09 11:35:27 +01:00
Arne Morten Kvarving
1919f6ae54 std::string default construct to empty string 2023-02-08 15:26:39 +01:00
Arne Morten Kvarving
8beb8adfc6 replace typedef with using 2023-02-08 15:26:39 +01:00
Arne Morten Kvarving
02215964ae AdaptiveTimeSteppingEbos: add missing includes
and replace iostream with sstream which is actually in use
2023-02-08 15:26:39 +01:00
Kai Bao
899ab9b13d fix the running when solution does not change between time steps
The PID time step control will not pose any constraint on the time step
size by returning a largest possible time step size.
2023-02-02 22:36:43 +01:00
Arne Morten Kvarving
3745a4c02d clean up Units.hpp includes
include it where required instead of relying on other
headers to pull it in
2023-01-16 12:21:29 +01:00
Arne Morten Kvarving
1903a43971 AdaptiveSimulatorTimer: avoid <iostream> include in header 2023-01-03 15:25:20 +01:00
Arne Morten Kvarving
4abf4e6d38 TimeStepControl: avoid use of sstream 2023-01-02 15:23:48 +01:00
Arne Morten Kvarving
527280ab28 AdaptiveTimeSteppingEbos: avoid use of sstream 2023-01-02 15:23:34 +01:00
Arne Morten Kvarving
f17a90170d use exception classes from opm-common 2022-12-13 12:56:13 +01:00
Bård Skaflestad
3c63a7aa6d Capture Timestep's Non-Linear Convergence History
This enables outputting a formatted record of the limiting MB and
CNV quantities as time and non-linear iterations progress.  This, in
turn, is intended for diagnostic and analysis purposes and will not
be output unless specifically requested.

In particular, add a new type,

    ConvergenceReport::ReservoirConvergenceMetric

which captures the convergence metric type (MB or CNV) along with
the associate phase and numerical value of the convergence metric.
We add a vector of these convergence metric objects as a new data
member of the ConvergenceReport.

Finally, foreshadowing the intended use case, also store the report
time in the ConvergenceReport object.
2022-12-09 16:22:36 +01:00
Tor Harald Sandve
7b90d35f21 fixup from PR comments 2022-10-18 12:58:07 +02:00
Tor Harald Sandve
e1d36f32b8 add missing wellGroupTargetsViolated in ++ operator 2022-10-18 10:55:17 +02:00
Markus Blatt
fcc3690832 Added missing include of config.h in cpp files. 2022-10-12 15:28:38 +02:00
Arne Morten Kvarving
3b0b5b4708 changed: remove unneeded includes for ParameterGroup 2022-08-26 09:21:46 +02:00
Tor Harald Sandve
e2e0ec9dd9 fix to --shut-unsolvable-wells=true option 2022-04-05 14:42:27 +02:00
Tor Harald Sandve
ad799b3e80 Add more performance summary output
This commit ads: NEWTON, MLINEARS, MSUMLINS, MSUMNEWT, NLINEARS, NLINSMIN, NLINSMAX
2022-02-03 15:03:37 +01:00
Joakim Hove
6b92443cb4 Downstream filesystem reorganisation in opm-common 2022-01-02 14:33:34 +01:00
Markus Blatt
b0792db164 Include limits header where needed for g++-11
Without this compilation fails on Debian unstable.
2021-11-15 12:11:25 +01:00
Tor Harald Sandve
5717a95cb4
Merge pull request #3607 from totto82/operHist
Check operabiliy for wells under history
2021-10-19 09:03:34 +02:00
Joakim Hove
56c7c74016 Handle NEXTSTEP behavior in time stepper 2021-10-18 11:52:33 +02:00
Tor Harald Sandve
160c80b574 check operability history wells 2021-10-18 09:21:04 +02:00
Atgeirr Flø Rasmussen
dead95ba18
Merge pull request #3519 from totto82/continueOnConvergenceFailure
Option for continue on solver convergence failure
2021-10-14 09:31:23 +02:00
Joakim Hove
0c40771c7a
Merge pull request #3579 from joakim-hove/template-on-content-type
WTEST: only count actually closed wells.
2021-10-07 09:27:41 +02:00
Joakim Hove
eb2ca4798c Templatize over content type instead of full argument type 2021-10-06 12:11:44 +02:00
Atgeirr Flø Rasmussen
09a5320e21 Silence unused variable warning. 2021-10-06 08:52:06 +02:00