Commit Graph

352 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
09a5320e21 Silence unused variable warning. 2021-10-06 08:52:06 +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
06878a8ca8 fix date for large time steps 2021-09-29 15:43:20 +02:00
Tor Harald Sandve
a550400fa0 Continue on solver convergence failure 2021-09-10 13:49:20 +02:00
Arne Morten Kvarving
08e950686f use .empty() instead of .size() comparisons 2021-08-04 09:19:03 +02:00
Arne Morten Kvarving
ce01d780cf SimulatorTimerInterface: avoid boost includes in header 2021-06-08 15:44:56 +02:00
Arne Morten Kvarving
fce3247c56 AdaptiveTimeSteppingEbos: avoid boost include in header 2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
30d4cbc2f2 AdaptiveSimulatorTimer: void boost includes in header 2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
fcb5d3dd82 SimulatorTimer: avoid boost includes in headers 2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
04e856f831 SimulatorTimer: mark methods override 2021-06-08 15:32:58 +02:00
Arne Morten Kvarving
2460d950b1 remove unused boost include 2021-06-08 15:17:18 +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
a4c0af09d9 fixed: do not use Opm:: prefix when inside namespace Opm 2021-05-05 11:59:18 +02:00
Joakim Hove
e1fe527719 Change output to indicate start of time step 2021-04-10 13:37:12 +02:00
Atgeirr Flø Rasmussen
c6431c2f04
Merge pull request #3042 from totto82/changeDefaultMinTimeStepShutting
change default MinTimeStepBeforeShuttingProblematicWellsInDays to 0.01
2021-04-07 08:04:05 +02:00
Bård Skaflestad
41fd301d16
Merge pull request #3131 from fgfuchs/global_time_fix
fix bug that sets global_time to 0
2021-03-23 15:51:47 +01:00
Franz Georg Fuchs
b86d5e2ad0 fix bug that sets global_time to 0 2021-03-23 12:19:07 +01:00
Tor Harald Sandve
1582d92d06 Change minimum timestep size to 1e-12
the unit is days for field and metric and hours for lab
the purpose is to shut down "dead" simulations
2021-03-18 10:45:26 +01:00
Franz Georg Fuchs
d13cf3ee6a fix ordering of first line in *INFOSTEP files 2021-03-11 11:22:58 +01:00
Kai Bao
347ca3978a adding parameter to control the min time step
can be reduced to based on the newton iteration counts.

