Commit Graph

350 Commits

Author SHA1 Message Date
Markus Blatt
ebc86bc624 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
osae
498555fcdd New parser; proper handling of ENPTVD/ENKRVD. 2014-04-05 10:56:30 +02:00
Atgeirr Flø Rasmussen
b07cd277a7 Merge pull request #561 from totto82/fix_viscosity_table
Fix undersaturated viscosity table
2014-04-04 22:41:11 +02:00
Tor Harald Sandve
4576917061 Fix undersaturatd viscosity table
Data is now correctly read from ununderdatTable instead of pvtgTable
2014-04-04 16:06:19 +02:00
osae
782a5934c9 Fixed Bg versus 1/Bg issue. 2014-03-28 17:14:16 +01:00
Markus Blatt
8668ce7b71 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
Atgeirr Flø Rasmussen
3d9ef44625 Merge pull request #528 from blattms/fix-nonunifom
Fixes compilation of BlackoilPropertiesFromDeck.cpp.
2014-03-19 12:31:05 +01:00
Andreas Lauser
829f791261 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
fed0136a21 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
a529dd5ae4 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
5c55fb7341 fix densities for new parser in BlackoilPvtProperties
that is one of the more subtle differences between the old and the
new parsers. now, valgrind does not seem to complain anymore, so everything
should be All Right (TM) ;)
2014-03-18 20:42:40 +01:00
Andreas Lauser
83dcf17d5b endpoint scaling: invert condition
yeah, true and false are difficult things sometimes...
2014-03-18 15:11:38 +01:00
Markus Blatt
a6fb099fbb 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
eeb0039683 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
21bf14de0d Fixed missed on occurence of number of samples 2014-03-13 12:13:11 +01:00
Markus Blatt
31c09aed09 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
Atgeirr Flø Rasmussen
9edbe36b58 Remove extra semicolon. 2014-03-06 08:24:00 +01:00
Atgeirr Flø Rasmussen
f35c193b38 Suppress unused argument warnings. 2014-03-04 11:32:32 +01:00
Atgeirr Flø Rasmussen
73926a1b21 Merge pull request #495 from osae/endscale
Endpoint scaling and hysteresis for gwseg.
2014-03-04 10:29:50 +01:00
Atgeirr Flø Rasmussen
0eb32276fb Allow direct interpolation of props with new parser.
After transitioning to use the new parser, the SinglePvtDead class was never
used even when the 'samples' argument used to control usage was zero or negative.
The resulting construction of SinglePvtDeadSpline objects was then failing.

This change adds a new constructor to SinglePvtDead, and restores the ability
to control spline usage with the samples argument.
2014-03-03 09:17:11 +01:00
Joakim Hove
77bf601d6b Merge remote-tracking branch 'upstream/master' into opm-parser-integrate 2014-02-26 23:16:10 +01:00
Markus Blatt
38ab6e7f78 Remove ambiguous functions increment and getCoordinate from unnamed namespace in favor to those from namespace UgGridHelpers 2014-02-25 15:45:50 +01:00
Markus Blatt
921c452e5c Added suport for grid apart from UG for BlackoilPropertiesFromDeck 2014-02-25 15:45:15 +01:00
Atgeirr Flø Rasmussen
a953ba8659 Make linear interpolation default for saturation properties.
This includes relative permeability and capillary pressure functions.
The default has been to make a monotone spline from the given table
values and use a fine, uniform sampling of that. Now the default
is to use the tables as-is. It is still possible to use the spline
approach. For example in the class BlackoilPropertiesFromDeck one
may pass nonzero values for the 'pvt_tab_size' and 'sat_tab_size'
parameters, corresponding to how fine the spline will be sampled.
2014-02-21 09:54:47 +01:00
Markus Blatt
e5b1feb2d5 Assume begin_cell_centroid to what the name tells us: an iterator over then centroids.
Therfore we do not need to call center() in getCoordinate. This is done in the iterator
class returned from CpGrid.
2014-02-20 10:45:08 +01:00
Markus Blatt
3aad1a6cc5 Merge remote-tracking branch 'origin/opm-parser-integrate' into refactor-for-cpgrid-support
Resolved Conflicts:
	opm/core/props/BlackoilPropertiesFromDeck.cpp
	opm/core/props/rock/RockFromDeck.hpp
	opm/core/props/satfunc/SaturationPropsFromDeck.hpp
	opm/core/props/satfunc/SaturationPropsFromDeck_impl.hpp
