Commit Graph

563 Commits

Author SHA1 Message Date
Tor Harald Sandve
21ad35b691 Fixes to test_solventprops_ad
- fix mismatch between grid size and the test cell size
- avoid using new
2016-04-05 08:48:54 +02:00
Tor Harald Sandve
4824019b92 Adapt to rename of parserMode to parserContext 2016-04-01 16:08:30 +02:00
Tor Harald Sandve
a02a07289e Implement pressure effects in the Todd-Longstaff mixing parameter
The Todd-Longstaff model is extended to incorporate pressure effects
The solvent viscosity is then caculated as

mu_eff = mu_s^(1-\alpha * \omega) * mu_mix^(\alpha * \omega)

where \omega accounts for the porous media effects and \alpha =
\alpha(pressure) accounts for the miscibility of the solvent and oil
when contacted.
The \alpha values can be given using the TLPMIXPA keyword

If no entries are given to TLPMIXPA the table specified using PMISC will
be used as default.
IF TLPMIXPA does not appear in the grid \alpha = 1 and the pressure
effect is neglected.
This is tested in test_solventprops_ad.cpp
2016-04-01 15:55:56 +02:00
Liu Ming
939085155e refactor relperm diagnostics using OpmLog functions. 2016-04-01 12:27:03 +08:00
Joakim Hove
18c07d5d66 Replaced SimulatorState -> SimulationDataContainer 2016-03-29 10:48:36 +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
Liu Ming
17e5eb2dee rename ParseMode as ParseContext. 2016-03-17 10:02:50 +08:00
Liu Ming
dcd12f052a rename ParseMode as ParseContext. 2016-03-17 09:57:59 +08:00
Liu Ming
8cd08728f7 rename ParseMode as ParseContext. 2016-03-17 09:57:59 +08:00
Liu Ming
c2622708e4 rename ParseMode as ParseContext. 2016-03-17 09:57:59 +08:00
Tor Harald Sandve
35b34f1b3a Add pow() for constant base raised to variable exponent in AutoDiffBlock
- associated tests are added
- this PR also contains some clean up
2016-03-08 10:35:29 +01:00
Tor Harald Sandve
b2e02f6d2b Add power method for general f^g in the AutoDiffBlock
A power method where both f and g are ADB variables is added
using the general derivative rule
(f^g)' = f^g * ln(f) * g' + g * f^(g-1) * f'

Tests are added to test_block.cpp
2016-03-07 14:23:45 +01:00
Andreas Lauser
a9f758a8e7 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
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
Joakim Hove
a9262e4574 Set abs_diff limit for restart_test to 1e-2 2016-02-19 13:00:27 +01:00
Jørgen Kvalsvik
19e41bd246 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-19 11:55:19 +01:00
Joakim Hove
95752bcd97 Added absolute eps for comparison. 2016-02-19 07:42:38 +01:00
Joakim Hove
d1b30f4f48 Changed wording: relative -> absolute 2016-02-19 07:41:53 +01:00
chflo
d7c5c30314 Changed numeric limits for restart test failure 2016-02-19 07:39:41 +01:00
chflo
3fc8ea4c9c Added restart test 2016-02-10 14:47:56 +01:00
Jørgen Kvalsvik
850f0884f1 Improve includes from opm-parser
Adopting to opm-parser PR#661, add previously missing includes.

OPM/opm-parser#661
2016-01-26 13:32:34 +01:00
Jørgen Kvalsvik
e8c6c3102f Improve includes from opm-parser
Adopting to opm-parser PR#661, add previously missing includes.

https://github.com/OPM/opm-parser/pull/661
2016-01-26 13:30:58 +01:00
Jørgen Kvalsvik
b0692304d5 Improve includes from opm-parser
Adopting to opm-parser PR#661, add previously missing includes.

https://github.com/OPM/opm-parser/pull/661
2016-01-26 13:30:58 +01:00
Jørgen Kvalsvik
98190eceb1 Fixes includes wrt opm-parser PR-656
Several files stopped compiling due to relying on opm-parser headers
doing includes. From opm-parser PR-656
https://github.com/OPM/opm-parser/pull/656 this assumption is no longer
valid.
2016-01-21 09:42:51 +01:00
Jørgen Kvalsvik
50c1bbdc85 Fixes includes wrt opm-parser PR-656
Several files stopped compiling due to relying on opm-parser headers
doing includes. From opm-parser PR-656
https://github.com/OPM/opm-parser/pull/656 this assumption is no longer
valid.
2016-01-21 09:42:51 +01:00
Jørgen Kvalsvik
087710df7d Fixes includes wrt opm-parser PR-656
Several files stopped compiling due to relying on opm-parser headers doing
includes. From opm-parser PR-656 https://github.com/OPM/opm-parser/pull/656
this assumption is no longer valid.
2016-01-20 15:11:30 +01:00
Liu Ming
0470428cab fix relperm diagnostics tests issue. 2016-01-11 16:05:33 +08:00
Joakim Hove
8ff67bd4a1 Removed erroneous test data. 2016-01-05 11:47:20 +01:00
Atgeirr Flø Rasmussen
186d77867a Silence warnings in test programs. 2015-12-14 15:25:27 +01:00
Atgeirr Flø Rasmussen
c8a1492ca9 Merge pull request #928 from totto82/minpv_pinch
compatibility of MINPV and PINCH
2015-12-14 11:33:20 +01:00
Tor Harald Sandve
96b0f2e8cb Bugfix. Fix face direction in the pinchprocessor 2015-12-14 10:48:26 +01:00
Atgeirr Flø Rasmussen
d30147abfd Merge pull request #555 from totto82/residualSaturations
Add methods for critial gas and gas in oil saturations
2015-12-11 13:08:54 +01:00
Tor Harald Sandve
4b66b0874e Add methods for critial gas and gas in oil saturations
Methods that returns the scaled critical gas (SGCR) saturation and the
scaled critical gas in oil saturation (SOGCR) is added to
BlackoilPropsAdFromDeck and BlackoilPropsAdInterface

