Commit Graph

1700 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
3001768632 Add skeleton of AnisotropicEikonal class and test. 2014-12-29 12:28:29 +01:00
Atgeirr Flø Rasmussen
dea6e8c044 Merge pull request #702 from jorgekva/linsolver_petsc
PETSc support in OPM
2014-12-19 11:25:58 +01:00
Tor Harald Sandve
02724b7f7a Implement comments for PR#249
1) Add the possibility for the user to chose between local and global
coordinate permeability in the transmissibility calculations.
2) Trow for CpGrid
3) Add default for switch
2014-12-10 07:29:05 +01:00
chflo
c2116149c9 OPM-139: Added unitttest and testdata for testing writing of welldata to eclipse restart files 2014-12-08 12:04:06 +01:00
Atgeirr Flø Rasmussen
7b2334b758 Fix wrong resize() usage for Eigen::Array. 2014-12-02 09:24:03 +01:00
Andreas Lauser
4e3a69cc90 PVT properties: allow them to be temperature dependent
Note that this patch does not introduce any real temperature
dependence but only changes the APIs for the viscosity and for the
density related methods. Note that I also don't like the fact that
this requires so many changes to so many files, but with the current
design of the property classes I cannot see a way to avoid this...
2014-12-01 20:06:02 +01:00
Andreas Lauser
47eafa47f4 move everything which is ECL specific to applications/ebos
this helps to keep the core blackoil model code lean and mean and it
is also less confusing for newbies because the ECL blackoil simulator
is not a "test" anymore.

in case somebody wonders, "ebos" stands for "&eWoms &Black-&Oil
&Simulator". I picked this name because it is short, a syllable, has
not been taken by anything else (as far as I know) and "descriptive"
names are rare for programs anyway: everyone who does not yet know
about 'git' or 'emacs' and tells me that based on their names they
must be a source-code managment system and an editor gets a crate of
beer sponsored by me!
2014-11-28 13:01:32 +01:00
Andreas Lauser
08c97f478f ECL problem: set the connate water saturation 2014-11-27 18:59:40 +01:00
Andreas Lauser
3c3d3208eb ECL problem: make the code which converts gas to oil saturations a bit easier to read
This code is required in the first place because opm-material always
specifies all parameters in terms of the wetting saturations while the
gas is the non-wetting phase in a gas-oil system.
2014-11-27 18:42:19 +01:00
Andreas Lauser
49061f879f write ECL summary files for wells
so far, the units of the values written to disk are always what
Eclipse calls METRIC and the number of supported quantities is
somewhat limited...
2014-11-25 17:03:20 +01:00
Atgeirr Flø Rasmussen
bce2d6ad1a Avoid using VLAs (C99 feature).
Regular C fixed-size arrays are sufficient here, although in general
std::vector is the preferred replacement (if needing the dynamic size).
2014-11-24 10:55:10 +01:00
Andreas Lauser
2050913aef add the general framework for specifying auxiliary equations.
this does not disrupt the block nature of the linearized matrix
(i.e. Dune::BCRSMatrix is still used), but if the number of auxiliary
equations is smaller than that of the "main" discretization, the
superfluous equations are padded. if the number of additional
equations are larger than that of the equation, additional DOFs are
added.
2014-11-18 17:51:38 +01:00
Andreas Lauser
66abdce594 improve the ECL well model
the biggest change is that it is now based on a new approach: the well
model now always calculates the bottom hole pressure for the full well
when asked for a source term. This change makes it possible to
implement cross flow within wells properly and should also make the
well model physically correct.