By default it is zero, so it should not change any running results.
2021-03-10 11:49:59 +01:00
Joakim Hove
6f15765f53 Use Schedule time functions - avoid TimeMap 2021-02-25 18:10:22 +01:00
Tor Harald Sandve
38a394dcc2 change default MinTimeStepBeforeShuttingProblematicWellsInDays to 0.01 2021-02-19 09:12:36 +01:00
Tor Harald Sandve
fbcd230eb2 substitute solveWellEq with one inner solve for newly opened wells 2021-01-18 15:12:17 +01:00
Tor Harald Sandve
6b7c0e630a report pre/post time 2020-12-10 13:40:41 +01:00
Alf Birger Rustad
25b12428be Less aggressive growth dampoing factor 2020-11-09 11:45:13 +01:00
Alf Birger Rustad
553a408b13 Set number directly instead of fraction and update comments 2020-11-09 09:13:20 +01:00
Alf Birger Rustad
2fc9b03af4 Switched time step control and changed damping factor for it 2020-11-09 08:40:31 +01:00
Atgeirr Flø Rasmussen
2aeefc71c1
Merge pull request #2827 from totto82/timestepping
add options for timestepping
2020-10-13 14:25:26 +02:00
Atgeirr Flø Rasmussen
f262eec9bf Silence warnings from range-for. 2020-10-12 09:39:37 +02:00
Arne Morten Kvarving
3db98e3bef fix typo 2020-10-06 12:36:27 +02:00
Alf Birger Rustad
958f368ce7 indent 2020-10-03 12:25:47 +02:00
Alf Birger Rustad
207d2678fa Fix indent 2020-10-03 12:23:46 +02:00
Alf Birger Rustad
5a8f274c36 Typo and white space 2020-10-03 12:21:05 +02:00
Alf Birger Rustad
3204b55a35 Forgot two 2020-10-02 15:20:23 +02:00
Alf Birger Rustad
885c182b7e Added one more decimal for hundreds of a second. 2020-10-02 15:13:41 +02:00
Alf Birger Rustad
3832be4f28 Typo 2020-10-02 14:27:51 +02:00
Alf Birger Rustad
a25868dc52 Untabify and add three missing parantheses 2020-10-02 14:26:09 +02:00
Alf Birger Rustad
9e89883aec Allow more digits in simulation time 2020-10-02 14:18:06 +02:00
Alf Birger Rustad
a081394f32 Fixed alignement 2020-10-02 14:06:25 +02:00
Alf Birger Rustad
7cebf7fb5a Added space 2020-10-02 12:48:35 +02:00
Alf Birger Rustad
e68db6dbda Converted to fmt formatting 2020-10-02 12:46:45 +02:00
Alf Birger Rustad
845eb17d28 Formatted seconds and percent in final report. 2020-10-02 09:31:49 +02:00
Alf Birger Rustad
90b2e8b8ef Compacted time step report 2020-10-01 22:42:20 +02:00
Tor Harald Sandve
6b3a64bd40 add options for timestepping 2020-10-01 14:46:58 +02:00
Joakim Hove
c059653fa0 Add #include <opm/common/Exceptions.hpp> 2020-09-21 19:25:52 +02:00
Kai Bao
7b4142e9b6 adding timing for the well assembly
And changes the indentation of the linear solver setup time a little to
show it is part of the linear solve time.
2020-09-08 11:12:41 +02:00
Arne Morten Kvarving
7305f84351 use std::make_unique where applicable 2020-09-02 15:35:39 +02:00
Arne Morten Kvarving
182ec130b1 fixed: use const refs in foreach constructs
avoids unnecessary copies
2020-09-01 13:25:26 +02:00
Arne Morten Kvarving
93a3ebf8f7 changed: remove NEW_PROP_TAG macro usage 2020-08-28 10:44:53 +02:00
Arne Morten Kvarving
7d853d2e05 changed: remove SET_SCALAR_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
fca83318aa changed: remove SET_INT_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
a79c37a041 changed: remove SET_STRING_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
0e71c0e29b changed: remove SET_BOOL_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
e8248b44ff changed: remove NEW_TYPE_TAG macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
70908d9017 changed: remove BEGIN_PROPERTIES/END_PROPERTIES macro usage 2020-08-21 15:50:35 +02:00
Atgeirr Flø Rasmussen
a75d21e403 Fix bug in well closing, and allow more chopping by default. 2020-06-02 12:44:46 +02:00
Bernd Flemisch
21df1cbe31 [properties] adapt to changes in the property system
`NEW_PROP_TAG` is now a definition and not just a declaration.
Eliminate superfluous declarations, include headers with definitions.
Make one necessary forward declaration explicit.
2020-05-18 15:54:26 +02:00
hnil
94a27afdd0 made constuctor consistent with updateTuning 2020-05-14 21:31:18 +02:00
Atgeirr Flø Rasmussen
cf7b258f72 Minor adjustments from review. 2020-05-08 09:21:25 +02:00
Atgeirr Flø Rasmussen
561bec4a64 Make CASENAME.STEPINFO the name of the step info report file. 2020-05-07 22:29:01 +02:00
Atgeirr Flø Rasmussen
9458357009 Use = rather than += when appropriate for reports. 2020-05-07 22:09:17 +02:00
Atgeirr Flø Rasmussen
9dd2275af9 Remove seconds and add timestep to ITERINFO report. 2020-05-07 21:19:31 +02:00
Atgeirr Flø Rasmussen
769028b591 Remove 'verbosity' member and reorganize. 2020-05-07 21:00:39 +02:00
Atgeirr Flø Rasmussen
8dd53a38e9 Refactor SimulatorReport system.
Now SimulatorReport object contains a vector of SimulatorReportSingle objects,
for both successful and failing steps.
2020-05-07 16:13:39 +02:00
Atgeirr Flø Rasmussen
cfdb2b9be6 Modifications of formatting, compile fix. 2020-05-07 15:04:20 +02:00
hnil
0f33835e67 added writing of detailed performance report 2020-05-07 11:37:24 +02:00
Atgeirr Flø Rasmussen
a1091bd718 Stop simulating if the schedule has set an exit condition.
The program will return the value set in the EXIT keyword.
2020-04-16 15:42:17 +02:00
Tor Harald Sandve
66931b9cb7 Various fixes and refactoring.
- Communicate all well rates.
 - When changing controls, modify rates to satisfy failed constraint.
 - Ensure targets are positive.
 - Always solve for potentials for MSW (temporary fix).