A test is added in test_boprops_ad and fluid.data is modified to make
the test non trivial.
2015-12-11 12:53:54 +01:00
Tor Harald Sanve
650fef5bc2 Add power operator to AutoDiffBlock 2015-12-10 10:30:28 +01:00
Tor Harald Sandve
ca3e48d099 Adapt to changes in the NNC class 2015-12-08 13:03:15 +01:00
Tor Harald Sandve
5a3ee3b961 Adapt to changed API in the pinch-processor 2015-12-08 09:25:35 +01:00
Tor Harald Sandve
04b0321f13 Fix to account for the combination of minpv and pinch 2015-12-08 09:21:51 +01:00
Liu Ming
db103c7868 Merge remote branch 'remotes/opm/master' into relpermDiagnostics
Conflicts:
	CMakeLists_files.cmake
2015-12-08 16:08:02 +08:00
Arne Morten Kvarving
3ce3b0aac1 move polymer test to tests directory 2015-12-07 10:46:20 +01:00
Joakim Hove
d7913c4173 Added out-of-range tests. 2015-12-03 16:19:43 +01:00
Joakim Hove
364dbf809f Added regression test for norne PvtLiveOil PVT. 2015-12-03 14:16:04 +01:00
Liu Ming
bff9920814 Add simple tests. 2015-12-02 10:59:13 +08:00
Andreas Lauser
5d37b61a77 fix build for newish boost versions
my boost is 1.58. once more, boost seemed to have become more picky on
where a semicolon must be placed and where not.
2015-11-27 16:09:01 +01:00
Atgeirr Flø Rasmussen
2a0051655c Merge pull request #520 from totto82/surface_dens
Support for non-constant surface densities
2015-11-13 11:40:30 +01:00
Tor Harald Sandve
a47c9add9b Change interface of surfaceDensity()
Add phaseIdx as input and return array of n density values for the
phase. And adapt the usage accordingly.
2015-11-10 14:54:49 +01:00
Atgeirr Flø Rasmussen
a8227f977e Modify test to trigger on buggy behaviour in AutoDiff. 2015-11-10 13:37:36 +01:00
Tor Harald Sandve
a46b64adcd Support for non constant surface densities
The surface density function returns one value pr cell to allow for non
constant surface densities.
2015-11-10 12:49:19 +01:00
Atgeirr Flø Rasmussen
682f53fdc5 Remove unused arguments in PinchProcessor methods.
This silences warnings. It also makes it clear that
the cell thicknesses are not used in the current
algorithm, the doc comment has been updated to
reflect this.
2015-10-21 11:52:31 +02:00
Atgeirr Flø Rasmussen
852693b72c Merge pull request #892 from qilicun/pinchprocessor
PinchProcessor
2015-10-19 10:22:44 +02:00
Atgeirr Flø Rasmussen
67f1def789 Add "allow crossflow" argument to add_well() calls. 2015-10-15 09:54:53 +02:00
Atgeirr Flø Rasmussen
10b4d6c6f7 Merge pull request #897 from totto82/crossflow
Add boolean flag to determine whether crossflow is allowed in a well
2015-10-14 09:36:27 +02:00
Liu Ming
2f7f54982b use PinchMode instead of string. 2015-10-09 16:30:39 +08:00
Liu Ming
10e9df4bd1 Add tests case for pinch processor. 2015-10-09 10:33:21 +08:00
Tor Harald Sandve
40ec39fa71 Add boolean flag to determine whether crossflow is allowed in a well
This PR adds allow_cf to the wells structure that determine whether
crossflow is allowed or not. An extra argument is added to addWell(..)
to specify the allow_cf flag.
2015-10-06 15:54:20 +02:00
Joakim Hove
76f674b16b Updated path to warning suppression header. 2015-10-06 12:11:49 +02:00
Joakim Hove
197dda9ee0 Relocated warning headers. 2015-10-06 11:39:14 +02:00
Tor Harald Sandve
7bdd91d78f Allow for different surface densities in well perforations
The surface density input in well_perforation_densities() in
WellDensitySegmented.hpp is changed from one value pr. phase to one
value pr phase and perforation. This allow for different densities in
different perforation. The test is changed accordingly.
2015-10-06 10:38:36 +02:00
babrodtk
7f9175e046 Created named constructor for identity matrices 2015-10-02 10:22:05 +02:00
Atgeirr Flø Rasmussen
3d27454c6b Make grid in deck have larger number of cells.
This makes some tests succeed that use this deck only
for its properties and not its grid: if the grid in the
deck has fewer cells than the grid that is used for the
test we will fail in the SATNUM mapping.
2015-10-01 15:20:08 +02:00
Bård Skaflestad
99368d73d2 RegionMapping<>: Support arbitrary region IDs
This commit introduces a new public method, activeRegions(), that
retrieves those region IDs that contain at least one active cell.
We furthermore extend the cells() method to support lookup of
arbitrary region IDs.  Non-active region IDs produce empty cell
ranges.

Intended use case is

    for (const auto& reg : rmap.activeRegions()) {
        const auto& c = rmap.cells(reg);

        // use c
    }
2015-09-15 15:33:22 +02:00
babrodtk
39154f04fe Added tests for autodiffmatrix 2015-09-07 13:01:31 +02:00
babrodtk
945593295d Fixed test_autodiffhelpers 2015-09-07 13:00:41 +02:00
babrodtk
3a9a153c22 Fixed test_block 2015-09-07 13:00:41 +02:00
Atgeirr Flø Rasmussen
097542a527 Whitespace fixes.
It turns out I accidentally used tabs for a while, this commit
fixes that for all touched files.
2015-09-07 13:00:41 +02:00
Atgeirr Flø Rasmussen
1f32594f79 Fix bug in prodDD(), add test. 2015-09-07 13:00:02 +02:00
Atgeirr Flø Rasmussen
47e7dbe943 New implementation of AutoDiffMatrix, some tests.
Compiles and tests successfully, but test coverage very
limited. New approach based on relatively primitive
run-time switching instead of trying to use inheritance.
2015-09-07 12:58:51 +02:00
Atgeirr Flø Rasmussen
6a5a48e728 Work in progress on AutoDiffMatrix (not compiling). 2015-09-07 12:58:51 +02:00
Andreas Lauser
7905894a0f "fix" the satfunc unit test
the derivatives changed in some instances compared to the old
implementations. this patch updates them to the new versions.

