Commit Graph

235 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
8122c13f0d Merge pull request #1131 from atgeirr/increase-iters-for-equil
Increase max iterations for capillary curve inversion.
2017-01-09 09:31:14 +01:00
Atgeirr Flø Rasmussen
c57ed2f32c Increase max iterations for capillary curve inversion.
Triggered by a new two-phase case.
2017-01-06 15:24:08 +01:00
Tor Harald Sandve
edd857ec3e Make it optinal to apply SWATINIT
The reasoning behind this to make it possible to initialize the case
without SWATINIT in order to compute the same defaulted THPRES values as
Ecl. The initialization needs to be re-computed to account for SWATINIT
in the simulations.
2017-01-02 15:10:09 +01:00
Atgeirr Flø Rasmussen
08689af3e9 Fix order of initialization. 2016-12-29 13:55:42 +01:00
Jørgen Kvalsvik
3bdd674aac Read RS,RV,PRESSURE,SWAT,SGAS from EclipseState
Prefer reading these values from EclipseState rather than the Deck type.
2016-12-19 14:26:27 +01:00
Andreas Lauser
7f4c23812a 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
Andreas Lauser
04c9b66107 fix some valgrind errors in the EQUIL code
this fixes some valgrind errors while doing the twophase capability
for flow_ebos: In all previously tested cases, these errors were
probably non-fatal because the memory illegally accessed here is
likely to be allocated (but after this function was finished it
contained garbage).

note that I'm not completely sure if this patch is semantically
correct, so I'd appreciate some input who understands it. (what is
"z"?)
2016-11-16 17:20:24 +01:00
Arne Morten Kvarving
f9fa1a6a8c fixed: use correct indices for well state completion data 2016-11-04 16:40:09 +01:00
Andreas Lauser
ced224378f use accessor methods to access the value and derivatives of Evaluation objects 2016-10-27 16:53:52 +02:00
Atgeirr Flø Rasmussen
4aa14a4dcb Adapt to changed data::Wells API. 2016-10-25 10:41:16 +02:00
Atgeirr Flø Rasmussen
de1e3327d2 Merge pull request #1075 from jokva/output-data-wells-sans-vectors
WIP: Restore from data::Wells without vector dumps
2016-10-21 14:58:10 +02:00
Jørgen Kvalsvik
486223f958 Restore from data::Wells without vector dumps
opm-output's data::Wells interface changed to no longer just accept a
dump of opm-core's WellState object. Update WellState to restore itself
from this new interface rather than reading the dumped vectors as-is.
2016-10-20 16:36:47 +02:00
Jørgen Kvalsvik
a52724ae97 Update to shared_ptr-less parser interface. 2016-10-20 10:14:41 +02:00
Atgeirr Flø Rasmussen
fb3e09fb39 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
fabdfbafcb 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
8c55e258c7 Header file moved in opm-output. 2016-10-06 14:23:47 +02:00
Andreas Lauser
7d1b59d697 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
Atgeirr Flø Rasmussen
2cc3be1629 Forward declare structs as same to avoid warning. 2016-09-23 15:14:36 +02:00
Markus Blatt
2d115888de 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
Anders Matheson
c89b84eeed Remove unused parameter warning 2016-09-20 10:00:50 +02:00
Anders Matheson
afaa3c5669 Pass PhaseUsage to WellState::report 2016-09-20 09:41:20 +02:00
Pål Grønås Drange
7ff2328f3f transmult and initconfig are ref's, use ref for EclipseState constructor 2016-08-08 10:02:53 +02:00
Andreas Lauser
c4e5db2153 also keep track of the number of linearizations needed for the simulation 2016-08-02 14:05:14 +02:00
Tor Harald Sandve
5641876d1d Fix two phase EQUIL initialization 2016-06-20 10:36:24 +02:00
Liu Ming
1231594600 it should be the same number in EQLNUM. 2016-06-15 16:53:51 +08:00
Liu Ming
a9c2128daa use correct region number. 2016-06-15 16:52:32 +08:00
Liu Ming
a920b43e21 Rise up a warning if equil region has no active cells. 2016-06-15 15:40:38 +08:00
Joakim Hove
52752ea1e4 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
254bb2e1e6 Make struct wells unique member of WellState 2016-06-06 12:42:54 +02:00
Jørgen Kvalsvik
ec28c46842 WellState::report() to make opm-output Well data 2016-06-06 12:40:44 +02:00
Andreas Lauser
807261b084 rename "local AD" to "dense AD" 2016-06-03 21:57:48 +02:00
Tor Harald Sandve
79fd23700e 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
2a40563c7b 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
592450777e 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
Markus Blatt
9f99484347 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
cae4d39a86 Code cleanup 2016-04-26 07:48:58 +02:00
babrodtk
dcf9c6a067 Checkpoint 2016-04-26 07:48:58 +02:00
Andreas Lauser
90ff56503d adapt code w.r.t. the removal of the tags for Opm::Evaluation 2016-04-15 18:48:47 +02:00
Pål Grønås Drange
f1a31ca5e4 Using API get3DProperties() 2016-04-11 15:13:38 +02:00
Pål Grønås Drange
8ce248bc63 Updated opm-core to use new EclipseState API in opm-parser 2016-04-08 16:30:01 +02:00
Atgeirr Flø Rasmussen
734fbfc38d Implement direct fast field access. 2016-03-29 10:46:14 +02:00
Joakim Hove
a256dc0e5d 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
Jørgen Kvalsvik
dd77a39d95 Remove Equil + EquilWrapper, replace with upstream
Upstream (opm-parser) now provides a better Equil + EquilRecord, and
simultaneously deprecated EquilWrapper. This patch fixes the resulting
breakage.

One important note: The new Equil does not expose integers for live
oil/wet gas initialization procedure methods, but rather booleans
through constRs/constRv methods. This is how the variable behaves
according to the Eclipse reference manual (EQUIL keyword section).

Code has been updated to reflect this.
2016-03-01 09:59:54 +01:00
Jørgen Kvalsvik
33f8446a4e Add missing opm-parser headers
opm-parser pull #695
https://github.com/OPM/opm-parser/pull/695
2016-02-26 11:49:40 +01:00
Joakim Hove
4bab7b7f4c Added free function initSaturation().
The state argument is of type SimulatorState& - and no longer a template
parameter.
2016-02-22 22:03:41 +01:00
Joakim Hove
84485dde53 Changes in SimulatorState:
1. Added method setCellDataComponent()
 2. Removed setFirstSat()

Implemented saturation initialisation using setCellDataComponent()
instead of setFirstSat(). This way the template<class Props> has been
removed from the SimulatorState class.
2016-02-22 08:42:04 +01:00
Atgeirr Flø Rasmussen
b9d44c1f4b Merge pull request #957 from joakim-hove/cmp-template
Using template for cmp::vector_equal()
2016-02-19 11:41:07 +01:00
Joakim Hove
c40ed3ece6 Using template for cmp::vector_equal() 2016-02-19 07:57:02 +01:00
Jørgen Kvalsvik
04d605159f 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
Joakim Hove
83a32061f7 Removed opm_memcmp_double() - use cmp from common. 2016-02-14 21:41:51 +01:00