2020-04-02 13:57:05 +02:00
Arne Morten Kvarving
39f5e49289 remove unused boost include 2020-02-19 11:20:16 +01:00
Arne Morten Kvarving
df62305673 update for simplified Tuning data structure in opm-common 2020-01-31 13:45:05 +01:00
Tor Harald Sandve
9924ba48a1 at option to set the time step size for shutting problematic wells 2019-12-18 11:18:18 +01:00
Tor Harald Sandve
b577f294b5 Add option for throwing for small time steps 2019-12-02 09:56:19 +01:00
Atgeirr Flø Rasmussen
5211217c94 Whitespace fixes (tabs->spaces, reformatted new files). 2019-10-11 15:57:51 +02:00
Halvor M. Nilsen
d873ae165d Enable single-phase runs. 2019-10-11 08:19:18 +02:00
Kai Bao
9a2fcdbfd5 fixing warnings in other folder under opm-simulators 2019-06-26 10:48:41 +02:00
Atgeirr Flø Rasmussen
5749a7150c Move files out of opm/core/simulator. 2019-06-20 11:00:52 +02:00
Alf Birger Rustad
d8b4bbb0be Adding time and date to time step report 2019-06-18 14:01:08 +02:00
Atgeirr Flø Rasmussen
8ae671eb86
Merge pull request #1871 from totto82/fix_segfault
fix segfault when no well report is registred
2019-06-06 08:57:56 +02:00
Tor Harald Sandve
4c4921c6b2 fix segfault when no well report is registred 2019-06-03 09:22:04 +02:00
Andreas Lauser
8657f18075 EclProblem: remove the isSubstep parameter from writeOutput()
Now that the book keeping for time stepping is correct even in `flow`,
this parameter has become redundant.
2019-05-13 13:05:39 +02:00
Tor Harald Sandve
8a4117441c Make sure that the convergece report is stored before throw 2019-04-25 10:33:39 +02:00
Atgeirr Flø Rasmussen
23edd39c63 Revise logic of shutting wells vs. chopping step.
An infinite loop was possible if no wells were actually shut,
yet the step was restarted with no chopping.
2018-12-03 13:25:19 +01:00
Atgeirr Flø Rasmussen
8bd3cbc1c1 Only shut down wells if under prediction-type control. 2018-11-23 12:51:13 +01:00
Atgeirr Flø Rasmussen
1979fc8f5d Avoid deep chopping by shutting down misbehaving wells. 2018-11-22 16:24:52 +01:00
Atgeirr Flø Rasmussen
9167d08839 Limit timestep when we have THP constraints present.
Using 16 days as the current limit. Could be made a user parameter.
2018-11-22 11:03:18 +01:00
Arne Morten Kvarving
f027262ec4 remove files 2018-11-16 14:53:37 +01:00
Markus Blatt
8cafb0e92a Make MPI calls in gatherConvergenceReport with void* instead of const void*
Fixes compilation of PR #1612 with open-mpi 1.6.5.
Compiler complained about not being able to transform const void* to void*
as needed by MPI.
2018-11-15 09:30:51 +00:00
Atgeirr Flø Rasmussen
6e7cc756de Move implementation of gatherConvergenceReport() to cpp file.
No templates involved, no reason to keep it in header. This also makes
building more robust by only invoking HAVE_MPI in the cpp file, after
including config.h.
2018-11-13 14:01:01 +01:00
Atgeirr Flø Rasmussen
566f6813dd Created gatherConvergenceReport() function and test. 2018-11-13 10:30:32 +01:00
Atgeirr Flø Rasmussen
576852b299 Remove cell_index from ReservoirFailure struct. 2018-11-13 10:19:15 +01:00
Tor Harald Sandve
5edd63c554 flow: let the wells be managed by EclProblem 2018-11-08 10:40:28 +01:00
Atgeirr Flø Rasmussen
671ed75535 Made ReservoirFailure and WellFailure into classes. 2018-10-25 13:08:16 +02:00
Atgeirr Flø Rasmussen
852765a65b Address review comments. 2018-10-25 12:12:06 +02:00
Atgeirr Flø Rasmussen
2bf4d15285 Rename ConvergenceStatus -> ConvergenceReport. 2018-10-25 11:57:47 +02:00
Atgeirr Flø Rasmussen
37d4327ce3 Add Pressure equation type (for multisegment wells). 2018-10-23 14:04:27 +02:00
Atgeirr Flø Rasmussen
42cb36ab9f Improve severity feature, add severityOfWorstFailure(). 2018-10-23 11:28:32 +02:00
Atgeirr Flø Rasmussen
34afb0b254 Add severity (normal, too large, nan) to failure objects. 2018-10-23 10:52:34 +02:00
Atgeirr Flø Rasmussen
892b24c435 Make well failure types more informative.
Separating control eq failures with THP, BHP and Rate.
2018-10-23 10:26:39 +02:00
Atgeirr Flø Rasmussen
891912b04a Add ConvergenceFailure class and test. 2018-10-23 10:03:13 +02:00
Andreas Lauser
43ac2e36c6 remove the Flow prefixes of parameters only used by flow
this has been requested by [at]atgeirr.