2014-02-19 15:22:18 +01:00
osae
dbe6d2911d Endpoint scaling and hysteresis for gwseg.
Activation of eps and hysteresis treatment for gwseg. Also some
additional initialization.
2014-02-18 13:49:35 +01:00
Markus Blatt
8da99e11c5 Refactored parts needed for Blackoil in autodiff to get rid of UG dependency.
This patch refactors (hopefully) all parts of opm-core that are needed
by the fully implicite black oil solver in opm-autodiff and that inherently
relied on UnstructuredGrid.

We added a new simple grid interface consisting out of free functions
that will allow us to use CpGrid without copying it to an UnstructuredGrid
by the means of the GridAdapter. Using this interface we have add methods that
allow specifying the grid information (global_cell, cartdims, etc.) wherever
possible to prevent introducing grid parameters for the type of the grid.
Unfortunately this was not possible everywhere.
2014-02-17 13:23:01 +01:00
Andreas Lauser
3163865b2e add back a newline which went MIA
this confused the heck out of us during review. thanks to @bska for
stumbling over it...
2014-02-12 15:06:46 +01:00
Andreas Lauser
0addefc311 add variants of all methods which take a deck of the new parser to the BlackOilPropertiesFromDeck 2014-02-12 15:06:46 +01:00
Joakim Hove
4c16af4ab8 Merge pull request #467 from andlaus/parser-integrate_rock_properties
add variants of all methods which take a deck of the new parser to the rock properties
2014-02-11 18:13:07 +01:00
Joakim Hove
5f8f8b6a66 Merge pull request #468 from andlaus/parser-integrate_pvt_properties
add variants of all methods which take a deck of the new parser to the PVT properties
2014-02-11 18:11:24 +01:00
Andreas Lauser
88541d8762 make the saturation functions work with opm-parser 2014-02-10 14:50:37 +01:00
Andreas Lauser
7f9e689547 more typos
thanks to @bska
2014-02-10 14:49:58 +01:00
Andreas Lauser
927530a26a handle the ROCK keywords using the new opm-parser utility class 2014-02-10 14:49:58 +01:00
Andreas Lauser
a107613687 use the (new) RocktabTable class for rock compressibility
thanks to @bska for pointing this out
2014-02-10 14:49:58 +01:00
Andreas Lauser
dada2366cd add variants of all methods which take a deck of the new parser to the rock properties 2014-02-10 14:49:58 +01:00
Andreas Lauser
ec4423cab7 remove needless inclusion of <iostream>
thanks to @bska for catching this one...
2014-02-10 14:40:37 +01:00
Andreas Lauser
4542a43dbf add variants of all methods which take a deck of the new parser to the PVT properties 2014-02-10 14:40:37 +01:00
Joakim Hove
a8dc720a25 Merge pull request #469 from andlaus/parser-integrate_phase_usage_from_deck
git add variant of phaseUsageFromDeck() which takes a deck of the new parser
2014-02-10 13:30:39 +01:00
Andreas Lauser
71ab7bd335 add back blank line as requested by @bska 2014-02-07 19:35:28 +01:00
Andreas Lauser
2537ed0a0d git add variant of phaseUsageFromDeck() which takes a deck of the new parser 2014-02-07 19:35:28 +01:00
Joakim Hove
1548346476 Merge remote-tracking branch 'upstream/master' into opm-parser-integrate 2014-02-07 09:23:22 +01:00
Kristian Flikka
5cc903bbe0 Initializing do_hyst_ to false, this caused random segfaults in sim_fibo_ad 2014-02-06 21:17:36 +01:00
Joakim Hove
e1f104ccdd Merge remote-tracking branch 'upstream/master' into opm-parser-integrate 2014-02-05 23:06:54 +01:00
Atgeirr Flø Rasmussen
45b080b5be Merge pull request #489 from atgeirr/fix-more-warnings
Fix more warnings found by clang
2014-02-05 18:26:57 +01:00
Atgeirr Flø Rasmussen
9396d8b3ed Fix unused argument warnings. 2014-02-05 15:04:56 +01:00
Atgeirr Flø Rasmussen
543230c8cf Suppress warnings in unimplemented functions.
This prevents warnings from functions that are right now just
a throw statement. Also cleaned up a few whitespace issues nearby.
2014-02-05 14:27:51 +01:00
Joakim Hove
6c8cba9d19 Merged upstream/master 2014-02-04 21:42:07 +01:00
Joakim Hove
bfbc62655d Merge remote-tracking branch 'upstream/master' into opm-parser-integrate 2014-01-29 11:02:21 +01:00
Kristian Flikka
07feb6509d Updated Namespace of PhaseEnum from opm-parser 2014-01-28 21:11:51 +01:00
osae
fa470063ca Saturation table scaling and hysteresis.
This commit implements some additional scaling keywords.  This includes
the ISWL-family that provide hysteresis behaviour via alternative
scaling of the tables.  The old parser has been somewhat extended for
testing purposes.  The commit also includes a slight refactoring of the
SatFunc-family where a new base class has been introduced.
2014-01-28 16:36:55 +01:00
Tor Harald Sandve
06fbc93fef Fixing comments
The comment now currently say 1/Bg
2014-01-24 10:14:33 +01:00
Tor Harald Sandve
292b74e189 Change the extrapolation in the livegas pvts
The special extrapolation for pressure values above
the maximum table value is removed to sync with Mrst
2014-01-10 16:07:02 +01:00
Tor Harald Sandve
598c7a0cb8 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
2a35d3057c Changed phaseUsageFromDeck to use eclipseState 2014-01-10 13:43:02 +01:00
Bård Skaflestad
9e1e50d159 Switch condition interface to phase presence facility
Commit a5a4d7b introduced density and viscosity evaluators into the
SinglePvtInterface that accepted an externally assignable condition
to distinguish saturated from unsaturated cases.  As a result of a
few low-level technical problems with that approach, this commit
changes those affected interfaces to use the black-oil specific
'PhasePresence' facility of commit a033329 instead.

