Commit Graph

897 Commits

Author SHA1 Message Date
Tor Harald Sandve
0c6bf64a33 Phase pressure is used for surface volumes calculations 2014-01-10 16:07:02 +01:00
Tor Harald Sandve
9e2ec6e558 Initialization using the RV keyword
The initial Rv value is specified using the RV keyword in the Parser.
The Rv values are used in the computation of the initial surface
volumes.
2014-01-10 16:07:02 +01:00
Tor Harald Sandve
d5b47295e3 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
Joakim Hove
f00e3d5763 Comparing well names protects againts NULL. 2014-01-08 16:10:43 +01:00
Joakim Hove
d96b88742e Removed commented out code. 2014-01-08 15:58:11 +01:00
Joakim Hove
ddf6a3c084 Removed access to internal variabel cpty. 2014-01-08 11:32:00 +01:00
Joakim Hove
370f9f0458 Using && instead of &= in the functions comparing wells and well_controls. 2014-01-06 19:22:39 +01:00
Joakim Hove
9fa7362992 Removed explicit (struct WellControls *) cast to align with the rest of the code. 2014-01-06 19:09:36 +01:00
Joakim Hove
b22b3f9fe2 Moved struct WellControls to the implementation file well_controls.c. 2014-01-06 15:13:32 +01:00
Joakim Hove
c970363f5e Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:59:11 +01:00
Joakim Hove
8ef5b2b695 Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:51:11 +01:00
Joakim Hove
027ffb3c5a Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:40:55 +01:00
Joakim Hove
8132954b85 Added functions to get type, target and distr of *current* control. 2014-01-06 14:40:03 +01:00
Joakim Hove
4db3a70e05 Implemented well_controls based on well_controls_iset_xxx() functions. 2014-01-06 14:19:09 +01:00
Joakim Hove
965c12a689 Implemented well_control based on well_controls_iset_xxx() functions. 2014-01-06 12:40:03 +01:00
Joakim Hove
2ee6331ac1 Implemented well_controls_add_new() with well_controls_iset_xxx() functions. 2014-01-06 12:24:32 +01:00
Joakim Hove
6098368d08 Added new function well_controls_iset_distr(). 2014-01-06 12:22:15 +01:00
Joakim Hove
3d171bd961 Using new function well_controls_invert_current(). 2014-01-06 12:08:29 +01:00
Joakim Hove
bf95c9f768 Added new functions to set target and type and invert value of current control. 2014-01-06 12:06:36 +01:00
Joakim Hove
d783028bcb Using well_controls_get_num() and well_controls_get|set_current() in WellsManager 2014-01-06 10:12:11 +01:00
Joakim Hove
17b800796f 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
3653404c41 Reimplemnted struct WellControls access to use the set/get functions in well_controls.c 2014-01-05 16:23:22 +01:00
Joakim Hove
aea54d073a 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
fb8413960c 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
157d0870f2 Removed struct WellControlManagement and replaced with simple integer field cpty in the WellControls structure. 2014-01-05 14:54:56 +01:00
Joakim Hove
8acdf34653 Moved well_controls implementation to separate file well_controls.c. 2014-01-05 14:47:15 +01:00
Joakim Hove
0450e1bb77 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
Kristian Flikka
e4a7a33598 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
2a68bb0341 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
Bård Skaflestad
8c8721064d Include <limits> for std::numeric_limits<> template 2013-12-03 15:52:07 +01:00
Bård Skaflestad
c24cc87b26 Sort headers into logical groups.
This is an aesthetic-only change.
2013-12-03 15:43:06 +01:00
Tor Harald Sandve
c77d82a4ee Change name to initBlackoilStateFromDeckUsingRS
The second input of initBlackoilStateFromDeck that computes surface
volumes based on gas/oil ratio is changed from
BlackoilPropertiesInterface to Props. To avoid duplication with the old
initBlackoilStateFromDeck its name is changed to
initBlackoilSurfvolUsingRS.
2013-11-28 15:56:17 +01:00
Tor Harald Sandve
c1b6d57d32 Compute initial saturations from surface volumes
Add new function is added that computes saturation from surface volumes
solving z = As for each cell. This function is used to compute an
intial guess to the saturations in initState_impl.hpp.
2013-11-28 15:56:17 +01:00
Roland Kaufmann
1a1269d9d7 Extract common parts of blackoil and incomp. state
Put the identical parts of the simulator state into a base class that
they can be referenced from when adressing the common fields.
2013-11-13 13:48:28 +01:00
Kristian Flikka
3f970244de Replaced include math.h with cmath, and changed from fabs to abs. Fixed an error in the testfile, a filename was wrong 2013-11-04 13:51:32 +01:00
Joakim Hove
877829f43a Added method equals in BlackoilState.hpp 2013-10-28 17:42:32 +01:00
Atgeirr Flø Rasmussen
847a8f4f7a Bugfix: vector was used with size zero. 2013-10-16 14:02:15 +02:00
Atgeirr Flø Rasmussen
88011cca2e Modify error message. 2013-10-07 12:57:51 +02:00
Atgeirr Flø Rasmussen
d4bb9c0611 Guard against erroneous use of initBlackoilSurfvol(). 2013-10-07 12:46:35 +02:00
Atgeirr Flø Rasmussen
5140d99e60 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
Atgeirr Flø Rasmussen
dcaac93e23 Remove unneeded term, fixing oil injecting behaviour.
The 'comp_term' is supposed to be a total divergence term, which is supposed
to be zero for incompressible flow. It was added for improved robustness in
stagnant areas, but as implemented it would not be computed properly for
oil injection scenarios, due to the convention for two-phase transport
source terms (positive terms are inflow of first phase [water], negative
terms are total outflow).
2013-10-04 13:16:02 +02:00
Atgeirr Flø Rasmussen
13ddbad9a1 Merge pull request #400 from bska/Wunused
Remove unused "typedef"s
2013-10-03 06:52:09 -07:00
Bård Skaflestad
fca913c6b9 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
Bård Skaflestad
8ad884bbde assemble_well_contrib(): Fix misprint in comment. 2013-09-25 15:39:37 +02:00
Bård Skaflestad
e15760856c RESV: Ignore phase distribution for non-PRODUCERs
The WellsManager class handles INJECTORS by assigning a phase
distribution (W->ctrls[i]->distr) that coincides with the injected
fluid for the corresponding well (e.g., {1,0,0} for WATER injectors in
a three-phase WATER/OIL/GAS simulation).  This, however, meshes poorly
with the restriction that all phase components must be ONE in the case
of wells constrained by total reservoir volume flow targets (RESV)
that was introduced in commit b7d1634.

This change-set limits the restriction on phase distributions to
PRODUCERs only and is a tentative solution to GitHub PR #360.
2013-09-25 15:38:55 +02:00
Tor Harald Sandve
aa126cb59f The initBlackoilStateFromDeck is now called only if RS is given in deck 2013-09-24 15:25:52 +02:00
Atgeirr Flø Rasmussen
d7dc0abc13 Further improved WellReport and Watercut docs. 2013-09-24 14:39:41 +02:00
Atgeirr Flø Rasmussen
87466f25d2 Documented WellReport and Watercut classes. 2013-09-24 14:14:54 +02:00
Roland Kaufmann
f8f6836c2b Only use Clang-specific pragma if compiler is Clang
Otherwise the compiler will probably give us a warning that these
pragmas are unknown. By default that warning is disabled with our
own build system, but we also want to be able to link to our library
without incorporating the entire build system too.
2013-09-24 11:15:26 +02:00
Tor Harald Sandve
7d12b0cc5c An initial guess of the surface volume is now computed using the RS
factor in order to compute a more accurate A matrix.
2013-09-24 11:14:22 +02:00