thanks to [at]atgeirr for discovering this.
2015-09-02 12:29:18 +02:00
Joakim Hove
8c6f06147e Ensure that thresholdPressure.hpp is compiled.
Added a test to ensure that thresholdPressure is compiled; however the
test is deactivated because it requires the GridHelpers from opm-autodiff.
2015-08-25 16:22:38 +02:00
babrodtk
6c590d4bdb Implemented proper targets for switching to/from THP control 2015-08-19 17:03:41 +02:00
Atgeirr Flø Rasmussen
3c1c3a30ab Merge pull request #430 from babrodtk/vfpprod
Vertical flow performance
2015-08-19 13:27:37 +02:00
Atgeirr Flø Rasmussen
3db9d9062e Fix bug in test program. 2015-08-19 13:12:14 +02:00
babrodtk
9458fcc498 Fixed several compiler warnings 2015-08-19 13:12:14 +02:00
babrodtk
f320b04c4d Initial integration of VFP 2015-08-19 13:10:48 +02:00
babrodtk
f3553313d2 Rewrote function finding interpolation data 2015-08-19 12:37:54 +02:00
babrodtk
b2335ced24 Minor fixes for PR 2015-08-19 11:32:38 +02:00
babrodtk
6b3356e74d Minor fixes for comments in PR 2015-08-19 08:07:51 +02:00
babrodtk
657a7c58b8 Added hydrostatic correction for vfp table depth
Closer to reproducing proper results, but som oscillating
 behaviour in plots of actual BHP.
2015-08-14 14:48:15 +02:00
Atgeirr Flø Rasmussen
24f91aa248 Use the correct (new) method from the Group class for group RESV.
Production controls now are no longer initialised from injection control data.
2015-08-13 10:21:24 +02:00
babrodtk
2994d1d932 Refactoring 2015-08-11 12:21:06 +02:00
babrodtk
08dd631a8d Refactoring/restructuring 2015-08-11 10:24:55 +02:00
babrodtk
5af128bcb6 Refactoring 2015-08-11 09:47:06 +02:00
Atgeirr Flø Rasmussen
9a0ff41221 Silence warnings. 2015-08-11 09:20:35 +02:00
Atgeirr Flø Rasmussen
5216550cdf Suppress warnings. 2015-08-10 16:07:45 +02:00
babrodtk
c5c965adec Fixed bugs in tests for VFP tables 2015-08-10 09:31:25 +02:00
babrodtk
d45543b8fb Proper integration of derivatives for THP 2015-08-10 08:55:06 +02:00
babrodtk
ff403afb1d Fixed bug in superset when index list empty 2015-08-10 08:55:06 +02:00
babrodtk
7eb94caeba Updated integration of VFP tables. Produces almost identical results to bhp control 2015-08-10 08:55:05 +02:00
babrodtk
16a4580219 Implemented test to check derivatives for interpolateplane 2015-08-10 08:55:05 +02:00
babrodtk
34edf3a5b8 Changed API of VFPProperties to take ADBs 2015-08-10 08:55:05 +02:00
André R. Brodtkorb
99c23d3810 Bugfix interpolation 2015-08-10 08:55:05 +02:00
babrodtk
f424a26651 Added initial calculation of derivatives 2015-08-10 08:55:05 +02:00
babrodtk
0d36d81e51 Implemented test for case when bhp(thp) == bhp 2015-08-10 08:55:05 +02:00
babrodtk
926f7ba175 Return zero for e.g., the gas:oil-ratio if no oil 2015-08-10 08:54:34 +02:00
babrodtk
79410685ca Refactoring and updated tests 2015-08-10 08:54:34 +02:00
babrodtk
d27403b427 Initial integration of VFPProdTables 2015-08-10 08:54:34 +02:00
babrodtk
3260e978da Minor refactoring of VFPProperties to prepare for support for VFPINJ tables 2015-08-10 08:53:42 +02:00
André R. Brodtkorb
066e54bbfc Updated VFPProperties to support a vector VFPProdTable's 2015-08-10 08:50:26 +02:00
André R. Brodtkorb
fe7b5f2f6f Updated tests to support units 2015-08-10 08:50:26 +02:00
André R. Brodtkorb
179a210ad5 Updated VFPProperties to use the newly implemented VFPProdTable class in opm-parser (with units) 2015-08-10 08:50:26 +02:00
André R. Brodtkorb
1d7f601fab Removed superfluous varible 2015-08-10 08:50:26 +02:00
André R. Brodtkorb
3d14ea9432 Added test of the most high-level bhp function 2015-08-10 08:50:26 +02:00
André R. Brodtkorb
ab445a6d9a Added proper error checking and partial units 2015-08-10 08:50:26 +02:00
André R. Brodtkorb
ccf06c2c1c Added tests for computing the flo/wfr/gfr values based on the aqua/liquid/vapour flow rates 2015-08-10 08:50:26 +02:00
André R. Brodtkorb
2f6e44500b Updated ADB test case 2015-08-10 08:50:26 +02:00
André R. Brodtkorb
3dfd9ad56d Added ADB version of bhp function 2015-08-10 08:50:25 +02:00
André R. Brodtkorb
0e3b951cd0 Added skeleton of interpolation using ADBs as input 2015-08-10 08:50:25 +02:00
André R. Brodtkorb
7b0132b110 Added linear extrapolation 2015-08-10 08:50:25 +02:00
André R. Brodtkorb
106467e889 Tabs to spaces 2015-08-10 08:50:25 +02:00
André R. Brodtkorb
67b55f873c Created tests for the VFPProperties class 2015-08-10 08:50:25 +02:00
Joakim Hove
83c14a4dd7 Removed extre trailing '/' 2015-08-06 18:39:36 +02:00
Joakim Hove
b94d5a135d Updated to use ParseMode. 2015-08-06 15:56:51 +02:00
Joakim Hove
23b3670c1e Updated to use ParseMode. 2015-08-06 15:56:51 +02:00
Joakim Hove
7bd36a6b65 Addde ParseMode argument to parse and EclipseState 2015-08-05 14:18:05 +02:00
Atgeirr Flø Rasmussen
7b9bdb6017 Do not use pressure() until after init() in BlackoilState. 2015-07-08 17:58:38 +02:00
Atgeirr Flø Rasmussen
a5da86a9ec Silence multiple warnings.
Also add more warnings to the disabling list of disable_warnings.h.
2015-05-28 14:05:09 +02:00
Markus Blatt
baf76dc1bf Test the global reductions for more types.
Previously, we only tested with int which left at least
one bug unreveiled. Now we test with unsigned integers
and floating point values in addition.
2015-05-27 14:49:30 +02:00
Markus Blatt
8fce12c526 Update copyright 2015-05-27 11:07:16 +02:00
Markus Blatt
a4e28119a3 Adds the possibility to compute a parallel inner product. 2015-05-27 11:07:15 +02:00
Arne Morten Kvarving
a87b46a037 fix tests
- cannot use BOOST_CHECK_CLOSE around 0 due to a relative test
- slacken a tolerance significantly
2015-04-24 10:49:13 +02:00
Atgeirr Flø Rasmussen
059bfaf036 Fix error in test for vertcatCollapseJacs(). 2015-03-24 15:05:05 +01:00
Atgeirr Flø Rasmussen
9af3296aa9 Add test for vertcatCollapseJacs().
The test case is non-trivial in that it concatenates elements with a mix of
empty() and non-empty jacobian vectors.
2015-03-24 09:50:34 +01:00
Atgeirr Flø Rasmussen
5ff65b40e1 Fix bug added when adapting to new API.
Avoid using invalidated 'jacs', make copy.
2015-03-16 14:22:32 +01:00
Atgeirr Flø Rasmussen
04b255a03f Make more use of move semantics in AD code.
This makes some API changes to AutoDiffBlock.
 - Add overload for the constant() constructor taking rvalue ref.
 - Add overload for the variable() constructor taking rvalue ref.
 - Make the function() constructor *require* rvalue refs.
 - Add a swap() function.

