Commit Graph

127 Commits

Author SHA1 Message Date
Andreas Lauser
1ec3a6065a SaturationPropsFromDeck: fix some array index screw-ups in the twophase case
I don't think the code gets more beatiful because of this, but it
seems like it does not crash anymore.
2015-09-02 12:29:18 +02:00
Andreas Lauser
750e9aedf4 use a .cpp instead of an _impl.hpp file for SaturationPropsFromDeck
this avoids having to include the "Evaluation.hpp" file as the first
thing in the morning.
2015-09-02 12:29:18 +02:00
Andreas Lauser
48d4abef1a remove the now obsolete SatFunc* classes 2015-09-02 12:29:18 +02:00
Andreas Lauser
4a81a0acf1 SaturationPropsFromDeck: add the code to calculate all saturation properties using opm-material
also remove the now obsolete code in that class.
2015-09-02 12:29:11 +02:00
Andreas Lauser
d57d121c38 ExplicitArraysFluidState: always make it appear threephase to the exterior, but also accept twophase arrays 2015-09-02 12:23:24 +02:00
Joakim Hove
08a77e36d0 Using TableManager to get tables. 2015-09-01 12:58:09 +02:00
Atgeirr Flø Rasmussen
84acbc4601 Make saturation functions work with two phases again.
Note that this changes ExplicitArraysFluidState to take
a run-time argument for the number of phases.
2015-08-12 13:38:32 +02:00
Atgeirr Flø Rasmussen
23fd80d0b2 Bugfix: add forgotten setIndex() call. 2015-08-12 13:38:10 +02:00
Andreas Lauser
85cfd8da2a use the multiplexer saturation function in SaturationPropsFromDeck
this makes it possible to switch to different saturation functions
again. So far the only supported function besides the default one is
the one which implements the "Stone 2" model.
2015-06-29 14:49:20 +02:00
Andreas Lauser
e3ab614c73 SaturationPropsFromDeck: make the jump to fluid states
this means the following changes:

- the "SatFuncGwseg" class is converted
- for now, Gwseg is the only saturation function supported by
  SaturationPropsFromDeck. (will be changed in later commits.)
- the funcForCell() method of SaturationPropsFromDeck is removed as it
  just occludes things
2015-06-29 14:49:20 +02:00
Andreas Lauser
2d5798f51a SaturationPropsFromDeck: remove the 'SatFuncSet' template parameter
in any reasonable simulator which reads an ECL deck the deck is going
to decide which saturation function is to be used and not the outside
code. also, the table this which function will be using is not really the
calling code's business. (for any reasonable deck it is always going to
be a non-uniform table so it makes a lot of sense to avoid unnecessary
complexity IMO.)

this patch temporarily removes the ability to use anything except the
ECL default saturation function ("Gwseg"). this ability will be
restored later in this patch series.
2015-06-29 14:49:20 +02:00
Andreas Lauser
55786028fd remove obsolete and empty file SaturationPropsFromDeck.cpp 2015-06-26 13:01:22 +02:00
Atgeirr Flø Rasmussen
d0820dcb3f Suppress sign-comparison warnings. 2015-03-27 15:38:21 +01:00
Andreas Lauser
53aa151e1c add a wrapper for thermal gas PVT objects 2015-03-17 12:40:14 +01:00
Andreas Lauser
44e218ffca add a wrapper for thermal oil PVT objects 2015-03-17 12:40:09 +01:00
Andreas Lauser
1b961652b8 add a wrapper for thermal water PVT objects 2015-03-17 12:40:07 +01:00
Markus Blatt
20f3a4151a Makes BlackoilPropertiesFromDeck copyable.
We need this for the parallel sim_fibo_ad_cp, where we will need
to point to the same parts in two copies without duplicating data.
2015-02-05 15:41:02 +01:00
Atgeirr Flø Rasmussen
fa16d8f616 Add IncompPropertiesSinglePhase class. 2015-01-20 15:47:50 +01:00
Andreas Lauser
64107ecc1b 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:31 +01:00
Atgeirr Flø Rasmussen
f279629bf1 Suppress unused argument warning in release mode. 2014-11-24 10:54:51 +01:00
osae
c7f4ea8abd Rename eclState to eclipseState. 2014-11-05 16:10:05 +01:00
osae
2c09d2ce57 Base initialisation of SWL etc on EclipseState ...
Thus allowing an unmodified Norne deck.
2014-11-05 16:10:05 +01:00
osae
93dde017c6 Bugfix: Actually use column index ... 2014-11-05 16:10:05 +01:00
osae
1b5708871d Cleaning up and preparation for eclipseState. 2014-11-05 16:10:05 +01:00
Andreas Lauser
36e3538b04 adapt the the table related API changes of opm-parser 2014-09-19 14:40:35 +02:00
Atgeirr Flø Rasmussen
b0c6fff9f0 Avoid release mode warnings.
Variables only used in asserts have been removed, their content used
directly in the assert() instead.
2014-09-18 11:31:03 +02:00
Bård Skaflestad
749a8a5d10 Merge pull request #641 from atgeirr/fix-warnings
Fix warnings
2014-08-28 16:11:12 +02:00
Atgeirr Flø Rasmussen
166cd0fe6b Suppress unused argument warning.
The eclState argument was added in PR#634, and may be needed later.
Until then, this silences the warning generated.
2014-08-28 14:14:22 +02:00
Atgeirr Flø Rasmussen
e6e2c9a330 Squash warnings by removing or commenting out unused parameters. 2014-08-28 14:14:22 +02:00
Bård Skaflestad
1307e0fdcf Reimplement assign* in terms of Compressed<>
This is a demonstration of using the

    GridPropertyAccess::Compressed<>