Note: The FlowLinearSolverVerbosity, FlowNewtonMaxIterations and
FlowNewtonMinIterations parameters are still prefixed because they
clashes with parameters registered deeply within eWoms.
2018-08-15 23:34:32 +02:00
Andreas Lauser
b5cddef928 flow: switch it to use the eWoms parameter system
this has several advanges:

- a consistent and complete help message is now printed by passing the
  -h or --help command line parameters. most notably this allows to
  generically implement tab completion of parameters for bash
- the full list of runtime parameters can now be printed before the simulator
  has been run.
- all runtime parameters understood by ebos can be specified
- no hacks to marry the two parameter systems anymore
- command parameters now follow the standard unix convention, i.e.,
  `--param-name=value` instead of `param_name=value`

on the negative side, some parameters have been renamed and the syntax
has changed so calls to `flow` that specify parameters must adapted.
2018-08-15 23:34:32 +02:00
Tor Harald Sandve
b1e03d5196
Merge pull request #1523 from atgeirr/fix-currentDateTime
Cast argument for milliseconds() call to an integer.
2018-06-28 07:51:53 +02:00
Andreas Lauser
c794028bcf flow: fix the time held by the simulator object 2018-06-27 12:13:50 +02:00
Atgeirr Flø Rasmussen
53e46ca017 Cast argument for milliseconds() call to an integer.
Apparently required by boost::posix_time::milliseconds.
2018-06-27 11:11:27 +02:00
Andreas Lauser
37b6a540af remove BlackoilOutputEbos
after the actual output writing code has been moved to core ebos, this
was just a unnecessary glue layer for API compatibility.
2018-06-06 10:59:41 +02:00
Andreas Lauser
dfbc24b35f flow: avoid wrangling around with dummy state objects
these objects are only used by flow_legacy, so not having to deal with
them anymore lets non-legacy flow avoid to jump through a lot of hoops
for the sake of having a common API.

