Commit Graph

4021 Commits

Author SHA1 Message Date
Bård Skaflestad
20ec2fb3d7 Document public interface of phasePressures(). 2014-01-21 17:54:47 +01:00
Bård Skaflestad
aa9e28a5b8 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
88b9db9a45 Test cell subset phase pressure assignment. 2014-01-21 17:54:46 +01:00
Bård Skaflestad
e84e6ee4bb 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
4ea3e7ed53 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
Bård Skaflestad
ed5f199f5b Merge pull request #459 from akva2/fix_openmp_pragmas
fix some openmp pragma's
2014-01-21 07:39:06 -08:00
Arne Morten Kvarving
60d4a02c0b fix some openmp pragma's 2014-01-21 14:33:14 +01:00
Bård Skaflestad
adf421a9ed Merge pull request #457 from atgeirr/fix-uint
Portability fix: 'uint' is nonstandard.
2014-01-15 04:57:47 -08:00
Atgeirr Flø Rasmussen
48f3161a3c Portability fix: 'uint' is nonstandard. 2014-01-15 12:25:50 +01:00
Bård Skaflestad
806be98a95 Merge pull request #456 from rolk/456_blddoc
Document modules and structures in the build system
2014-01-15 01:07:13 -08:00
Roland Kaufmann
e79a65bb81 Terminology instead of Notation as section header
Notation implies that we are going to be given symbols which
represents values or such (which arguably could be true since the
path is a particular value, and from programming we are used to
multi-letter symbols perhaps also with whitespace, but it's a
stretch), but Terminology is more accurate, as this section
describes fits the definition better: it is a vocabulary of
technical terms.