The remaining changes in this commit are follow-ups especially
to the third change (adding std::move in many places), and
some removal of unnecessary block pattern arguments from calls to
the constant() static method.
2015-03-16 14:22:32 +01:00
Atgeirr Flø Rasmussen
965be0471f Remove non-AD overload of muWat().
The AD version is made a little smarter, detecting the
case of input with no derivatives. Existing use of the
non-AD rewritten.
2015-03-03 12:56:30 +01:00
Atgeirr Flø Rasmussen
4d9a30807b Fix test_rateconverter failure.
- Make test use three phases, not two.
 - Avoid interpolation failure by adding a line to PVDG.
2015-02-27 10:20:30 +01:00
Atgeirr Flø Rasmussen
d9ce8625cf Remove unused classes.
After this, the two affected tests fail due to bugs in PVT region
support in BlackoilPropsAdFromDeck.
2015-02-23 13:42:51 +01:00
Markus Blatt
fc137afcd5 Adds a constructor to BlackoilPropsAdFromDeck that allows copy the grid independant part.
In the parallel simulator we will have to be able adress only poperties on
some part of the global grid. To create thos properties we need to be able
to copy the grid independant data of the properties object and resize the rest.
This commit adds a construct taking a properties object for reading and a
new number of cells to accomplish this.
2015-02-12 21:33:41 +01:00
Atgeirr Flø Rasmussen
fb983a44b1 Add default producer BHP control when not given in deck.
Default limit is 1 atm.
2015-02-04 10:30:15 +01:00
Atgeirr Flø Rasmussen
9cb9ec50b1 Rename directory opm/core/tof -> opm/core/flowdiagnostics. 2015-02-03 21:44:24 +01:00
Markus Blatt
aac4cb7d66 Correctly compute the minimum and maximum values.
As there are no functors for computing the minimum and maximum,
we convert the std::max and std::min function pointers to
functors (which is not really nice.) Previously we were somehow
tricked into using std::greater and std::less, which of course do
return true or false and not what we need. Additionally, do more
excessive testing with different ranges.
2015-01-23 20:48:53 +01:00
Bård Skaflestad
6d8c89abea Merge pull request #728 from blattms/global-reductions
Added methods for computing global reductions.
2015-01-23 17:28:12 +01:00
Markus Blatt
d137b0c144 Calm warnings about excessive semi-colons, unused variables, and missing declarations. 2015-01-23 16:36:48 +01:00
Markus Blatt
7bce15c04b Added methods for computing global reductions.
We need to compute quite a few global reductions in the
Newton method of opm-autodiff. This commit adds the functionality
to compute several reductions combined using only one global
communication. Compiles and test succeeds with one or more process.
2015-01-21 16:19:35 +01:00
Atgeirr Flø Rasmussen
77ae151be9 Added calculation of flow diagnostics quantities.
New functions:
 - computeFandPhi()
 - computeLorenz()
 - computeSweep()

Also a unit test has been added for the new features.
2015-01-21 14:58:44 +01:00
Markus Blatt
dca6b436a7 Activates transmissibilities test for CpGrid without warnings.
Tests run fine for both grids.
2015-01-15 21:27:07 +01:00
Markus Blatt
b0707e05bf Ported test_transmissibilities to the UgGridHelpers interface.
Previously, there were a completely different check for UnstructuredGrid
and CpGrid. The latter probably not working properly due to missing
support in the DUNE grid interface.