this required a fork of the NonlinearSolver and AdaptiveTimeStepping
classes. this is not a problem because the original classes would get
pruned to look like the new ones once flow_legacy gets moved out of
the opm-simulators module.
2018-06-06 10:59:41 +02:00
Tor Harald Sandve
7c9dab1a64 Add reportStep method in SimulatorReport and use it 2018-03-12 14:48:34 +01:00
Atgeirr Flø Rasmussen
cf9b7c39b9 Adapt to moved opm-grid headers. 2018-02-10 08:33:33 +01:00
Andreas Lauser
7f3a9f1f43 catch NumericalIssue instead of NumericalProblem
the underlying problem is that the OPM build system does not define a
HAVE_OPM_COMMON macro in config.h.
2018-02-08 12:02:25 +01:00
Atgeirr Flø Rasmussen
532403c5fb
Merge pull request #1391 from totto82/RFIP
Use FIP, EGRID and INIT output code in ebos.
2018-02-06 12:54:01 +01:00
Arne Morten Kvarving
141186ad1d changed: opm/[core -> common]/utility/parameters 2018-01-30 16:33:45 +01:00
Tor Harald Sandve
b38430ea2e Output TCPU for every substep. 2018-01-29 08:56:55 +01:00
Atgeirr Flø Rasmussen
2bf880fadd
Merge pull request #1351 from totto82/changeDefaultTimeStep
Use 1 day as default initial time step
2017-11-29 10:01:15 +01:00
Tor Harald Sandve
a1dbeec4d4 Use 1 day as default initial time step 2017-11-28 15:12:48 +01:00
Tor Harald Sandve
e350c04871 Fix date for long simulation times 2017-11-28 13:37:00 +01:00
Tor Harald Sandve
c03dbc1693 Support TUNING in schdule section. 2017-11-21 11:12:16 +01:00
Alf B. Rustad
7dba2c4d70 Format fix-up 2017-11-17 08:25:22 +01:00
Alf B. Rustad
ad68c05982 Change substep to time step in logging 2017-11-17 08:25:21 +01:00
Andreas Lauser
64d7366de2 mark the non-template methods of the adaptive time stepper as inline
this is needed to avoid linker errors if this class ought to be used
in multiple compile units. IMO the main problem here is the use of an
_impl.hpp file.
2017-10-06 15:34:59 +02:00
Markus Blatt
b89aa1fa4a Added initialStep to SimulatorTimerInterface 2017-07-20 12:11:11 +02:00
Rohith Nair
7500d3eb0c edit 2017-06-26 12:46:09 +02:00
Rohith Nair
84ca3cd9b9 Removes multiple problem logging for linear solver convergence failure 2017-06-26 12:21:44 +02:00
Joakim Hove
66931cb030 Changed to TimeMap api - using std::time_t 2017-06-19 14:03:14 +02:00
Rohith Nair
2976b62d75 Add cause_of_failure for NumericalProblem 2017-06-12 10:48:07 +02:00
Rohith Nair
073e4ce839 Add cause_of_failure for LinearSolverProblem 2017-06-12 10:28:38 +02:00
Rohith Nair
18dfe1783b remove debug info from terminal output for convergence failure 2017-06-11 22:32:46 +02:00
Rohith Nair
c1e76d6b51 edit 2017-06-07 14:49:00 +02:00
Rohith Nair
deaf90f211 edit 2017-06-07 14:47:45 +02:00
Rohith Nair
58285bb8f8 edit 2017-06-07 14:46:04 +02:00
Rohith Nair
348cb5e5a4 Changes made as requested 2017-06-07 14:40:18 +02:00
Rohith Nair
c12665e04f -Added exception TooManyIterations
-Combined log messages from NonLinearSolver_impl.hpp and AdaptiveTimeStepping_impl.hpp
2017-06-07 10:37:25 +02:00
Tor Harald Sandve
434f96db0a FIX output the correct next timestep after convergece failure 2017-05-29 09:48:34 +02:00
Arne Morten Kvarving
3c0cb9e950 adjust for changed ParameterGroup namespacing 2017-04-28 15:36:25 +02:00
Andreas Lauser
ef2a560fb3 flow_ebos: print statistics about failed time steps
the performance summary at the end of a Norne run which are printed by
`flow_ebos` now looks like this on my machine:

```
Total time (seconds):         773.757
Solver time (seconds):        753.349
 Assembly time (seconds):     377.218 (Failed: 23.537; 6.23965%)
 Linear solve time (seconds): 352.022 (Failed: 23.2757; 6.61201%)
 Update time (seconds):       16.3658 (Failed: 1.13149; 6.91375%)
 Output write time (seconds): 22.5991
Overall Well Iterations:      870 (Failed: 35; 4.02299%)
Overall Linearizations:       2098 (Failed: 136; 6.48236%)
Overall Newton Iterations:    1756 (Failed: 136; 7.74487%)
Overall Linear Iterations:    26572 (Failed: 1786; 6.72136%)
```

for the flow_legacy family, nothing changes.
2017-04-11 11:12:11 +02:00
Atgeirr Flø Rasmussen
98debed741 Fix minor output bug and refine output.
Previously the substep summary reports were cumulative, misleading the user.
Also, made output a little more compact and readable, ensuring numbers line up
unless unusually many digits are needed for times and iteration counts.
2017-04-06 14:54:08 +02:00
Tor Harald Sandve
19a16ceeca Set timesteps after events
The time step after an event can either be set using
timestep_in_days_after_event or using the TUNING keyword in the deck.
2017-03-09 08:54:44 +01:00
Atgeirr Flø Rasmussen
ffaa48295a Add restart I/O of suggested timestep length. 2017-03-01 08:45:34 +01:00
Atgeirr Flø Rasmussen
27c0430932 Change include paths for moved headers. 2017-02-10 16:07:25 +01:00
Arne Morten Kvarving
86fbb36fd2 adjustments for imported files
- adjust include paths
- add new test to build system
- add new example to build system
2017-02-10 13:02:00 +01:00
Arne Morten Kvarving
1cb81c12e8 changed: pass fipnum array into adaptive time stepping loop
needed as substep summary reports requires FIP data to be available.
add calculation of this data if output is requested and summary
config holds relevant keywords.
2017-02-09 09:33:32 +01:00
Tor Harald Sandve
f65f5d2c3b Store whether timestep failed or not
Used in flow ebos to tell the simulator to recalculate the cached
quantities for failed timesteps.
2016-12-19 10:52:59 +01:00
Andreas Lauser
676af2b00b AdaptiveTimeStepping: fix stupid (but harmless) mistake in the sub-step info message
that was a copy-and-pasto: newton iterations = linearizations - 1
2016-12-03 15:04:32 +01:00
Andreas Lauser
6720eb7a75 clean up and extend the SimulationReport class
it now also accounts for assembly, linear solve, update and output
write time and indicates if an operation has converged.
2016-11-30 11:27:49 +01:00
Tor Harald Sandve
a083f46d44 Make it possible to set initial timestep
Default is kept at -1.0. I.e. this PR does not change the current
behaviour.
2016-10-28 09:03:29 +02:00
Atgeirr Flø Rasmussen
08b7db6c7f Classify convergence failure as a "problem" not "error". 2016-10-20 22:36:20 +02:00
Atgeirr Flø Rasmussen
83b3d8a149 Ensure logging only on first rank. 2016-10-20 22:36:20 +02:00
Jørgen Kvalsvik
ad6b77cc15 Update to shared_ptr-less parser interface. 2016-10-20 10:14:41 +02:00
Andreas Lauser
144318b567 consolidate the unit system to opm-parser
since the unit code within opm-parser is now a drop-in replacement,
this simplifies things and make them less error-prone.

unfortunately, this requires quite a few PRs. (most are pretty
trivial, though.)
2016-10-10 17:50:26 +02:00
Markus Blatt
66f0b71fc1 Log the message of exceptions in the catch clause of adaptive time stepper. 2016-10-04 10:33:56 +02:00