Commit Graph

102 Commits

Author SHA1 Message Date
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
Roland Kaufmann
2ba7b3329d Make starting timestep more explicitly known
One-based or zero-based? Better be documented (in a way that doesn't
promote hard-coding in the clients!)
2013-11-26 12:44:37 +01:00
Bård Skaflestad
8159104218 Fix null-pointer dereference during well construction
The three-argument WellsManager constructor needs access to the real
permeability field lest a null-pointer dereference result when the
problem actually contains any wells.
2013-09-25 15:11:14 +02:00
Andreas Lauser
aa62980fbf catch all exceptions in all tutorials and examples 2013-09-05 13:04:38 +02:00
Andreas Lauser
2cfe79f664 convert users of the ASSERT and the ASSERT2 macros to standard assert() 2013-09-05 13:04:37 +02:00
Andreas Lauser
f4a22486ef convert THROW to OPM_THROW 2013-09-05 13:04:37 +02:00
Júlio Hoffimann
43438b2bf8 Remove trailing whitespaces 2013-07-28 08:34:13 -03:00
Andreas Lauser
a2065b4101 make config.h the first header to be included in any compile unit
this is required for consistency amongst the compile units which are
linked into the same library and seems to be forgotten quite
frequently.
2013-04-10 12:56:14 +02:00