This commit resorts the code to use the UgGridHelpers abtraction instead of
UnstructuredGrid's legacy grid interface. Thus one code can be used to do
the checks for both grids. For UG the code compiles and the test is successful.
For CpGrid it compiles but of course the test still fails due to missing
transmissibility multiplier support. This will be sorted out in a different PR.
2015-01-14 11:56:37 +01:00
Markus Blatt
e681d6b836 Use correct constructor for ntgGeology.
This should have been in the previous PR. But I missed it when splitting
things up.
2015-01-14 11:56:37 +01:00
Markus Blatt
55fb6fa7ed Use correct constructor of DerivedGeology used with CpGrid in test_transmissibilities.
The constructor now needs and additional boolean to
flag whether to local permeabilities. The old one used
is not there anymore. Therefor this patch moves the code
to the new constructor interface.
2015-01-12 14:56:42 +01:00
Joakim Hove
80423a0188 Pure white-space change 2015-01-12 12:43:44 +01:00
Tor Harald Sandve
82eafbb510 Renaming well is shut to well is stopped.
Rename the the meaning for shut as whats used in Eclipse.
STOP: Well stopped off above the formation. I.e. allow for flow in the
well.
SHUT: Well completely isolated from the formation. The well is removed
from the well list.
2015-01-09 09:10:10 +01:00
Tor Harald Sandve
d50ec0d4d1 Modify the well manager test as we now support stopped wells.
We no longer expect an exception when we meet stopped wells.
2015-01-09 09:10:10 +01:00
Tor Harald Sandve
0d044eada0 Add test case for stopped wells
The test check that the rates are set to zero for stopped wells.
2015-01-09 09:10:10 +01:00
Atgeirr Flø Rasmussen
10d4d228d1 Use dummy test if anisotropic eikonal solver unavailable. 2015-01-07 10:20:49 +01:00
Atgeirr Flø Rasmussen
4c12bf485d Modify test to succeed.
No longer test for (unattainable) exact values. Use actual
computed value instead. This makes the test a regression
test rather than a truth test.
2014-12-29 12:28:29 +01:00
Atgeirr Flø Rasmussen
e3a0eac260 Uncomment second test.
Test fails, it requires exact match which is too strict.
2014-12-29 12:28:29 +01:00
Atgeirr Flø Rasmussen
8b99d6394d Fix bug in test.
Also add (inactive) second test.
2014-12-29 12:28:29 +01:00
Atgeirr Flø Rasmussen
84da6a28f3 Added simple test, work in progress. 2014-12-29 12:28:29 +01:00
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
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
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
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
Tor Harald Sandve
dfa2c42233 Changes in the ref. solution in the DeakAllDead test 2014-08-12 07:08:57 +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
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
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
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
osae
c1732b0b32 Make use of EclipseState for EQLNUM and SWATINIT. 2014-06-26 14:46:57 +02:00
Andreas Lauser
05775a0b36 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
0219f83563 glue in support for property modifiers
i.e. reading the grid properties from EclipseState instead of from the
raw deck. This requires that all deck files exhibit a GRID and a
SCHEDULE section or else EclipseState will throw in the constructor.
2014-06-09 12:36:46 +02:00
Andreas Lauser
21719a6860 fix the equilibration test by using new values
thanks to @bska for the hints.
2014-06-04 13:26:37 +02:00
Andreas Lauser
d1a8c9d787 add missing PVTW keywords to the decks used by the equil test
the test still fails, but the errors seem to be due to differences in
the saturation functions...
2014-06-04 11:35:24 +02:00
Andreas Lauser
9a7b068d15 Implement multi-region PVT for all property classes
since they are not using a single PVT table anymore, their "Single"
prefix has been removed...
2014-06-04 11:11:35 +02:00
Andreas Lauser
6a50afb219 rename all "newParserDeck" objects to "deck"
The "new" parser is now "the" parser...
2014-05-21 11:22:43 +02:00
Andreas Lauser
f360562aee remove EclipseGridParser compatibility methods from all classes 2014-05-21 11:22:43 +02:00
Liu Ming
559003ef1e Test Petsc. 2014-05-16 14:55:23 +08:00
Andreas Lauser
b7f3ee7b79 rename "newParserDeck" to "deck" 2014-05-02 15:48:04 +02:00
Andreas Lauser
dbb19403fc completely remove the EclipseGridParser from the module 2014-05-02 15:47:52 +02:00
Andreas Lauser
553698a933 remove tests/integration_tests/sim_fibo_ad_test.cpp
this test seems to compare the old and the new parser which does not
make sense anymore once the old parser is no longer available...
2014-05-02 13:59:25 +02:00
Andreas Lauser
83705279bb add the TABDIMS keyword to the data file for the fluid unit test
that's necessary because the Eclipse RM references it in the table
keywords and the opm-parser needs the keyword to be present to use
it...
2014-04-30 16:49:29 +02:00
Andreas Lauser
112e96d7e6 convert the examples and the tests to opm-parser 2014-04-25 14:25:54 +02:00
Joakim Hove
feeaeb1d2e Changed the data files used for testing:
1) Added RUNSPEC section
2) Replaces DEPTHZ keyword with TOPS keyword.
2014-04-24 15:26:39 +02:00
Bård Skaflestad
29ae3ab836 Merge pull request #572 from andlaus/add_tabdims_to_some_decks
add the missing TABDIMS keyword to the live oil and wet gas unit test data files
2014-04-16 13:48:56 +02:00
Andreas Lauser
305e9d1448 add the missing TABDIMS keyword to the live oil and wet gas unit test data files
these are required for the new parser. (without them, these files
would be invalid AFAICT, but I'm not an Eclipse file format expert...)
2014-04-16 11:16:58 +02:00
Atgeirr Flø Rasmussen
b225970686 Add (all-zero) initialisation of new EquilRecord fields. 2014-04-15 13:41:10 +02:00
Bård Skaflestad
333e110d4f Merge pull request #538 from blattms/parallel-solver-support
Added support for parallel dune-istl solvers
2014-04-08 00:17:35 +02:00
Markus Blatt
f67ed5d334 Fix matrix size and symmetry for parallel runs. 2014-04-04 21:01:32 +02:00
Markus Blatt
7fd5b65691 Merge remote-tracking branch 'upstream/master' into parallel-solver-support
Removed conflicts in:
	opm/core/linalg/LinearSolverIstl.cpp
2014-04-04 20:38:52 +02:00
osae
a43ae52c18 Some additional tests: live gas, RSVD and RVVD 2014-04-03 09:07:00 +02:00
osae
054e7b42b8 Update tests and provide some eclipse output. 2014-03-31 15:32:06 +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
osae
5d028d4eca Merge branch 'master' of git://github.com/OPM/opm-core
Conflicts:
	CMakeLists_files.cmake
2014-03-26 14:51:06 +01:00
Atgeirr Flø Rasmussen
347016a066 Add more checks to cover bug that was in operator -=. 2014-03-26 12:25:11 +01:00
Atgeirr Flø Rasmussen
60ff38adc6 Added test for += and -= operators. 2014-03-26 12:03:44 +01:00
Atgeirr Flø Rasmussen
37a23825c4 Removed dead code in test_block.cpp. 2014-03-26 11:48:13 +01:00
Joakim Hove
f0126b2501 Removed WellsManager constructor which takes an ole Eclipsegridparser instance. 2014-03-25 18:57:58 +01:00
Atgeirr Flø Rasmussen
5a9786aa32 Merge pull request #540 from joakim-hove/wellsmanager-well-properties
Changed the access method to well rates/properties
2014-03-21 08:58:07 +01:00
Joakim Hove
2eab8aeb38 Changed the access to Parser/EclipseState/Schedule to use new well injection and production properties. To be aligned with opm-parser:e75970a28b96374409a55e3e6cea2198b6a0ea23 2014-03-21 00:35:15 +01:00
Markus Blatt
b8959c45dd Increase verbosity such that we see the actual solve 2014-03-20 22:24:33 +01:00
Markus Blatt
eda0be1b8c Fixes the laplacian.
As we do not represent dofs on the boundary, we need to make sure that all diagonal
values are 4.
2014-03-20 22:21:03 +01:00
Markus Blatt
8d9cd23722 Fixed test_linearsolver for the official 2.2 release.
This release does neither support KAMG nor FastAMG. Therfore
this patch deactivates test these preconditioners.
2014-03-20 22:18:27 +01:00
Markus Blatt
bdc4573e2a Added support for the parallel solvers of dune-istl.
To support this the solveSystem methods of the LinearSolverInterface gets
an optional additional template parameter of type boost::any. It can hold any
copy constructable object. In our case it is used to pass the information about
the parallelization into the solvers of dune-istl without the compiler needing to know
their type. Inside of LinearSolverIstl::solveSystem we check whether the type stored inside of
boost::any is the new ParallelIstlInformation. If this is the case we extract the information
and use the parallel solvers if available, otherwise we solve serial/sequential.

The new ParallelIstlInformation is needed as the OwnerOverlapCopyCommunication is not copy
constructable. This is indeed a design flaw that should and will fixed upstream, but for the
time being we need ParallelIstlInformation to transfer the ParallelIndexSet and RemoteIndices
objects.
2014-03-20 21:59:29 +01:00
Atgeirr Flø Rasmussen
fd4f5f5a26 Merge branch 'master' into new_well_formulation
Conflicts:
	opm/autodiff/FullyImplicitBlackoilSolver.cpp

To resolve conflicts, WellState was changed to WellStateFullyImplicitBlackoil
in multiple places, and perfRate() changed to perfPhaseRate() in
WellDensitySegmented.
2014-03-20 10:04:45 +01:00
Markus Blatt
2f3c17bd9d Added a test for the linear solver interface.
This test sets up a simple laplace problem and solves it with the available
solvers. It assume that either dune-istl or UMFPack is present, which is
assume to be safe.
2014-03-19 21:48:07 +01:00
Joakim Hove
8be1f0e8d3 Changed open / close behaviour of well_controls: 1) well_controls has an explicit open_close flag. 2) Will NOT flip current value to change open|close status 2014-03-04 20:23:19 +01:00
Atgeirr Flø Rasmussen
c2b647d245 Add test data file for compute_initial_state.cpp. 2014-02-27 15:55:08 +01:00
Atgeirr Flø Rasmussen
d13bf03e1f Bugfix in RsSatAtContact: use min(), not max().
Also modified test to match output.
2014-02-27 14:57:38 +01:00
Atgeirr Flø Rasmussen
1c9675605c Fix bug in RS initialisation.
Also throw if default init is specified and datum != goc depth.
2014-02-27 14:48:14 +01:00
Atgeirr Flø Rasmussen
a7c45d4e9f Rename PhasePressureSaturationComputer -> InitialStateComputer.
Also add (unused so far) rs_ field to class.
2014-02-27 09:08:39 +01:00
Atgeirr Flø Rasmussen
91ae9df907 Add test for live oil initialisation.
The test is not finished or verified yet.
2014-02-27 08:31:51 +01:00
Atgeirr Flø Rasmussen
38c89f363d Made phase mixing functors a class hierarchy.
In summary:
 - added RsFunction (base class),
 - made NoMixing, RsVD, RsSatAtContact inherit RsFunction,
 - RS and RV are no longer template arguments for EquilReg class,
 - EquilReg constructor now takes two shared_ptr<Miscibility::RsFunction>,
 - use of constructor updated, mostly using make_shared.