class template.  We save (some) memory by not creating the zero
fall-back vector in assignPermeability(), preferring instead to use
the fall-back/default mechanism of ArrayPolicy::ExtractFromDeck<>.

While here, adjust vector<PermComponent>::reserve() capacity to
reflect actual requirements.
2014-08-27 21:19:41 +02:00
Bård Skaflestad
c52175a200 assignPermeability: Remark on storage order
Clients expect column-major (Fortran) ordering of the contiguous
"permeability_" array so that's what we create despite "tensor"
being row-major.

Suggested by: [at] atgeirr
2014-08-27 21:19:40 +02:00
Bård Skaflestad
e037142b01 Simplify diagonal component thresholding
This commit switches the assignment

    diagonal = max(diagonal, minval)

to using a reference in the "diagonal" expression.  This guarantees
that the indexing is done once which eases maintainability.  While
here, replace the hard-coded dimension stride ('3') with the current
run-time dimension.  This is mostly for symmetry because the overall
code is only really supported in three space dimension.
2014-08-26 23:50:05 +02:00
Bård Skaflestad
e63e28a4f2 Remove obsolete comment
This comment was needed when the code was first developed, but
subsequent development has rendered it obsolete.  Remove it to avoid
confusion.
2014-08-26 23:50:05 +02:00
Bård Skaflestad
c0559fa258 Fix semantics of permeability assignment
Calling code relies on permeability tensors being stored in column
major order (row index cycling the most rapidly).  Honour that
requirement.  The previous assignment implied row major ordering
(column index cycling the most rapidly).  This, however, is a
pedantic rather than visible change because the surrounding code
enforces symmetric tensors whence both orderings produce the same
results when the array is viewed contiguously.
2014-08-26 23:50:04 +02:00
osae
84173e1cac Provide eclipse state to saturation property init. 2014-08-22 15:36:07 +02:00
Bård Skaflestad
28c8898122 swatInitScaling(): Abide by OPM coding conventions
This commit attaches the reference-signifying ampersand to the type
as is preferred in the OPM code base.

Suggested by: [at] atgeirr
2014-08-07 18:50:07 +02:00
Bård Skaflestad
46c7ff53a2 swatInitScaling(): Remove EOL whitespace
This commit removes several instances of EOL whitespace in function
'swatInitScaling()'.  Aesthetic only.  No functional changes.

Suggested by: [at] atgeirr
2014-08-07 18:50:07 +02:00
Bård Skaflestad
61300523c4 swatInitScaling(): Name magic constant
The constant 1.0e-8 was used as a threshold to distinguish "low"
from "high" capillary pressure values.  Introduce acutual constant
"pc_low_threshold" to clarify that role.

Suggested by: [at] atgeirr
2014-08-07 18:50:07 +02:00
Bård Skaflestad
ef9e81ff9b swatInitScaling(): Rename array size parameter
This commit renames the 'np' parameter used to allocate small arrays
for saturations and capillary pressures to 'max_np' to better
reflect its purpose.

Suggested by: [at] atgeirr
2014-08-07 18:50:06 +02:00
Bård Skaflestad
59eedcd82b Initialise saturation points for Pc scaling
This gives predictable failure modes although the actual behaviour
is (probably) unchanged.
2014-08-07 18:50:06 +02:00
Bård Skaflestad
d067ef07a2 Consistently refer to BlackoilPhases::Aqua
This avoids confusion.
2014-08-07 18:50:06 +02:00
Bård Skaflestad
2229affcb0 Don't use variable-length arrays
We only support up to 'BlackoilPhases::MaxNumPhases' different
phases (and components), so there's no need to pretend otherwise.
2014-08-07 18:50:06 +02:00
osae
a9138ef574 SWATINIT: Initialisation and capillary pressure scaling. 2014-06-25 18:03:17 +02:00
osae
45e35178bb Scaling of capillary pressure. 2014-06-25 18:03:17 +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