Commit Graph

1147 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
631498bd06 Activate MDU option, making SMU method its default. 2014-06-23 11:29:14 +02:00
Atgeirr Flø Rasmussen
1a59e7360b Fix bugs in MDU. 2014-06-23 11:23:16 +02:00
Atgeirr Flø Rasmussen
ae1236c5cd Add computation of face tofs parts.
This must be done after the cell tof has been computed since they
depend on it.
2014-06-23 11:22:14 +02:00
Atgeirr Flø Rasmussen
bd1bb1099f First compiling version of fixed MDU method. 2014-06-19 15:11:32 +02:00
Atgeirr Flø Rasmussen
0b05182645 Fix use of assert. 2014-06-16 13:44:00 +02:00
Atgeirr Flø Rasmussen
a199d78476 Work in progress fixing multidim upwinding. 2014-06-16 13:14:42 +02:00
Atgeirr Flø Rasmussen
4166a0621c Removed unused debugging output. 2014-06-16 12:49:41 +02:00
Atgeirr Flø Rasmussen
0afbecfa07 Split method solveSingleCell() for easier maintenance. 2014-06-16 12:49:41 +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
Bård Skaflestad
ed5bd42980 Merge pull request #596 from andlaus/fix_some_keyword_names
Fix some keyword names
2014-06-10 23:14:34 +02:00
Andreas Lauser
7603eafaf9 fix some keyword names
The queried keywords are unknown to the parser and after manual
inspection also to the Eclipse RM. There might be wrong keywords some
left, but these were to ones needed to get SPE9 started using
sim_fibo_ad...
2014-06-05 16:07:31 +02:00
Andreas Lauser
5936c59e22 add an assert 2014-06-04 11:11:35 +02:00
Andreas Lauser
749d0e838d incorperate the review comments/decisions for multi-region PVT
the largest change is that all classes below opm/core/props/pvt take
the PVT region index as an argument, the higher-level ones (i.e.,
BlackoilProps*) take cell indices.
2014-06-04 11:11:35 +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
Atgeirr Flø Rasmussen
abd341ab7f Supress signed-unsigned comparison warning. 2014-05-12 09:18:52 +02:00
Atgeirr Flø Rasmussen
a5ccc97a0f Merge pull request #573 from osae/test-eps
Endpoint scaling - taking advantage of the new parser.
2014-05-12 08:28:48 +02:00
osae
4a3c7ff204 Removing a few bugs ... 2014-05-06 18:15:03 +02:00
osae
d91c49cffd Proper interpretation of ENDNUM and IMBNUM fields.
Made consistent with grid discretization.
2014-05-06 14:41:17 +02:00
osae
d648917fcf Initialisation of EGLNUM (analogous to e.g SATNUM) 2014-05-06 12:47:24 +02:00
osae
ca5b0eb16f Inserted some documentation. 2014-05-05 11:27:10 +02:00
osae
bd38a577ae Fix to make EQLNUM consistent with ACTNUM.
This should eventually be integrated in the parser.
2014-05-05 11:23:43 +02:00
osae
922a73442c ENDNUM: changed default value and jtab-logic
Default value changed from 'no scaling' to 'use table 1'.
Range of jtab changed to [-1,#tables-1].
2014-05-05 10:33:04 +02:00
osae
48c3577277 Make use of keywords SATOPTS and EHYSTR. 2014-05-05 10:33:04 +02:00
osae
59eb5f6c20 Use ENDNUM and prepare for IMBNUM. 2014-05-05 10:33:04 +02:00
osae
a34eb162e8 Added missing line (parser conversion). 2014-05-05 10:33:04 +02:00
Andreas Lauser
0cdc32d213 adapt to the renames of the table classes in opm-parser
basically, "Opm::SimpleTable" becomes "Opm::SingleRecordTable".
2014-04-28 18:47:28 +02:00
Andreas Lauser
eb656c60ec add opm-parser variants for the incompressible property classes 2014-04-25 14:25:54 +02:00
Atgeirr Flø Rasmussen
320c3332ad Add missing break statements in switch, add default case. 2014-04-24 15:43:54 +02:00
Atgeirr Flø Rasmussen
be5af2378a Change option name and generated header names. 2014-04-15 20:21:10 +02:00
Atgeirr Flø Rasmussen
883e955176 Merge branch 'suppress-warnings' into suppress-external-warnings 2014-04-15 19:49:19 +02:00
Atgeirr Flø Rasmussen
ba26696d22 Fix access to keywords, while still silencing warning.
Previous fix was wrong because it called getKeyword() outside the
hasKeyword() check. Current version (like original code) uses the
short-circuiting behaviour of && to ensure this.
2014-04-15 14:52:21 +02:00
Atgeirr Flø Rasmussen
bd4eef5a86 Merge remote-tracking branch 'akva2/quell_dune_warnings' into suppress-external-warnings 2014-04-15 14:35:01 +02:00
Atgeirr Flø Rasmussen
cd0d48abbd Avoid signed/unsigned warning. 2014-04-15 13:40:50 +02:00
Atgeirr Flø Rasmussen
645ff76a0b Comment out unused function argument. 2014-04-15 13:40:15 +02:00
Atgeirr Flø Rasmussen
798ef0d070 Comment or add (void) usage of unused arguments. 2014-04-15 13:39:03 +02:00
Bård Skaflestad
d6d58d4045 Declare initBlackoilStateFromDeck(DeckConstPtr)
This was missing in commit 4c2120c and produced some build failures
that were hard to analyse.  I'm not convinced that the underlying
problem is solved, but this does at least restore the build.
2014-04-10 00:51:28 +02:00
Markus Blatt
20faca397a Added missing variant of initBlackoilStateFromDeck with new parser and without UG. 2014-04-09 14:34:04 +02:00
Markus Blatt
07ef14f181 Removed superfluous parameter cartdims from initStateFromDeck.
The parameter was unused and would cause trouble in initBlackoilStateFromDeck.
2014-04-09 14:33:35 +02:00
Markus Blatt
ab5e011f34 Merge remote-tracking branch 'upstream/master' into master-refactor-for-cpgrid-support
Manually resolved conflicts in:
	opm/core/io/eclipse/EclipseWriter.cpp
	opm/core/io/eclipse/EclipseWriter.hpp
	opm/core/props/satfunc/SaturationPropsFromDeck_impl.hpp
2014-04-08 21:50:00 +02:00
Atgeirr Flø Rasmussen
bbe5a0f776 Merge pull request #563 from osae/testEPS
New parser; proper handling of ENPTVD/ENKRVD.
2014-04-08 13:51:43 +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
Bård Skaflestad
99d7f61822 Don't reference OwnerOverlap* unless MPI is available
The class OwnerOverlapCopyCommunication is not defined unless MPI is
avilable.  Therefore, we cannot reference the type unless we know
that MPI is available in the current translation unit.
2014-04-07 20:01:18 +02:00
Atgeirr Flø Rasmussen
28abf88520 Changed documentation of Wells::comp_frac to match reality. 2014-04-06 23:45:08 +02:00
Atgeirr Flø Rasmussen
db88058b34 Use preferred phase of producer well to set comp_fraction.
This replaces the previous hack, that set comp_fraction to (0,1,0) always.
2014-04-06 23:33:43 +02:00
osae
32230f70c8 New parser; proper handling of ENPTVD/ENKRVD. 2014-04-05 10:56:30 +02:00
Atgeirr Flø Rasmussen
94d45c4c3d Merge remote-tracking branch 'totto82/add_compi_producers' into add_compi_producers 2014-04-05 00:18:38 +02:00
Atgeirr Flø Rasmussen
cb9c36df65 Merge pull request #544 from osae/equil-init
Equil init
2014-04-04 22:39:37 +02:00
Markus Blatt
472844e454 Merge remote-tracking branch 'upstream/master' into master-refactor-for-cpgrid-support
Removed conflicts in
	opm/core/wells/WellsManager.cpp
that were due to the change
```diff
-                    pd.well_index = WellsManagerDetail::computeWellIndex(radius, cubical, cell_perm, completion->getDiameter());
+                    pd.well_index = WellsManagerDetail::computeWellIndex(radius, cubical, cell_perm, completion->getSkinFactor());
```
in  WellsManager::createWellsFromSpecs which moved from WellsManager.cpp to WellsManager_impl.hpp file in a previous commit.
2014-04-04 21:21:22 +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
Bård Skaflestad
cb32cea7d7 Merge pull request #535 from blattms/add-scalar-product
Explicitly construct the ScalarProduct, and SequentialInformation.
2014-04-04 18:41:56 +02:00
Tor Harald Sandve
d90717877b Hack to set compi for producer.
compi is set to [0 1 0] for all producers
2014-04-04 12:15:49 +02:00
osae
3de80989a2 Equil regions now internally indexed 0..(NTEQUL-1) 2014-03-31 16:16:45 +02:00
Atgeirr Flø Rasmussen
eb19031c17 Bugfix: skin factor, not diameter. 2014-03-31 14:47:16 +02:00
Markus Blatt
7aa8728be9 Removed last artefact of checkCellExistence (in constructor taking wells)
Somehow this slipped one of the merges. With the last
patch this module failed to compile as we use the new
definition without the bool parameters.
2014-03-29 10:35:12 +01:00
Markus Blatt
0c96066a79 Readd definition of WellsManager constructor from wells.
As @bska pointed in my issue #518 this definition was
accidentally removed in commit 20468d1 during a merge of
upstream changes. Therefore I readd it with this patch.
2014-03-29 10:12:40 +01:00
osae
b86fa0af86 New parser included. 2014-03-28 17:35:43 +01:00
osae
b485d03711 Default equil region should be one not zero ...
Otherwise problems when kw EQLNUM is used.
2014-03-28 17:18:50 +01:00
Markus Blatt
c282949400 Merge remote-tracking branch 'upstream/master' into master-refactor-for-cpgrid-support
Manually resolved conflicts:
	opm/core/io/eclipse/EclipseWriter.cpp
	opm/core/io/eclipse/EclipseWriter.hpp
	opm/core/props/BlackoilPropertiesFromDeck.cpp
	opm/core/simulator/initState_impl.hpp
	opm/core/wells/WellsManager.cpp
	opm/core/wells/WellsManager.hpp
2014-03-27 15:27:11 +01:00
Markus Blatt
8653ffe327 [bugfix] Use the size of the vector for the copying.
The last patch did not compile as there was no size member
in scope. Therefore this patch resorts to using the size of
the vector.
2014-03-27 11:53:13 +01:00
Markus Blatt
23f19584cb Throw an error when using a sequential solver in parallel 2014-03-27 11:49:41 +01:00
osae
e1d2fa2088 Some adjustments to equil initialisation.
- Saturations, phase pressures, and standard initialsation of RS and RV
   now agree to baseline.
 - Tables of RS and RV versus vertical depth (kw RSVD RVVD) have been
   hardcoded for testing (need new parser) and the calculations agree to
   baseline in the gas and oil zones.  In the water zone there is some
   differences: Our code computes saturated RS and RV using the final
   phase pressures (these are modified to be consistent with saturations
   and capillary pressures) while the baseline uses unmodified phase pressures.
2014-03-26 14:53:47 +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
Markus Blatt
7495bfa6c4 [bugfix] Use the size of the vector for the copying.
The last patch did not compile as there was no size member
in scope. Therefore this patch resorts to using the size of
the vector.
2014-03-26 10:23:11 +01:00
Joakim Hove
f0126b2501 Removed WellsManager constructor which takes an ole Eclipsegridparser instance. 2014-03-25 18:57:58 +01:00
Markus Blatt
3115b7868f Moved ISTL right and left hand side construction for ISTL to solveSystem
cherry-picked from add-scalarproduct and ported.
2014-03-25 09:58:07 +01:00
Markus Blatt
909d3c9019 Moved ISTL right and left hand side construction for ISTL to solveSystem 2014-03-25 09:37:41 +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
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
Markus Blatt
cec51280e7 Explicitly construct the ScalarProduct, and SequentialInformation.
This patch refactors the calls to the dune-istl solvers.
The SeqScalarProduct, and SequentialInformation is now explicitly
constructed and later used to construct the smoothers
generically. Aditionally the linear operator (MatrixAdapter) is
constructed before calling the various solver dependent solve
routines.

While this does not change the behaviour of the code it is a
preparatory step to support parallel solvers. These parallel
solvers only differ in the type of the scalarproduct and
linear operator used from the sequential ones.
2014-03-20 12:09:24 +01:00
Markus Blatt
e1d0995104 Explicitly construct the ScalarProduct, and SequentialInformation.
This patch refactors the calls to the dune-istl solvers.
The SeqScalarProduct, and SequentialInformation is now explicitly
constructed and later used to construct the smoothers
generically. Aditionally the linear operator (MatrixAdapter) is
constructed before calling the various solver dependent solve
routines.

While this does not change the behaviour of the code it is a
preparatory step to support parallel solvers. These parallel
solvers only differ in the type of the scalarproduct and
linear operator used from the sequential ones.
2014-03-20 10:39:48 +01:00
Markus Blatt
8f60175d04 Include fastamg.hh for dune-istl 2.3
For the inofficial 2.2 release this was included automatically with amg.hh.
2014-03-19 19:51:17 +01:00
Markus Blatt
d333f413d1 Complete cf7f07b PR #530 to support FastAMG with dune-istl 2.3
This fixes further occurences of DUNE_HAS_FASTAMG that were
missed in pull request #530.

Previously we relied on the define DUNE_HAS_FAST_AMG to detect
whether these preconditioners are available. This define is only
available in the 2.2 release with cmake support. Therfore we now
addtionally test whether we are using dune-istl 2.3 or newer.
2014-03-19 17:40:02 +01:00
Atgeirr Flø Rasmussen
a9a3b423f0 Merge pull request #530 from blattms/support-fast-amg-2.3
Makes KAMG and FastAMG solver available with dune-istl 2.3
2014-03-19 15:28:23 +01:00
Atgeirr Flø Rasmussen
331342d753 Merge pull request #528 from blattms/fix-nonunifom
Fixes compilation of BlackoilPropertiesFromDeck.cpp.
2014-03-19 12:31:05 +01:00
Andreas Lauser
ddd662734f endpoint scaling: change default threephase_model to gwseg
and throw an exception if "simple" is encountered...

According to Ove, gwseg should be used, because "gwseg is the model
relevant to the norne case - i.e the model eclipse uses.

The fix for the simple model has to wait for a refac of the satfunc
complex."
2014-03-19 11:22:43 +01:00
Markus Blatt
8c8bb67aa0 Makes KAMG and FastAMG solver available with dune-istl 2.3
Previously we relied on the define DUNE_HAS_FAST_AMG to detect
whether these preconditioners are available. This define is only
available in the 2.2 release with cmake support. Therfore we now
addtionally test whether we are using dune-isl 2.3 or newer.
2014-03-19 11:19:25 +01:00
Markus Blatt
dd99948869 Fixes compilation of BlackoilPropertiesFromDeck.cpp.
Patch 31c09aed was erroneous as it was trying to assing a
SaturationPropsFromDeck<SatFuncSimpleNonuniform> to a
SaturationPropsFromDeck<SatFuncSimpleUniform> in the constructor
taking the new parser. This patch fixes this.
2014-03-19 11:09:13 +01:00
Atgeirr Flø Rasmussen
3d178087e7 Merge pull request #517 from blattms/issue-516
Apply changes from commit a953ba8 to new parser code too.
2014-03-19 08:29:16 +01:00
Andreas Lauser
0c1df10524 endpoint scaling: invert condition
yeah, true and false are difficult things sometimes...
2014-03-18 15:11:38 +01:00
Atgeirr Flø Rasmussen
5fc6cbc16f Made single-argument constructors explicit.
Avoids unintended implicit conversions.
2014-03-17 13:27:50 +01:00
Bård Skaflestad
957ad787ad Merge pull request #508 from atgeirr/adjust-initial-wellrates
Adjustment to well rate initialisation.
2014-03-15 14:59:27 +01:00
Atgeirr Flø Rasmussen
a13f7b990f Fix logic related to open/shut wells initialisation. 2014-03-14 11:27:20 +01:00
Atgeirr Flø Rasmussen
5bd306e7f0 Merge pull request #514 from joakim-hove/wells-cpos-manipulation
Removed cpos = ~cpos constructions for closing a well
2014-03-14 11:08:53 +01:00
Andreas Lauser
0b3217fe6f initStateFromDeck(): do not accept potentially contradicting ways to set the initial condition
i.e. PRESSURE and EQUIL are now considered mutually exclusive...
2014-03-13 16:33:32 +01:00
Markus Blatt
bb7b709312 Make initStateFromDeck with the new parser deck usable again.
My last merge broke compilation of opm-autodiff, as this new function
still relied on the old behaviour (the one taking a grid instead of
the data directly). This patch moved initStateFromDeck to the new behaviour.
2014-03-13 15:59:37 +01:00
Markus Blatt
e37cab0529 Fixed SaturationPropsFromDeck::initEPSKey for new parser and non-UG
There the cell_centroids where still treated like double*. This patch
uses the UgGridHelpers instead.
2014-03-13 15:41:59 +01:00
Markus Blatt
c6daebc35d Merge branch 'refactor-for-cpgrid-support' into master-refactor-for-cpgrid-support
Manually resolved conflicts in:
	opm/core/props/BlackoilPropertiesFromDeck.cpp
	opm/core/wells/WellsManager.cpp
2014-03-13 13:41:45 +01:00
Markus Blatt
d2bbf9a728 Fixed missed on occurence of number of samples 2014-03-13 12:13:11 +01:00
Markus Blatt
d0ca878c2a Apply changes from commit a953ba8 to new parser code too.
The mentioned commit was applied before the merge of
opm-parser-integrate and therefore the changes did not carry over
to the code that uses the new parser. This code mimics the
changed behaviour for the new parser.

Closes issue #516
2014-03-13 12:00:01 +01:00
Joakim Hove
ca7de3c7c1 Will check if a well is open before throwing for an invalid control. 2014-03-12 20:27:17 +01:00
Joakim Hove
7413894a67 Removed cpos = ~cpos constructions for closing a well; using well_controls_shut_well explicitly instead. 2014-03-12 17:41:40 +01:00
Atgeirr Flø Rasmussen
c0fd117103 Bugfix: || -> && 2014-03-11 12:54:04 +01:00
Atgeirr Flø Rasmussen
a592a23153 Assert to avoid future surprises.
Well types must be either INJECTOR or PRODUCER for now, if
we change this in the future, we should check this part of
the code as well.
2014-03-11 12:51:49 +01:00
Atgeirr Flø Rasmussen
db6a36d1fd Commented choices in initialisation of well rates. 2014-03-11 12:50:58 +01:00
Atgeirr Flø Rasmussen
c0ddb9707e Initialize well rates better.
Instead of making well rates zero for wells that are not controlled by
surface volume, we initialize them to a small value with the correct
sign (positive for injectors, negative for producers).
2014-03-10 13:30:43 +01:00
Bård Skaflestad
d88a5572b8 Merge pull request #506 from atgeirr/suppress-warnings
Suppress warnings
2014-03-06 11:37:17 +01:00
Arne Morten Kvarving
bb1e21d764 add option to quell dune(-istl) warnings 2014-03-05 09:27:47 +01:00
Atgeirr Flø Rasmussen
85a323e7da Remove warning pragmas.
They are only available on gcc 4.6 and newer, and clang.
2014-03-05 08:41:53 +01:00