2014-02-26 14:47:24 +01:00
Atgeirr Flø Rasmussen
64b6a40191 Capitalize nested namespace names.
equil -> Equil
miscibility -> Miscibility
2014-02-24 15:55:14 +01:00
Atgeirr Flø Rasmussen
2b0fcfe748 Move RegionMapping class to its own header, add test.
Class now resides in opm/core/utility/RegionMapping.hpp.
2014-02-24 15:19:04 +01:00
Atgeirr Flø Rasmussen
83d0487097 Add test case with overlapping transitions.
Capillary pressure functions and contact depths
have been modified to ensure a large overlap.
2014-02-21 14:50:45 +01:00
Atgeirr Flø Rasmussen
7d63cb9204 Add test case with capillary transition region. 2014-02-21 08:55:15 +01:00
Atgeirr Flø Rasmussen
b2be489e6e Add saturation computation to and rename computer class.
Opm::equil::DeckDependent::PhasePressureComputer ->
Opm::equil::DeckDependent::PhasePressureSaturationComputer
2014-02-21 08:52:25 +01:00
Atgeirr Flø Rasmussen
dc6bcead91 Add test case for capillary inversion. 2014-02-21 08:32:15 +01:00
Atgeirr Flø Rasmussen
4ec65f2f8f Add another test deck for initialisation.
This deck includes capillary functions.
2014-02-20 15:39:15 +01:00
Atgeirr Flø Rasmussen
ebb6eaf742 Complete pressure test for dead-oil deck. 2014-02-19 13:41:20 +01:00
Atgeirr Flø Rasmussen
2ebaef62a0 Modify test data. 2014-02-19 13:40:02 +01:00
Kristian Flikka
ab42682399 Removed old EclipseGridParser from WellsManager constructor, WGROUPCON still missing 2014-02-14 15:36:32 +01:00
Kristian Flikka
3c93c7a781 Added building of WellsCollection group structure from new opm-parser objects 2014-02-14 13:43:25 +01:00
Kristian Flikka
d7568b4adf Changed the WellCollection addChild functions to be more specific, and strict 2014-02-13 16:00:39 +01:00
Kristian Flikka
1181d1c1bc Create WellsGroupInterface from opm-parser Well/Group objects 2014-02-12 15:39:57 +01:00
Kristian Flikka
7ba6431209 Fixed copyright section 2014-02-11 14:21:15 +01:00
Kristian Flikka
b6072e5112 Added support for creation of WellsGroup objects from new parser Well and Group objects 2014-02-11 14:12:36 +01:00
Kristian Flikka
aa329b8b3e Removed WELOPEN from constructor, added throwing on non OPEN/SHUT statuses 2014-02-06 16:31:35 +01:00
Kristian Flikka
269a2bbd24 Reverting some const_casting, that was introduced with no real reason 2014-02-05 21:24:38 +01:00
Kristian Flikka
2b47f0364b Const-ref of parameter to the runWithXParser() functions 2014-02-05 21:18:03 +01:00
Kristian Flikka
5309ba793b Removed comment 2014-02-05 19:46:27 +01:00
Kristian Flikka
79c3a38d24 Changed back arguments of runWithXParser to use ParameterGroup 2014-02-05 19:43:43 +01:00
Kristian Flikka
8d7e7cc731 Trying to get the test back running, by looking at the sim_fib_ad main method. Please advice if the string casting on line 335 is bad stuff, not my strongest side 2014-02-05 18:22:16 +01:00
Atgeirr Flø Rasmussen
b134fe048a Still working on test_equil.cpp. 2014-02-05 11:26:29 +01:00
Joakim Hove
ca2def2a02 Merged upstream/master 2014-02-04 21:42:07 +01:00
Atgeirr Flø Rasmussen
04eea929ba Fix contact depths in test deck. 2014-02-04 10:57:23 +01:00
Atgeirr Flø Rasmussen
634b78a9d9 Created simple data for init testing. 2014-02-04 09:38:47 +01:00
Atgeirr Flø Rasmussen
85be4b1263 Add (unfinished) test case. 2014-02-03 15:36:20 +01:00
Atgeirr Flø Rasmussen
0061b25408 Merge remote-tracking branch 'bska/initialisation' into initialisation 2014-01-31 15:41:58 +01:00
Bård Skaflestad
0fc3571488 Fix fallout from PR #474
The check introduced in PR #474 (commit ad899fc) means all decks
must supply valid depth data.  Update test decks accordingly to
restore "make test".
2014-01-31 14:24:02 +01:00
Joakim Hove
3e2df33a65 Merge remote-tracking branch 'upstream/opm-parser-integrate' into wellsmanager-rates
Conflicts:
	opm/core/wells/WellsManager.cpp
