Commit Graph

254 Commits

Author SHA1 Message Date
Andreas Lauser
662d6e28cd threshold pressures: properly consider the dissolved components for the density
even if a phase is saturated, the dissolved component must be
considered when calculating the fluid density.
2016-09-28 16:55:15 +02:00
Andreas Lauser
ae3248da8b threshold pressure: use phase pressure instead of reference pressure...
... to calculate phase densities for the threshold pressure
defaults. I don't know if the reference simulator does this, but this
makes it consistent with what's done in the flux calculation of flow.
2016-09-28 16:54:00 +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
4c4b5233c0 Guard against non-existing file 2016-09-21 13:46:31 +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
Tor Harald Sandve
380fe6e2fd Timestepper based on userInput
A new timestepper that reads timesteps from a file generated using
ecl_summary "DECK" TIME
and applies it to the simulator

Also a parameter timestep.initial_step_length (default 1 day) is added
to controll the frist timestep.
2016-09-21 09:39:36 +02:00
babrodtk
63da817852 Initial version for outputting cell data 2016-09-01 14:37:41 +02:00
Pål Grønås Drange
bd58792714 TransMult, Init, and SimConfig are references, applyModifierDeck takes reference, and EclipseState constructor too 2016-08-08 10:07:09 +02:00
Atgeirr Flø Rasmussen
d31081992b Merge pull request #1052 from andlaus/pass_timer_instead_of_dt
pass the timer object instead of the time step size to the simulators
2016-08-02 11:05:33 +02:00
Liu Ming
61889dafbd fix indentation. 2016-07-14 10:30:20 +08:00
Liu Ming
62134b4a0f drop useage of std::numeric_limits 2016-07-14 10:27:13 +08:00
Andreas Lauser
0dda8d49c5 pass the timer object instead of the time step size to the simulators 2016-07-05 12:23:55 +02:00
Kai Bao
02a3ba39b5 adding a initialStep() function to SimulatorTimer
to indicate if the current step is the inital step.
2016-07-04 11:12:53 +02:00
Liu Ming
b8ef9cb630 output well iterations if it is a valid number. 2016-06-30 09:03:30 +08:00
Liu Ming
30d9c34481 Add space. 2016-06-28 15:26:06 +08:00
Liu Ming
b1b464535a output well iterations and non-linear iterations. 2016-06-28 13:40:32 +08:00
Liu Ming
6097a14b0e get current date time. 2016-06-21 11:25:05 +08:00
Liu Ming
63f244a36d mark time stepping messages type as OpmLog::note 2016-06-21 08:44:32 +08:00
Jørgen Kvalsvik
71560b5fb2 BlackoilOutputWriter rewritten to use opm-output
Changes to BlackoilOutputWriter as mandated by the split and rewrite of
opm-output. Notable changes:

* BlackoilOutputWriter is no longer a child class of OutputWriter.
* Minor interface changes; writeTimeStep requires a Wells pointer
* restore requires a Wells* pointer
* VTK/Matlab support rewrites; no longer inherits OutputWriter
* WellStateFullyImplicitBlackoil::report added, to write its data to a
  opm-output understood format

Relies on utility/Compat.hpp for quick conversion to the opm-output
defined formats.
2016-06-07 10:15:07 +02:00
Jørgen Kvalsvik
18fda2d7f0 WellState::report() to make opm-output Well data 2016-06-06 12:40:44 +02:00
Liu Ming
248ea780b3 add missing braces. 2016-05-16 09:04:54 +08:00
Liu Ming
a4dc135045 use OpmLog only for error messages. 2016-05-10 14:13:33 +08:00
Liu Ming
40dbcc496a output timer messages for terminal and log file. 2016-05-09 13:31:04 +08:00
Liu Ming
cabfffe25d use ostream not std::cout directly. 2016-05-09 13:30:28 +08:00
babrodtk
a1504a2bff Runs first iterations of two-phase case plausibly 2016-04-26 07:49:12 +02:00
Atgeirr Flø Rasmussen
a031c25ced Re-enable output for 2-phase sims.
This was disabled when the facilities were moved to opm-output.
Now that the simulators are in the opm-simulators module and not
opm-core we can re-enable it.
2016-04-14 13:08:24 +02:00
Pål Grønås Drange
170a71eef8 Using API get3DProperties. 2016-04-14 11:37:27 +02:00
Atgeirr Flø Rasmussen
be67e0f7a5 Update include file locations. 2016-04-14 11:32:08 +02:00
Kjell W. Kongsvik
a15085ad7d Replace comment with "ifdef DISABLE_OUTPUT" 2016-03-29 14:57:58 +02:00
Kjell W. Kongsvik
3614defbd9 Commented out usage of OutputWriter in simulator 2016-03-29 14:56:25 +02:00
Joakim Hove
e843461b37 Merge pull request #962 from joakim-hove/remove-simulator-state
Replaced SimulatorState -> SimulationDatacontainer
2016-03-29 13:16:19 +02:00
Joakim Hove
b42700c6a8 Replaced SimulatorState -> SimulationDatacontainer
Have removed the SimulatorState base class, and instead replaced with
the SimulationDatacontainer class from opm-common. The SimulatorState
objects were typcially created with a default constructor, and then
explicitly initialized with a SimulatorState::init() method. For the
SimulationDataContainer RAII is employed; the init( ) has been removed -
and there is no default constructor.
2016-03-29 10:44:49 +02:00
Robert Kloefkorn
65d4127f4e SimulatorTimerInterface: include missing header for unique_ptr. 2016-03-29 10:42:03 +02:00
Robert Kloefkorn
f9f13143a2 SimulatorTimers: added method clone to allow for copying of the objects. 2016-03-29 10:34:16 +02:00
Andreas Lauser
bf283f8684 threshold pressures: consider the saturated case and fix a typo
the typo was caused the surface density of the oil phase to be used
instead of the one of gas. This caused the density to be off by a
factor of typically about 900.

