Commit Graph

459 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
f72832dbd6 Merge pull request #1085 from andlaus/opm-parser_units
consolidate the units code to opm-parser
2016-10-18 15:25:20 +02:00
Andreas Lauser
07707ecc30 consolidate the unit system to opm-parser
since the unit code within opm-parser is now a drop-in replacement,
this simplifies things and make them less error-prone.

unfortunately, this requires quite a few PRs. (most are pretty
trivial, though.)
2016-10-10 17:50:26 +02:00
Joakim Hove
5fdb868526 Header file moved in opm-output. 2016-10-06 14:23:47 +02:00
Markus Blatt
a44500623a Log the message of exceptions in the catch clause of adaptive time stepper. 2016-10-04 10:33:56 +02:00
Atgeirr Flø Rasmussen
22f7d1ec32 Merge pull request #1078 from andlaus/fix_initial_rs_and_rv
set the Rv and Rs factors to the saturated values for cells which have no gas and no oil
2016-09-30 14:40:06 +02:00
Tor Harald Sandve
f202f2948c 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
Andreas Lauser
3647834b96 set the Rv and Rs factors to the saturated values for cells which have no gas and no oil
the purpose of this is to get a more defined behaviour when doing the
gravity correction/upstream cell determination in the flux term.

I consider this to be just a kludge, so if anyone has a better idea of
what the composition for the non-existing gas and oil phases is,
please tell me. (note that generic compositional models do not exhibit
this issue because the composition of all fluids is always fully
defined because each component is assumed to dissolve in every phase.)
2016-09-28 16:38:40 +02:00
Markus Blatt
ac37eef547 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
Atgeirr Flø Rasmussen
08b90e8acd Merge pull request #1064 from totto82/hardcodedTimestepping
Timestepper based on user input
2016-09-26 08:53:36 +02:00
Atgeirr Flø Rasmussen
cd75174650 Forward declare structs as same to avoid warning. 2016-09-23 15:14:36 +02:00
Tor Harald Sandve
ff81d48551 Guard against non-existing file 2016-09-21 13:46:31 +02:00
Markus Blatt
f426a03801 Zero initialize wells with no perforations.
For these wells access its well_cells might read of the bounds
an array if they are the last wells in the struct. Therefore
we cannnot initialiue first_cell and the well control is uninitialized,
to.