2014-01-30 09:50:09 +01:00
Joakim Hove
0138fc43ef Merged upstream/master 2014-01-29 15:25:21 +01:00
Kristian Flikka
fbe2f31653 Updated COMPDAT i,j,k indices, and removed the old commented part 2014-01-29 11:58:14 +01:00
Kristian Flikka
0d492ce407 Changed data file not not have same perforation multiple times, as the old system doesn't support this 2014-01-29 11:58:13 +01:00
Kristian Flikka
7ce9cb9055 Compdat extraction from new CompletionXXX classes 2014-01-29 11:58:13 +01:00
Kristian Flikka
74c3040c43 Added an extra data file with an extra well 2014-01-29 11:58:13 +01:00
Joakim Hove
9f948329c4 Merge remote-tracking branch 'upstream/master' into opm-parser-integrate 2014-01-29 11:02:21 +01:00
Joakim Hove
1548984acd Merge remote-tracking branch 'upstream/master' into wellsmanager-rates 2014-01-29 11:01:14 +01:00
Atgeirr Flø Rasmussen
d5ebe3c685 Use correct number of items in initialiser. 2014-01-27 10:42:35 +01:00
Atgeirr Flø Rasmussen
924080d8dc Proper memorymanagement in test program. 2014-01-27 08:32:24 +01:00
Atgeirr Flø Rasmussen
f9ea03fe67 Renamed SegmentedWellModel->WellDensitySegmented. 2014-01-24 15:54:01 +01:00
Atgeirr Flø Rasmussen
a4b2044e14 Modified test case to match MRST test case. 2014-01-23 12:42:17 +01:00
Kristian Flikka
3b0a9067b4 Removes the WELSPECS usage in WellsManager constructor. Step 1 in rewrite of constructor 2014-01-22 15:22:32 +01:00
Atgeirr Flø Rasmussen
aa5d9d255b Added a test program for SegmentedWellModel.
The only currently tested case is a simple water injector.
2014-01-22 12:56:08 +01:00
Bård Skaflestad
76844c9c59 Include <numeric> for std::iota()
Header was missing in earlier revision.
2014-01-21 17:54:47 +01:00
Bård Skaflestad
6814b97698 Add reverse look-up mapping for region vectors
Class RegionMapping<> provides an easy way of extracting the cells
that belong to any identified region (e.g., as defined by EQLNUM) of
the deck.
2014-01-21 17:54:47 +01:00
Bård Skaflestad
4114da26bd Test cell subset phase pressure assignment. 2014-01-21 17:54:46 +01:00
Bård Skaflestad
c582d00fb6 Compute phase pressures in subset of cells
This commit adds support for assigning the initial phase pressure
distribution to a subset of the total grid cells.  This is needed in
order to fully support equilibration regions.  The existing region
support (template parameter 'Region' in function 'phasePressures()')
was only used/needed to define PVT property (specifically, the fluid
phase density) calculator pertaining to a particular equilibration
region.
2014-01-21 17:54:46 +01:00
Bård Skaflestad
4c39a8a595 Add basic equilibration facility
This commit adds a simple facility for calculating initial phase
pressures assuming stationary conditions, a known reference pressure
in the oil zone as well as the depth and capillary pressures at the
water-oil and gas-oil contacts.

Function 'Opm::equil::phasePressures()' uses a simple ODE/IVP-based
approach, solved using the traditional RK4 method with constant step
sizes, to derive the required pressure values.  Specifically, we
solve the ODE

      dp/dz = rho(z,p) * g

with 'z' represening depth, 'p' being a phase pressure and 'rho' the
associate phase density.  Finally, 'g' is the acceleration of
gravity.  We assume that we can calculate phase densities, e.g.,
from table look-up.  This assumption holds in the case of an ECLIPSE
input deck.