Also, the well model now uses the connection transmissibility factor
which makes it possible to use this quantity if it is specified by the
deck...
2014-11-18 17:51:38 +01:00
osae
239a5e12e8 Made hysteresis variant of gwseg consistent ...
... with the base gwseg behaviour.  Added test.
2014-11-05 17:00:11 +01:00
osae
31d1842ce4 Consistency between scaled and unscaled gwseg.
Modified the endpoint scaled version of SatFuncGwseg and updated
the tests accordingly.
2014-11-05 16:10:05 +01:00
osae
cc7d3dab93 Added some tests for the endpoint scaled relperm.
- satfuncStandard: Unscaled curves, using standard version of the
Gwseg model.
- satfuncEPSBase: Unscaled curves, but using the EPS version of
the Gwseg model.  There are some differences between this and the
standard version of Gwseg for derivatives at critical saturations.
The scheme for calculating the derivatives should be discussed.
(Will file a separate issue on this.)
- satfuncEPS_A: Scaled curves.  Scaling parameters specified via
SWL family.
- satfuncEPS_B: Scaled curves.  Scaling parameters identical to _A
but this time specified via the ENPTVD table.  Test currently
suspended due problems with eclipse-state.
- satfuncEPS_C: Scaled curves.  Scaling parameters identical to _A
but this time specified via Norne-like syntax (EQUALS, COPY etc.).
2014-11-05 16:10:05 +01:00
Tor Harald Sandve
a59044bd93 The wellmanager test is modified to account for not adding shut wells
Shut wells are not added to the well list and the well manager test is
modified accordinly.
2014-10-27 07:23:58 +01:00
Tor Harald Sandve
ef9bbe4ce7 Make the comment in test_wellsmanager more precise
The comment now precisly says that Shut wells are not added instead to
the well list instead of removed.
2014-10-24 07:05:43 +02:00
Tor Harald Sandve
4585446e5a Fix SHUT wells
Shut wells are not added to the well list and thus not considered in the
simulator.

The shut well test in test_wellsmanager is modified to assert this
behaviour.

BUG: This change provokes an assert in the EclipeWriter as number of
wells in wellstate is different from number of wells in the schedule.
2014-10-24 06:57:38 +02:00
Joakim Hove
4c53baed3e Updated WellsManager testing 2014-10-16 16:34:00 +02:00
Joakim Hove
0657cc4deb Added test for SHUT well 2014-10-07 12:12:15 +02:00
Joakim Hove
73b82ed188 Removed 'dead' data at the end of test data. 2014-10-07 12:11:17 +02:00
Andreas Lauser
e98be1d398 ECL: move the grid manager to ewoms/io/
this class is probably useful for problems other than EclProblem and
the EclWellsManager already is at a generic place...
2014-10-06 12:24:17 +02:00
Andreas Lauser
6f5d942502 blackoil fluids test: add section markers to make EclipseState happy
this is necessary because tables now must be queried using
EclipseState instead of directly. This implies that EclipseState can
be instantiated in the first place...

TODO (?): allow EclipseState instatiation for decks without a grid.
2014-09-19 15:27:12 +02:00
Andreas Lauser
e8a08749f5 adapt the the table related API changes of opm-parser 2014-09-17 13:43:47 +02:00
Andreas Lauser
7009f2288b ECL problem: make it compile with Scalar != double
opm-parser always returns vector<double> as data fields...
2014-08-17 15:12:06 +02:00
Andreas Lauser
6528a88e90 adapt to the reference pressure != surface pressure change in opm-material 2014-08-12 15:49:47 +02:00
Tor Harald Sandve
dfa2c42233 Changes in the ref. solution in the DeakAllDead test 2014-08-12 07:08:57 +02:00
Andreas Lauser
09fe573231 remove unused typedef, constants and enums
most of them anyway...
2014-08-11 14:24:13 +02:00
osae
91a19ff333 Correcting the equil test. 2014-08-11 13:19:17 +02:00
Bård Skaflestad
82fc769922 RESV: Add facility for surface-to-reservoir rate conversion
This commit adds a simple facility for converting component rates at
surface conditions to voidage rates at reservoir conditions.  It is
intentionally limited in scope and meant to be employed only in the
context of class FullyImplicitBlackoilSolver<> or something very
similar.  In particular, class SurfaceToReservoirVoidage<> assumes
that it will be used to compute conversion coefficients for
component rates to voidage rates, and that those coefficients will
typically be entered into the coefficient matrix of a linearised
residual.