Update tests and callers accordingly.

Suggested by: @andlaus
Approved by:  @atgeirr
2013-12-03 16:12:52 +01:00
Bård Skaflestad
a033329b14 Add a facility for checking/assigning presence of free phases
This is intentionally black-oil specific because we presently do no
know how to handle other cases (e.g., more phases or number of phases
different from number of components).
2013-12-03 15:56:18 +01:00
Tor Harald Sandve
a5a4d7ba39 Added functions for b and mu with isSaturated as input.
Functions for volume factor and viscosity that explicitly take a boolean
variable indicating whether the fluid is saturated or not is added to
the SinglePvtInterface.

Corresponding changes are done in the dependent PVT files.

The new functionality is tested in test_blackoilfluid
2013-11-28 15:56:17 +01:00
Tor Harald Sandve
1d3be7b85a Equality is now treated as saturated
The calculated gas resolution factor is compared to
the tabulated resolution to check wether the oil is saturated
or not. The new test judges equality as saturated. This
is cruscial as the gas resolution is set to equal the tabulated value
for the saturated case in the appleyard process.
2013-11-28 15:56:17 +01:00
Tor Harald Sandve
f7857a51a8 Changes in the 3p relperm definition
The relperm of water and gas is now evaluated at the water and gas
saturation, respectivly. The relperm of oil is still a combination of
the the 2p relperm of water/oil and oil/gas.
2013-11-28 15:56:17 +01:00
Tor Harald Sandve
f36a27595f Changes releative permeability to synch with Mrst
The derivative of the relative permeability at the minimum saturation
are no longer zero
2013-11-28 15:56:17 +01:00
Bård Skaflestad
ca427092bd Merge pull request #412 from atgeirr/fix-rockcomp
Fix bug in RockCompressibility class.
2013-10-16 05:31:00 -07:00
Atgeirr Flø Rasmussen
d06c8a53d9 Bugfix: vector was used with size zero. 2013-10-16 14:02:15 +02:00
Roland Kaufmann
13d145fc1d Use unsigned when iterating through vector indices
A vector can of course never contain a negative number of elements, so
naturally size() returns size_t instead of a regular int. This costs us
a warning unless we also change the loop counter (since it is only used
to index that vector).
2013-10-09 15:09:14 +02:00
Atgeirr Flø Rasmussen
83c6d5255b Merge pull request #386 from totto82/propsMRST
Changes to the props in order to  sync with MRST (Eclipse)
2013-10-07 03:41:09 -07:00
Bård Skaflestad
fdc6c7b6ed Remove unused "typedef"s
CLang and recent versions of GCC warn about unused "typedef"s.  This
change-set removes currently known instances in opm-core.
2013-09-26 19:22:59 +02:00
Tor Harald Sandve
fa46810511 The old extrapolation code for the unsaturated table is no removed 2013-09-24 15:21:58 +02:00
Tor Harald Sandve
62f81859cd Extend relperm and capilary pressure tables with constant values such
that the derivatives at the endpoints are zero
2013-09-24 11:14:22 +02:00
Tor Harald Sandve
badc3c0e9e Extrapolate unsaturated function values as in Eclipse and Mrst 2013-09-24 11:14:22 +02:00
Andreas Lauser
16e7b7ac33 fix headers
make all non-implementation headers includable without
preconditions. Also, this removes the GravityColumnSolver.hpp file,
because it tried to include a non-existing file and it was thus unused.
2013-09-11 13:11:47 +02:00
Andreas Lauser
23f215bec4 convert users of MESSAGE to OPM_MESSAGE 2013-09-05 13:04:38 +02:00
Andreas Lauser
c25ec5999e convert users of the ASSERT and the ASSERT2 macros to standard assert() 2013-09-05 13:04:37 +02:00
Andreas Lauser
19e5d5cea2 convert THROW to OPM_THROW 2013-09-05 13:04:37 +02:00
Andreas Lauser
d11db08084 include iostream in the files which use std::cerr or std::cout
for some of these files this is needed to make to keep it compiling
after the next patch because the new ErrorMacros.hpp file will no
longer implicitly includes <iostream>. for the remaining files it is
just good style.