With this commit theses wells are now detected and theor bhp, thp, and well_rates
are initialized to zero.
2016-09-21 12:23:34 +02:00
Tor Harald Sandve
f1bdd67438 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
6e9bb4cf0b 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
Anders Matheson
18a5c0b748 Remove unused parameter warning 2016-09-20 10:00:50 +02:00
Anders Matheson
4186a37563 Pass PhaseUsage to WellState::report 2016-09-20 09:41:20 +02:00
babrodtk
d71aceff0b Initial version for outputting cell data 2016-09-01 14:37:41 +02:00
Pål Grønås Drange
2a773b735e transmult and initconfig are ref's, use ref for EclipseState constructor 2016-08-08 10:02:53 +02:00
Andreas Lauser
d3ff659437 also keep track of the number of linearizations needed for the simulation 2016-08-02 14:05:14 +02:00
Atgeirr Flø Rasmussen
a6f08d13d5 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
65c7a2c197 fix indentation. 2016-07-14 10:30:20 +08:00
Liu Ming
a792c29f00 drop useage of std::numeric_limits 2016-07-14 10:27:13 +08:00
Andreas Lauser
ff899f3c53 pass the timer object instead of the time step size to the simulators 2016-07-05 12:23:55 +02:00
Kai Bao
1fc189065c adding a initialStep() function to SimulatorTimer
to indicate if the current step is the inital step.
2016-07-04 11:12:53 +02:00
Atgeirr Flø Rasmussen
9c6eeae068 Merge pull request #1045 from qilicun/time-messages-to-PRT-file
Change adaptive time stepping message type to OpmLog::note
2016-06-30 09:19:49 +02:00
Liu Ming
50573d1168 output well iterations if it is a valid number. 2016-06-30 09:03:30 +08:00
Liu Ming
2c25bb8262 Add space. 2016-06-28 15:26:06 +08:00
Liu Ming
745666468f output well iterations and non-linear iterations. 2016-06-28 13:40:32 +08:00
Liu Ming
afc9e4453a get current date time. 2016-06-21 11:25:05 +08:00
Liu Ming
49d5d4c79a mark time stepping messages type as OpmLog::note 2016-06-21 08:44:32 +08:00
Tor Harald Sandve
4db70d1902 Fix two phase EQUIL initialization 2016-06-20 10:36:24 +02:00
Liu Ming
34805c1bf7 it should be the same number in EQLNUM. 2016-06-15 16:53:51 +08:00
Liu Ming
a824ef9c22 use correct region number. 2016-06-15 16:52:32 +08:00
Liu Ming
cb82608779 Rise up a warning if equil region has no active cells. 2016-06-15 15:40:38 +08:00
Joakim Hove
d3aa0926c8 Merge pull request #1016 from jokva/refactor-output-restart
Breaking opm-core dependency in opm-output; new summary implementation
2016-06-10 13:15:34 +02:00
Jørgen Kvalsvik
2ad419bd1a Make struct wells unique member of WellState 2016-06-06 12:42:54 +02:00
Jørgen Kvalsvik
be0187d512 WellState::report() to make opm-output Well data 2016-06-06 12:40:44 +02:00
Andreas Lauser
2d2f86f089 rename "local AD" to "dense AD" 2016-06-03 21:57:48 +02:00
Atgeirr Flø Rasmussen
537c4dd730 Merge pull request #1010 from qilicun/log_timer_messages
Log timer messages
2016-05-20 08:39:14 +02:00
Liu Ming
d660dea73b add missing braces. 2016-05-16 09:04:54 +08:00
Tor Harald Sandve
79f04b6c9e Fixing PR comments
- Use std::vector<HydroCarbonState> instead of std::vector<int>
- Use the initializer list to initialize members in constructors
- Fix indent
- Return OilOnly for cases without gas to avoid potential trouble
further down the line
2016-05-13 12:49:45 +02:00
Tor Harald Sandve
cb4b698b51 Add method for calculating the initial hydroCarbonState
The following hydroCarbonState are used
    enum HydroCarbonState {
        GasOnly = 0,
        GasAndOil = 1,
        OilOnly = 2
    };
Cells almost filled with water are treated as a GasAndOil state
2016-05-13 09:10:13 +02:00
Tor Harald Sandve
31133af803 Add member hydroCarbonState to the BlackoilState
The hydroCarbonState is used to store the hydroCarbonState
  State 1: Gas only
  State 2: Gas and Oil
  State 3: Oil only
An empty vector is return at initialization as
no default values are provided by the blackoilstate.
2016-05-12 10:32:39 +02:00
Liu Ming
da70ab4e84 use OpmLog only for error messages. 2016-05-10 14:13:33 +08:00
Liu Ming
9f90e6cc3f output timer messages for terminal and log file. 2016-05-09 13:31:04 +08:00
Liu Ming
684614fe77 use ostream not std::cout directly. 2016-05-09 13:30:28 +08:00
Markus Blatt
e7a0b60b1c Prevent dereferencing the end iterator.
This happened for empty regions and surfaced when compiling
with "-D_GLIBCXX_DEBUG  -DDEBUG -DGLIBCXX_FORCE_NEW".
2016-05-06 21:40:33 +02:00
babrodtk
131e900cf3 Code cleanup 2016-04-26 07:48:58 +02:00
babrodtk
404929fe34 Checkpoint 2016-04-26 07:48:58 +02:00
Andreas Lauser
145d61d751 adapt code w.r.t. the removal of the tags for Opm::Evaluation 2016-04-15 18:48:47 +02:00