Markus Blatt
384ef84556
Makes the time step control parallel.
...
The only stage where parallelism changes the adaptive time
stepping is when some inner products on the saturation and
pressure are computed.
This commit makes this part parallel by added an additonal boost::any
parameter to the time stepping and the controller. Per default this
is empty. In a parallel run it contains a ParallelIstlInformation object
encapsulating the information about the parallelisation. This then used
to compute the parallel inner product.
2015-05-27 11:07:16 +02:00
Atgeirr Flø Rasmussen
b6d5a3cad5
Adjust parameters after testing.
2015-04-22 13:03:19 +02:00
Atgeirr Flø Rasmussen
2dc02043e2
Modify default parameters to be suitable for the Norne case.
2015-04-21 11:41:45 +02:00
Tor Harald Sandve
9272f2d8bf
Add dune/istl/istlexception.hh to header
...
Fix to make it compile with dune-istl 2.2
2015-04-10 14:03:27 +02:00
Robert Kloefkorn
7f6008a80e
AdaptiveTimeStepping: also catch ISTLError casued in AMG when time step is to large.
2015-03-30 11:07:08 +02:00
Atgeirr Flø Rasmussen
4cc0f7ef6d
Suppress unused argument warning.
2015-02-17 10:27:44 +01:00
Robert K
4a885989dd
AdaptiveTimeStepping: remove initial_fraction (use restart factor instead) and use
...
average of previously used time steps to suggest next time step.
2015-02-10 13:10:39 +01:00
Robert K
26f113b649
AdaptiveSimulatorTimer: -improvement in time step adjustment near end of time interval
...
-max time step parameter
PIDTimeStepControl --> TimeStepControl:
- added simple iteration count time step control
- bug fix in PIDAndIterationCountTimeStepControl
AdaptiveTimeStepping: apply the above changes.
2015-02-06 13:59:50 +01:00
Robert K
e84325a0a7
make documentation equal for all three classes.
2015-01-28 15:46:11 +01:00
Robert K
f771becf25
SimulatorTimer...: added method advance which is the new interface for previously used
...
operator++.
2015-01-28 15:25:11 +01:00
Robert K
ae683efcfc
AdaptiveTimeStepping: make output more easy to read.
2015-01-16 16:08:59 +01:00
Robert K
15c2e91730
AdaptiveTimeStepping: Switch suggested time step to max of the previous taken substeps.
2015-01-16 16:08:59 +01:00
Robert K
04e8533cee
AdaptiveSimulatorTimer: initialization of first time step size follows the same rule as
...
for later steps.
PIDTimeStepControl: added maxgrowth factor which indicates the maximum allow groth of
the time step from one to the next value.
2015-01-16 16:08:59 +01:00
Robert K
aa66a4304f
EclipseWriter: remove leftovers of WriterTimer.
...
AdaptiveSimulatorTimer: use back instead of rbegin.
2015-01-15 11:34:59 +01:00
Robert K
757bc67b80
cleanup: reportStepIdx --> writeStepIdx.
...
startDate --> startDateTime
removal of debug output.
2015-01-09 16:22:03 +01:00
Robert K
25af9e0033
- adjust OutputWriter to SimulatorTimerInterface
...
- remove WriterTimer from EclipseWriter and use SimulatorTimerInterface
- adjust to the above in AdaptiveTimeStepping.
2015-01-09 16:22:03 +01:00
Robert K
be69c4c10e
Introduce an interface for SimulatorTimer and AdaptiveSimulatorTimer.
...
currentDateTime and currentPosixTime are default implementations.
2015-01-09 16:21:20 +01:00
Robert K
aa9fe2a631
EclipseWriter: allow for writing of substeps in addition to report steps.
2015-01-09 16:21:03 +01:00
Atgeirr Flø Rasmussen
1c5e4e9ef3
Suppress unused argument warning.
2014-11-05 07:51:21 +01:00
Robert K
f16f4a2e98
fix problem with solver reastart, variable was not reset.
...
Also, the time step does only grow moderately after a solver restart.
2014-10-24 12:32:00 +02:00
Robert Kloefkorn
16624f6f4e
address Atgeirs comments.
2014-10-20 12:32:11 +02:00
Robert Kloefkorn
40d851e89f
also catch std::runtime_error, i.e. convergence of linear solver failed.
2014-10-14 15:18:36 +02:00
Robert Kloefkorn
1bda36b251
added initial fraction to initialize last_timestep.
2014-10-13 11:17:37 +02:00
Robert Kloefkorn
3b58ad9aa4
Two small adjustments that came up when running in debug mode.
2014-10-10 13:55:28 +02:00
Robert Kloefkorn
246acea765
use unit::convert::to instead of hard coded 86400 factor.
2014-10-07 09:48:57 +02:00
Robert K
0e133f2cca
move implementation to .cpp files.
2014-10-06 14:26:23 +02:00
Robert K
294b899ee8
the adaptive time stepping utility classes.
2014-10-06 14:06:07 +02:00
Robert K
8a17e5e5d6
move protected area to the bottom and remove unused lines as well as halfTimeStep method.
2014-10-03 15:53:18 +02:00
Robert K
67b42fd4f4
remove white spaces.
2014-10-03 14:14:01 +02:00
Robert K
e99158faa9
reset to old state.
2014-10-03 14:10:56 +02:00
Robert K
bfbd488e3e
renamed and split advance method.
2014-10-03 13:44:05 +02:00
Robert K
0a03aea874
class for handling adaptive time steps.
2014-10-03 13:33:13 +02:00
Robert K
02e346d8cc
improvement of the time step adjustment.
2014-10-02 14:04:32 +02:00
Robert K
455b066b2a
sub step simulator timer.
2014-10-01 13:56:27 +02:00
Robert K
9c86ddc6bb
reset master.
2014-10-01 13:55:42 +02:00
Robert K
ade58e64b9
SubStepSimulationTimer for time step control. Needs documentation and cleanup.
2014-09-30 15:55:26 +02:00
Andreas Lauser
b4fe4e3667
adapt the the table related API changes of opm-parser
2014-09-19 14:40:35 +02:00
Andreas Lauser
db8b68b1d1
Glue in support for the grid property modifier keywords
...
this basically means using Opm::EclipseState instead of the raw deck
for these keywords.
with this, property modifiers like ADD, MULT, COPY and friends are
supported for at least the PERM* keywords. If additional keywords are
required these can be added relatively easily as well.
no ctest regressions have been observed with this patch on my machine.
2014-06-11 13:48:49 +02:00
Andreas Lauser
bd81627dd3
rename all "newParserDeck" objects to "deck"
...
The "new" parser is now "the" parser...
2014-05-21 11:22:43 +02:00
Andreas Lauser
0fe2d04708
remove EclipseGridParser compatibility methods from all classes
2014-05-21 11:22:43 +02:00
Andreas Lauser
2dacfc8c15
convert the examples and the tests to opm-parser
2014-04-25 14:25:54 +02:00
Kai Bao
5dd0434707
Added the test code and test data.
...
Added TESTTIMER.DATA and test_timer.cpp
2014-03-26 17:53:06 +01:00
Kai Bao
500053d6aa
A new SimulatorTimer Class
2014-03-26 15:53:54 +01:00
Joakim Hove
a845cfdfd7
Removed WellsManager constructor which takes an ole Eclipsegridparser instance.
2014-03-25 18:57:58 +01:00
Kai Bao
54316c19c8
Output correct information for temporary use.
...
Change the SimulatorTimer class a little bit to output the totaltime and
current time correctly.
2014-03-24 16:41:02 +01:00
Andreas Lauser
f2e9016bd0
SimulatorTimer: allow it to be limited to a sub-range of all report steps
2014-03-19 11:36:39 +01:00
Andreas Lauser
caf10e0e7f
SimulatorTimer: rename currentTime() to simulationTimeElapsed()
...
because the name "currentTime()" can be mistaken for the point in
real-life time at which the simulation is run (e.g. March 11, 2014,
15:07:45.123), the _point_ in time which the simulator timer currently
represents (e.g. Jun 5, 1985, 02:33:12.345) instead of the simulator
time in seconds which elapsed since the START date
(e.g. 52633.345 s).
this rename may lead to some fallout in other modules. I'll
fix them after this PR has been merged...
2014-03-12 19:01:58 +01:00
Andreas Lauser
85a0032247
SimulatorTimer: make it possible to base it on opm-parser's TimeMap
...
Since SimulatorTimer is a fairly shallow shim if using the TimeMap, it
can also be removed relatively easily. Having said this, that would
trigger _many_ changes in _a lot_ of places and I'm not motivated at
all to fight that battle as long as the old parser needs to be
supported. I thus decided that the best way is to add a "wrapper mode"
to SimulationTimer...
2014-02-27 12:56:23 +01:00
Roland Kaufmann
f30ab55974
Provide routine to return the step length taken
...
The output routine needs to know which step that has been taken in the
past (to arrive at this result), not which step to take next going
forward.
2013-11-27 00:36:17 +01:00
Roland Kaufmann
73dfe849d6
Replace unclear constant with better documentation
...
The step number is zero before the first timestep has been taken, and
one after. The step number is one before the second timestep has been
taken, and two after. This was not clear from the text.
2013-11-27 00:23:00 +01:00