While at it, the includes for most of these files have been ordered in
order of decreasing abstraction level.
2013-09-05 13:04:37 +02:00
Andreas Lauser
bd094b2e11 replace boost::scoped_ptr by std::unique_ptr
thanks to Bård Skaflestad, Atgeirr Rasmusen and Roland Kaufmann for
the hint.
2013-08-08 15:21:38 +02:00
Andreas Lauser
70949c6edb 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
Bård Skaflestad
1967631b83 Merge pull request #285 from rolk/285_shadow
Provide way of shadowing only some properties
2013-07-31 04:05:13 -07:00
Bård Skaflestad
2dac509c97 Merge pull request #289 from andlaus/make-gcc44-mandatory
Make gcc44 mandatory
2013-07-30 13:25:35 -07:00
Andreas Lauser
562bcf2e7d replace boost::array by std::array
GCC 4.4 supports std::array, so there is not much point in keeping
compatibility with ancient compilers...
2013-07-30 17:46:32 +02:00
Andreas Lauser
5a7992fc56 fix a few CLang warnings
most of them quite insignificant, but still annoying. The only
exception is the warning about the changed alignment for the 'work'
argument of spu_implicit_assemble(). AFAICT, the only reason why it
worked was that the pointer produced by malloc() was passed
directly. (malloc() seems to fulfill all alignment criteria.) To fix
this, I've changed that argument's type from char* to double*.
2013-07-30 16:27:20 +02:00
Roland Kaufmann
a74791bcac Use underscore for data members 2013-07-30 13:24:57 +02:00
Roland Kaufmann
26b2d2794c 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
Júlio Hoffimann
8385a9bcbb Remove trailing whitespaces 2013-07-28 08:34:13 -03:00
Markus Blatt
68eb3fbcb1 Changed std::tr1 occurences to boost.
std::tr1 might not be supported by all compilers and will eventually
be dropped by others. Using boost instead makes this more
portable.
2013-07-04 16:04:35 +02:00
Atgeirr Flø Rasmussen
eac83e6fd2 Add transMult(), poroMultDeriv() and transMultDeriv(). 2013-06-03 14:33:18 +02:00
Atgeirr Flø Rasmussen
8f722702c6 Fix SatGwseg* to handle no-gas situation gracefully. 2013-05-29 00:30:50 +02:00
Tor Harald Sandve
01bb02f4cd Adds the new interface to SinglePvtLivGas 2013-05-27 11:14:39 +02:00
totto82
1c904aa451 Add new fluid interface
- in progress
2013-05-22 12:57:18 +02:00
Atgeirr Flø Rasmussen
280bf30a26 Add phaseUsage() method to BlackoilPropertiesInterface.
Also implement method in derived classes.
2013-05-13 16:20:00 +02:00
Andreas Lauser
884c5ab027 make config.h the first header to be included in any compile unit
this is required for consistency amongst the compile units which are
linked into the same library and seems to be forgotten quite
frequently.
2013-04-10 12:56:14 +02:00
Atgeirr Flø Rasmussen
c1657b427a Finished unification of linear interpolation.
The functions of linInt.hpp are now used everywhere, but:
 - linInt.hpp -> linearInterpolation.hpp (better name)
 - linearInterpolationExtrap() -> linearInterpolation() (extrapolate by default)
