Erik Hide Saeternes
d78cf2e32e
Implemented general third order controller for adaptive time stepping
2025-02-11 18:10:06 +01:00
Atgeirr Flø Rasmussen
270018cfbb
Merge pull request #5900 from totto82/improve_well_shutting
...
Improve well shutting logic
2025-01-28 10:46:10 +01:00
Tor Harald Sandve
eabb2de362
Merge pull request #5902 from totto82/wcycle_chop
...
Dont reset subtimestep from tuning/wcycle if time step is chopped due to convergence issues
2025-01-28 10:00:58 +01:00
Tor Harald Sandve
cfc2b03b5a
Improve well shutting logic
...
In particular allow for failed wells to shut even though they haven't failed consitatantly in the last 3 attempts
if the timestep is reduce enhough already.
2025-01-28 09:55:36 +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
Tor Harald Sandve
ecc3c5557d
Dont reset subtimestep from tuning/wcycle if time step is chopped due to convergence issues
2025-01-22 12:54:24 +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