Commit Graph

190 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
37c4bd16b1 Adapt code to dune-cornerpoint -> opm-grid renaming. 2016-04-06 13:29:47 +02:00
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
Joakim Hove
18c07d5d66 Replaced SimulatorState -> SimulationDataContainer 2016-03-29 10:48:36 +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
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
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
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
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
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
Arne Morten Kvarving
3ce3b0aac1 move polymer test to tests directory 2015-12-07 10:46:20 +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
67f1def789 Add "allow crossflow" argument to add_well() calls. 2015-10-15 09:54:53 +02:00
Joakim Hove
76f674b16b Updated path to warning suppression header. 2015-10-06 12:11:49 +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
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
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
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
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
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
7bd36a6b65 Addde ParseMode argument to parse and EclipseState 2015-08-05 14:18:05 +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
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
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
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
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
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
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
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