2013-03-22 15:33:07 +01:00
Atgeirr Flø Rasmussen
a8097317a5 Make all codes use the same linear interpolation routines. 2013-03-22 15:28:16 +01:00
Atgeirr Flø Rasmussen
7f9a47d64c Use markup for parameter lists. 2013-03-22 11:09:38 +01:00
Atgeirr Flø Rasmussen
74b5e3f3a1 Use markdown for parameter lists. 2013-03-22 10:02:04 +01:00
Atgeirr Flø Rasmussen
db1220eb60 Fix docs for IncompPropertiesBasic. 2013-03-22 09:26:27 +01:00
Atgeirr Flø Rasmussen
c23898efa7 Merge remote-tracking branch 'hnil/hnil_class' into combined.
Conflicts:
	CMakeLists.txt
	examples/sim_wateroil.cpp
	opm/core/grid/cpgpreprocess/geometry.c
	opm/core/transport/reorder/ReorderSolverInterface.hpp
	opm/core/transport/reorder/TofDiscGalReorder.cpp
	opm/core/transport/reorder/TofDiscGalReorder.hpp
	opm/core/transport/reorder/TofReorder.cpp
	opm/core/transport/reorder/TofReorder.hpp
	opm/core/transport/reorder/TransportSolverCompressibleTwophaseReorder.cpp
	opm/core/transport/reorder/TransportSolverTwophaseReorder.cpp
2013-03-14 16:18:39 +01:00
Atgeirr Flø Rasmussen
6e48999ede Removed unused SimpleFluid and SimpleFluid2pWrapper classes. 2013-03-14 13:33:26 +01:00
Atgeirr Flø Rasmussen
34f523339d Adapt include statements to moved headers. 2013-03-14 10:29:42 +01:00
Atgeirr Flø Rasmussen
fa31f17885 Moved fluid -> props and subdirs.
This is a non-compiling commit.
2013-03-14 09:56:48 +01:00