using saturated FVFs does not change much, but it does not hurt
because it is also done that way in the simulator.

This makes the defaults for the threshold pressures reasonable again,
but for some reason they are not exactly the same as in the old
implementation. (although the differences are very tolerable.)

On the question why only "Model 2" is affected by this: the other
decks don't use threshold pressures (SPE-X) or do not default any
values (Norne).
2016-03-08 14:52:09 +01:00
Andreas Lauser
1f1dfbfc65 replace the blackoil PVT classes by the ones of opm-material
the opm-material classes are the ones which are now used by
opm-autodiff and this patch makes it much easier to keep the opm-core
and opm-autodiff results consistent. Also, the opm-material classes
seem to be a bit faster than the opm-core ones (see
https://github.com/OPM/opm-autodiff/pull/576)

I ran the usual array of tests with `flow`: SPE1, SPE3, SPE9 and Norne
all produce the same results at the identical runtime (modulo noise)
and also "Model 2" seems to work.
2016-03-05 19:11:44 +01:00
Atgeirr Flø Rasmussen
cb41a45687 Remove unused 'restart' parameter from SimulatorTimer::init(). 2016-02-29 11:03:08 +01:00
Atgeirr Flø Rasmussen
5bb705fda8 Merge pull request #953 from andlaus/const_gridproperties
fix the build
2016-02-19 11:46:32 +01:00
Jørgen Kvalsvik
369050cc9c Change Deck access methods/types to references
opm-parser#677 changes the return types for the Deck family of classes.
This patch fixes all broken code from that patch set.

https://github.com/OPM/opm-parser/pull/677
2016-02-18 08:50:26 +01:00
Andreas Lauser
e775df6d23 fix the build
it broke because EclipseState::get*GridProperty() now returns a
pointer to a constant object.
2016-02-15 15:06:05 +01:00
chflo
d43f109770 OPM-251: Support for restart 2016-01-04 16:11:21 +01:00
Tor Harald Sandve
153365f4d0 Adapt to changes in the NNC class 2015-12-08 13:03:15 +01:00
Tor Harald Sandve
298442c281 Cleanup after rebase
- cleanup of some rebase mess
- Added comments
- Use the maxDp for the NNCs
- remove misplaced break in the pinchprocessor
2015-12-08 09:50:07 +01:00
Tor Harald Sandve
5b1f249f96 Calculate thresholdPressures for the NNCs 2015-12-08 09:25:35 +01:00
Atgeirr Flø Rasmussen
7edd081175 Silence some warnings. 2015-12-01 13:36:08 +01:00
Andreas Lauser
7e05127c48 thresholdPressures(): move the code which calculates the maximum gravity corrected pressure difference between EQLNUM regions to its own function
requested by [at]atgeirr
2015-11-13 15:36:50 +01:00
Andreas Lauser
77893e415e thresholdPressures(): split several long lines
as requested by [at]atgeirr
2015-11-13 15:13:28 +01:00
Andreas Lauser
f13e7fd300 thresholdPressures(): constify all local variables which can be made constant
I have doubts if this will change anything in the binaries (and in my
personal opinion, these 'const's look quite ugly and are sometimes a
(small) annoyance when debugging), but I don't mind using the coding
style used by most of the rest of opm-core here.
2015-11-13 15:13:15 +01:00
Atgeirr Flø Rasmussen
0de2cff986 Follow class renaming. 2015-11-13 11:37:53 +01:00
Robert Kloefkorn
d3af817ff2 timeError --> relativeChange. 2015-11-10 09:53:40 -07:00