Using RK4 with constant step sizes is a limitation of this
implementation.  This, basically, assumes that the phase densities
varies only smoothly with depth and pressure (at reservoir
conditions).
2014-01-21 17:54:46 +01:00
Kristian Flikka
b05630c310 parse function in libParser renamed, fixed in sim_fibo_ad 2014-01-13 08:43:39 +01:00
Tor Harald Sandve
d5b47295e3 Added pvt functionality for wetgas
The pvt interface is extended to handle wet-gas systems:
1. rvSat is added as a function in the PVT interface
2. SinglePvtLiveGas computes the pvt values and its derivatives
3. The old rbub variable is changed to rsSat for clearity
4. The new interface is tested in test_blackoilfluid with data from
liveoil.DATA and wetgas.DATA
2014-01-10 16:07:02 +01:00
Kristian Flikka
731fe7d3f4 Changed new WellsManager constructor to take in EclipseStateConstPtr instead of SchedulePtr 2014-01-08 16:10:55 +01:00
Kristian Flikka
1f1c0ebcf3 New constructor for WellsManager that also takes the new parser as argument. New test comparing old and new 2014-01-07 16:10:45 +01:00
Kristian Flikka
41b7af408b Merge from joakim/wellmanager 2014-01-07 16:09:35 +01:00
Joakim Hove
8132954b85 Added functions to get type, target and distr of *current* control. 2014-01-06 14:40:03 +01:00
Joakim Hove
6098368d08 Added new function well_controls_iset_distr(). 2014-01-06 12:22:15 +01:00
Joakim Hove
bf95c9f768 Added new functions to set target and type and invert value of current control. 2014-01-06 12:06:36 +01:00
Joakim Hove
8819f7f42c Changes test_wells to use well_controls_get_xxx() functions. 2014-01-06 10:34:25 +01:00
Joakim Hove
efcb1103d1 Changed test_wellsmanager to use well_controls_get_xxx() functions. 2014-01-06 10:26:46 +01:00
Joakim Hove
17b800796f Temporarily added symbol HAVE_WELLCONTROLS before including well_controls.h - to get acces to the internal elements in struct WellControls. 2014-01-05 16:25:31 +01:00
Joakim Hove
fb8413960c Removed #include <opm/core/well_controls.h> from wells.h and inserted explicit #include <opm/core/well_controls.h> where needed. 2014-01-05 15:03:30 +01:00
Joakim Hove
ec71334d74 Added test calls to wells_equal() and well_controls_equal(). 2014-01-03 16:01:15 +01:00
Joakim Hove
487ff810fd Added test_wellmanager which loads wellmanager from deck and tests many values. 2014-01-03 16:00:57 +01:00
Kristian Flikka
e4a7a33598 Implementation (not finished) of wells_equal, well_controls_equal, and tests. To build a WellsManager test for old and new parser
Conflicts:
	CMakeLists_files.cmake
2014-01-03 16:00:10 +01:00
Kristian Flikka
dba421316a Fixed sim_fibo_ad, by adding EclipseWriter 2013-12-05 13:38:40 +01:00
Kristian Flikka
35ce8d2932 Removed some debug code 2013-11-27 13:32:12 +01:00
Kristian Flikka
31b03a2572 Added new parser classes, simple step 1, loop through TSTEPS in Schedule 2013-11-27 13:32:12 +01:00
Kristian Flikka
031584aa81 Minor change to argument vector, to be according to the main() standard 2013-11-27 13:31:48 +01:00
Kristian Flikka
2de09d6d56 Removed use of deprecated boost native string func, replaced with string() 2013-11-27 09:10:54 +01:00
Kristian Flikka
5a2765a296 Updated test to match changed constructor of SimulatorFullyImplicitBlackoil 2013-11-26 15:16:21 +01:00
Kristian Flikka
3f68cbfe1b Fixed some rotten pointer/alloc code. Updated data paths 2013-11-26 14:46:07 +01:00
Kristian Flikka
111c9ee445 Added sim_fibo_ad_test, running two identical simulations with the SPE1 case 2013-11-26 12:55:41 +01:00
Joakim Hove
1829acd201 Added very simple parser test to check a parser can be instantiated and a simple file parsed 2013-11-14 12:52:12 +01:00
Kristian Flikka
3f970244de Replaced include math.h with cmath, and changed from fabs to abs. Fixed an error in the testfile, a filename was wrong 2013-11-04 13:51:32 +01:00
Joakim Hove
5798b5f9f1 Added test with accompanying data for Blackoilstate::equals() 2013-10-28 17:43:29 +01:00
Arne Morten Kvarving
278ad83e7f loosen tolerance a bit to avoid failing tests on certain archs (i386, precise) 2013-10-23 09:41:26 +02:00
Arne Morten Kvarving
e8386a32c1 changed: run test for a x different than pi
this to workaround roundoff differences occuring near sin(pi) on
different compilers/hardware
2013-10-16 11:35:47 +02:00
Atgeirr Flø Rasmussen
85f79c0e84 Rename AutoDiff::ForwardBlock -> Opm::AutoDiffBlock.
Also moved AutoDiffHelpers.hpp content to Opm namespace, and modified other
files as required by these two changes.
2013-09-19 12:53:28 +02:00
Atgeirr Flø Rasmussen
e9b933bf4f Rename AutoDiff::Forward -> Opm::AutoDiff. 2013-09-19 11:32:47 +02:00
Andreas Lauser
0582ef08d8 explicitly include <iostream>
instead of relying on relying that some header includes it...
2013-09-05 12:28:16 +02:00
Andreas Lauser
51cb4f2cb8 Add exception handlers to all tutorials and examples 2013-09-05 12:28:04 +02:00
Andreas Lauser
5cd622fbf7 use std::shared_ptr instead of boost::shared_ptr
our policy is that we only use boost if necessary, i.e., if the oldest
supported compiler does not support a given feature but boost
does. since we recently switched to GCC 4.4 or newer, std::shared_ptr
is available unconditionally.
2013-08-08 13:25:58 +02:00
Jens Olav Nygaard
d3a02e4891 Added ForwardBlock operator* for scalars. 2013-08-02 12:24:12 +02:00
Jens Olav Nygaard
23e2034118 Testing workflow with upstream + local repo.
Added template for unit test for new feature.
Updated (CMake's) list of unit tests.
2013-08-01 15:43:21 +02:00
Roland Kaufmann
814130f010 Provide way of shadowing only some properties
The current implementations of IncompPropertiesInterface are very
all-or-nothing. In some situations, you want to read rock and fluid
properties from an Eclipse file, but use analytical functions for
the unsaturated properties. Or you want to update properties based
on a marching filter.

This patch provides a way to mix various property objects, or to
"shadow" the properties with a raw array of data, so you don't have
to reimplement the entire interface just to make a small change.
2013-07-30 13:11:52 +02:00