Hat tip: @bska
2014-01-15 09:08:00 +01:00
Roland Kaufmann
d5a3db50c5 Document modules and structures in the build system
Give a brief description of each of the modules that comprises the build
system, and the suffices that is used to form a virtual structure of
variables for each project.
2014-01-14 21:14:17 +01:00
Bård Skaflestad
15211bc445 Merge pull request #454 from joakim-hove/wellmanager
Refactoring of well controls
2014-01-09 03:44:11 -08:00
Joakim Hove
43faea6678 Comparing well names protects againts NULL. 2014-01-08 16:10:43 +01:00
Joakim Hove
dee5c880ea Removed commented out code. 2014-01-08 15:58:11 +01:00
Joakim Hove
c3b4a95d82 Removed access to internal variabel cpty. 2014-01-08 11:32:00 +01:00
Joakim Hove
28658347db Using && instead of &= in the functions comparing wells and well_controls. 2014-01-06 19:22:39 +01:00
Joakim Hove
6725740f71 Removed explicit (struct WellControls *) cast to align with the rest of the code. 2014-01-06 19:09:36 +01:00
Joakim Hove
86c9acad5b Removed temoporary file opm/core/well_control_type.h. 2014-01-06 19:09:01 +01:00
Joakim Hove
38b635a97f Moved struct WellControls to the implementation file well_controls.c. 2014-01-06 15:13:32 +01:00
Joakim Hove
23b91c5466 Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 15:02:19 +01:00
Joakim Hove
57a0ed6d98 Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:59:11 +01:00
Joakim Hove
dc1935cc77 Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:51:11 +01:00
Joakim Hove
bb2604a39b Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:40:55 +01:00
Joakim Hove
b346845903 Added functions to get type, target and distr of *current* control. 2014-01-06 14:40:03 +01:00
Joakim Hove
a19881f5f4 Implemented well_controls based on well_controls_iset_xxx() functions. 2014-01-06 14:19:09 +01:00
Joakim Hove
57226cde9e Implemented well_control based on well_controls_iset_xxx() functions. 2014-01-06 12:40:03 +01:00
Joakim Hove
4cfa151e25 Implemented well_controls_add_new() with well_controls_iset_xxx() functions. 2014-01-06 12:24:32 +01:00
Joakim Hove
58ba8f45eb Added new function well_controls_iset_distr(). 2014-01-06 12:22:15 +01:00
Joakim Hove
ad73015cb9 Using new function well_controls_invert_current(). 2014-01-06 12:08:29 +01:00
Joakim Hove
fdf7bdba85 Added new functions to set target and type and invert value of current control. 2014-01-06 12:06:36 +01:00
Joakim Hove
85984a72e4 Changes test_wells to use well_controls_get_xxx() functions. 2014-01-06 10:34:25 +01:00
Joakim Hove
9d9c6a5676 Changed test_wellsmanager to use well_controls_get_xxx() functions. 2014-01-06 10:26:46 +01:00
Joakim Hove
1462952511 Using well_controls_get_num() and well_controls_get|set_current() in WellsManager 2014-01-06 10:12:11 +01:00
Joakim Hove
0b37bdd1ec 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
5ef171b212 Reimplemnted struct WellControls access to use the set/get functions in well_controls.c 2014-01-05 16:23:22 +01:00
Joakim Hove
49f6ff9791 Added well_controls_get_xxx() and well_controls_set_xxx() functions. The well_controls_reserved() function is called from well_controls_add() and not explicitly. 2014-01-05 16:22:30 +01:00
Joakim Hove
35d46225b8 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
f4142899b3 Removed struct WellControlManagement and replaced with simple integer field cpty in the WellControls structure. 2014-01-05 14:54:56 +01:00
Joakim Hove
76deba58bd Moved well_controls implementation to separate file well_controls.c. 2014-01-05 14:47:15 +01:00
Joakim Hove
e75552750a Extracted everything related to well controls to separate header well_controls.h - to simplify introducing new parser. 2014-01-03 16:04:12 +01:00
Joakim Hove
61ec55403a Added test calls to wells_equal() and well_controls_equal(). 2014-01-03 16:01:15 +01:00
Joakim Hove
35b371dfa9 Added test_wellmanager which loads wellmanager from deck and tests many values. 2014-01-03 16:00:57 +01:00
Kristian Flikka
fd942e347d 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
Bård Skaflestad
b280af372b Merge pull request #449 from andlaus/fix_guard_macro
fix typo in guard macro of fsh.h
2013-12-16 05:52:18 -08:00
Andreas Lauser
b660419992 fix typo in guard macro of fsh.h
on CLang 3.4 svn this produced

```
/home/erne/src/opm-core/opm/core/pressure/fsh.h:20:9: warning: 'OPM_FSH_HEADER_INCLUDED' is used as a
      header guard here, followed by #define of a different macro [-Wheader-guard]
```

which is correct...
2013-12-15 18:10:27 +01:00
Bård Skaflestad
3528c1e988 Merge pull request #447 from akva2/add_rho
added: nonstandard 'RHO' field in eclipse grid parser
2013-12-12 03:54:24 -08:00
Arne Morten Kvarving
f1ba3d4b70 added: nonstandard 'RHO' field in eclipse grid parser
note that as this is a nonstandard field, there is no unit conversion
handling. use with caution
2013-12-12 12:43:30 +01:00
Bård Skaflestad
ee22e22897 Merge pull request #446 from andlaus/propertysystem_fixes
Property system: some simplifications and bugfixes
2013-12-11 09:15:48 -08:00
Andreas Lauser
34e26ae5bc Property system: some simplifications and bugfixes
this simplifies the template meta programming a bit. (Which does not
mean that it suddenly gets easy.) The main motivation for this work is
to make the splices feature work properly which allows eWoms to
properly select the spatial discretization at any point.

Further, the number of type tags a node can inherit from now is truely
unlimited thanks the the generic tuple reversal class provided by
https://sydius.me/2011/07/reverse-tuple-in-c/ . (before, the maximum
number of nodes from which a type tag could inherit was 11, so this
limitation did not really matter in practice.)
2013-12-11 17:26:24 +01:00