Commit Graph

98 Commits

Author SHA1 Message Date
Håkon Hægland
d6767f5de6 Remove Solver template parameter to step()
Remove the template paramater Solver used with the
AdaptiveTimeStepping::solve() method. Replace the template parameter with a
equivalent Solver value from Opm::Properties::
2025-01-27 10:28:41 +01:00
Atgeirr Flø Rasmussen
439a0a9847 Add template parameter needed for clang.
Not sure if this is a gcc-ism, a clang-ism or a c++20-ism,
but as written here it should compile for all.
2025-01-23 11:59:56 +01:00
Håkon Hægland
18d35cb820 Explain the timestepping
Adds developer documentation about the timestepping procedure.
2025-01-20 23:07:10 +01:00
Håkon Hægland
f867f9a977 Cleanup after rebase on master
After rebasing on master some changes to AdaptiveTimeStepping.hpp and
AdaptiveTimeStepping_impl.hpp were missed
2025-01-17 22:06:22 +01:00
Håkon Hægland
48856f9f46 Timestepping for reservoir coupling
Implement adaptive time stepping for master and slave procesess
when using reservoir coupling. The original adaptive time stepping method
is refactored at the same time.
2025-01-17 22:04:17 +01:00
Arne Morten Kvarving
f7cfa7a04b FlowProblem: move some more code to FlowGenericProblem
typetag less parameter system now allows us to initialize these variables
in class that holds them.
2025-01-15 08:40:48 +01:00
Atgeirr Flø Rasmussen
9ba48c7464 Add missing include. 2025-01-06 10:32:27 +01:00
Arne Morten Kvarving
ca9ea2ccf1 AdaptiveTimeStepping: move controller creation to translation unit 2025-01-03 10:08:43 +01:00
Arne Morten Kvarving
c25a7480cd AdaptiveTimeStepping::init_: change from if nest to map of creators 2025-01-03 10:08:17 +01:00
Arne Morten Kvarving
0465d3f0af AdaptiveTimeStepping: use fmt for formatting 2025-01-03 09:30:14 +01:00
Arne Morten Kvarving
f0cb0595d1 remove unnecessary std::to_string
format can handle floating point numbers
2025-01-03 09:30:14 +01:00
Arne Morten Kvarving
1556169221 changed: do no assert for user provided data
instead throw an exception
2025-01-03 09:30:14 +01:00
Arne Morten Kvarving
a2bd8b5810 split AdaptiveTimeStepping to use an impl file 2025-01-03 09:30:14 +01:00
Arne Morten Kvarving
f027262ec4 remove files 2018-11-16 14:53:37 +01: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
Tor Harald Sandve
b38430ea2e Output TCPU for every substep. 2018-01-29 08:56:55 +01:00
Tor Harald Sandve
a1dbeec4d4 Use 1 day as default initial time step 2017-11-28 15:12:48 +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
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
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
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
Markus Blatt
66f0b71fc1 Log the message of exceptions in the catch clause of adaptive time stepper. 2016-10-04 10:33:56 +02:00
Tor Harald Sandve
e034bbc7ad Add initalizer for adaptiveTimeStepper that uses values from TUNING
Some of the tuning values from the TUNING keywords is used to tune the
timestepping.
2016-09-30 10:36:30 +02:00
Markus Blatt
815480d052 Only call writeTimeStep for real sub steps.
Previously, we also called it when the full time step was done.
As the simulator writes that information anyway and we cannot call
it a sub step, we omit the final write in the adaptive time stepper.
2016-09-26 11:51:17 +02:00
Tor Harald Sandve
1bde4f4a22 Small fixes hardcodedTimestepControl
-- avoid using eof()
-- add comments
-- no longer assumes two lines of comments.
-- revert change to default value for timestep.initial_step_length
-- make contructer explicit
-- pass reference
2016-09-21 09:39:36 +02:00