Add a trivial test just to demonstrate the setup and calling
process.  This is not a feature or correctness test.
2014-08-08 11:40:50 +02:00
Andreas Lauser
6e478f6f18 use finishInit() properly for all problems
this means that all code which could potentially throw an exception is
moved to this method(). (In particular FluidSystem::init() proved
troublesome in the past.) Besides avoiding segmentation the faults
which stem from exceptions thrown in constructors, this also has the
advantage that simulations which spend a noticable amount of time to
initialize stop at the "correct" place, i.e. after the "Finish init of
the problem" message was printed by the simulator...
2014-08-06 16:31:48 +02:00
Robert Kloefkorn
f61eab46df Make code compile with dune trunk version (ie 3.0-git). This should include support for
dune 2.3.
2014-08-06 14:00:54 +02:00
Andreas Lauser
344d613280 ECL problem: use spline based two-phase material laws
... instead of piece-wise linear ones. This improves convergence rates
slightly.
2014-08-06 13:52:53 +02:00
Andreas Lauser
06501bb851 Black Oil model: implement support for multi-region PVT tables
this requires opm-material commit 12a6d1f
2014-08-05 16:52:52 +02:00
Andreas Lauser
6f9eb5a29c ECL problem: fix "unused variable" warnings for optimized builds 2014-08-05 00:21:18 +02:00
Andreas Lauser
8b6a68f8fd ECL simulator: add a well model based on the Peaceman approach
not yet implemented: group controls, changing well control modes after
a time step. (The latter should be relatively straight-forward.)
2014-08-04 20:29:54 +02:00
Andreas Lauser
9e9a8639ec ECL problem: write the initial solution again
this regressed after time step index of the initial solution was
changed from 0 (actually, this was also 0 for the first time step...)
to -1 in b30af664.
2014-08-04 17:16:48 +02:00
Andreas Lauser
6ab54a1057 ECL problem: set the first time step of the each epsiode to the report step size 2014-07-28 18:26:58 +02:00
Andreas Lauser
faa98b4f74 add a unit test for the implementation of transmissibilty multipliers in DerivedGeology
for the legacy C-style grid the unit test is more or less complete (it
does not test FAULTMULT and NNC, etc, but these could be added with
sufficient determination), for Dune::CpGrid it currently does not
really check anything because I have not found a good way for CpGrid
to produce the "global" intersection index of an intersection...
2014-07-28 11:30:13 +02:00
Andreas Lauser
db506c78e6 ECL problem: move the code which potentially throws into the finishInit() method
this avoids some segfaults due to half constructed objects if an
exception is thrown on initialization.
2014-07-25 15:31:01 +02:00
Andreas Lauser
2c3ebefc68 adapt to the reworked blackoil fluid system and function tabulation classes
in particular, the density of undersaturated oil is now the one
specified by the PVTO keyword...
2014-07-24 14:59:34 +02:00
Andreas Lauser
fe341d88cf use the checkConservativeness() method in all appropriate test problems
"appropriate" basically means "does not use constraints", as
constraints do not care about the conservation quantities...
2014-07-22 12:41:56 +02:00
Andreas Lauser
7af0060812 ECL problem: fix the episode handling code
now the report steps specified in the deck are adhered to...
2014-07-09 12:03:50 +02:00
Andreas Lauser
a5f13f65b8 ECL problem: fix up calculation of the initial condition 2014-07-08 10:16:29 +02:00
Andreas Lauser
6da90de741 ECL problem: Use Cartesian element indices for more fields from the deck
probably there are still a few missing...
2014-07-08 10:16:17 +02:00
Liu Ming
28b354c625 Add HAVE_PETSC macro. 2014-07-08 10:58:39 +08:00
Atgeirr Flø Rasmussen
12c9ef2b09 Merge pull request #607 from osae/swatinit
Scaling of capillary pressure / initialisation from kw SWATINIT.
2014-07-07 14:10:02 +02:00
Bård Skaflestad
033625c5a8 well_controls: Add deep-copy (clone) support
New function well_controls_clone(), implemented in terms of the
public API only, mirrors the objective of function clone_wells(),
only for well control sets.  Add a basic test to demonstrate the
function too.
2014-07-03 16:09:56 +02:00
Andreas Lauser
377ed04495 ECL problem: use logically cartesian cell indices to retrieve data from the deck
Before, it only worked if all cells were active. Also, take the NTG
and MULTPV keywords into account and prepare for permeability
multipliers.
2014-07-03 15:13:10 +02:00