Kristian Flikka
d7568b4adf
Changed the WellCollection addChild functions to be more specific, and strict
2014-02-13 16:00:39 +01:00
Kristian Flikka
f94f63ff56
Extracted common functionality from the three create functions
2014-02-12 15:45:06 +01:00
Kristian Flikka
1181d1c1bc
Create WellsGroupInterface from opm-parser Well/Group objects
2014-02-12 15:39:57 +01:00
Andreas Lauser
24cf0ab99f
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
42f5025c88
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
0393a8f87d
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
Kristian Flikka
b6072e5112
Added support for creation of WellsGroup objects from new parser Well and Group objects
2014-02-11 14:12:36 +01:00
Andreas Lauser
4018bcfc71
make the saturation functions work with opm-parser
2014-02-10 14:50:37 +01:00
Andreas Lauser
1221ea25c1
more typos
...
thanks to @bska
2014-02-10 14:49:58 +01:00
Andreas Lauser
5b77bcd4a0
handle the ROCK keywords using the new opm-parser utility class
2014-02-10 14:49:58 +01:00
Andreas Lauser
e177b657f9
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
7fdda98213
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
Joakim Hove
88c99663c6
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
f1f801aca5
add back blank line as requested by @bska
2014-02-07 19:35:28 +01:00
Andreas Lauser
a91a6c9484
git add variant of phaseUsageFromDeck() which takes a deck of the new parser
2014-02-07 19:35:28 +01:00
Joakim Hove
5d8c1244db
Merge remote-tracking branch 'upstream/opm-parser-integrate' into opm-parser-integrate
2014-02-07 09:23:39 +01:00
Joakim Hove
97bfb0ed82
Merge remote-tracking branch 'upstream/master' into opm-parser-integrate
2014-02-07 09:23:22 +01:00
Kristian Flikka
6632630269
Initializing do_hyst_ to false, this caused random segfaults in sim_fibo_ad
2014-02-06 21:17:36 +01:00
Kristian Flikka
aa329b8b3e
Removed WELOPEN from constructor, added throwing on non OPEN/SHUT statuses
2014-02-06 16:31:35 +01:00
Joakim Hove
2c05b6a1b4
Merge remote-tracking branch 'upstream/master' into opm-parser-integrate
2014-02-05 23:06:54 +01:00
Atgeirr Flø Rasmussen
cb99938c62
Fix initialisation warning.
2014-02-05 13:05:33 +01:00
Joakim Hove
ca2def2a02
Merged upstream/master
2014-02-04 21:42:07 +01:00
Kristian Flikka
3d215691da
Removed WELTARG commented code, moved wellperf_data into createWellsFromSpecs function
2014-02-03 09:22:28 +01:00
Kristian Flikka
76dff2e326
Extracted well controls setup to separate function
2014-02-03 09:07:58 +01:00
Kristian Flikka
e12ec1b25d
Extracted well specification and completion data setup to a function
2014-02-03 08:58:54 +01:00
Joakim Hove
30df3cab37
Using well->hasInjectionControl() to check whether a particular control is available.
2014-01-30 16:37:20 +01:00
Joakim Hove
35d0808fbe
Implemented WCONPROD support from Parser::Schedule object.
2014-01-30 15:55:17 +01:00
Joakim Hove
3e2df33a65
Merge remote-tracking branch 'upstream/opm-parser-integrate' into wellsmanager-rates
...
Conflicts:
opm/core/wells/WellsManager.cpp
2014-01-30 09:50:09 +01:00
Joakim Hove
70e2dd9f12
Implemented well injector properties from opm-parser::Well.
2014-01-30 08:02:13 +01:00
Joakim Hove
0d8b883b8e
Added namespace prefix to enum.
2014-01-30 08:00:45 +01:00
Kristian Flikka
d621fdfe79
Removed print statement
2014-01-29 12:30:03 +01:00
Kristian Flikka
fbe2f31653
Updated COMPDAT i,j,k indices, and removed the old commented part
2014-01-29 11:58:14 +01:00
Kristian Flikka
7ce9cb9055
Compdat extraction from new CompletionXXX classes
2014-01-29 11:58:13 +01:00
Joakim Hove
9f948329c4
Merge remote-tracking branch 'upstream/master' into opm-parser-integrate
2014-01-29 11:02:21 +01:00
Joakim Hove
1548984acd
Merge remote-tracking branch 'upstream/master' into wellsmanager-rates
2014-01-29 11:01:14 +01:00
Kristian Flikka
4049426ec9
Updated Namespace of PhaseEnum from opm-parser
2014-01-28 21:11:51 +01:00
osae
64b9726692
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
Joakim Hove
7774a11eee
WellType is determined from well->isProducer() instead of looking for WCONINJE / WCONPROD keywords.
2014-01-24 12:00:58 +01:00
Kristian Flikka
3b0a9067b4
Removes the WELSPECS usage in WellsManager constructor. Step 1 in rewrite of constructor
2014-01-22 15:22:32 +01:00
Kristian Flikka
691148122c
Merged from upstream/opm-parser-integrate
2014-01-21 13:05:59 +01:00
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
Kristian Flikka
2ffcb219bb
Changed phaseUsageFromDeck to use eclipseState
2014-01-10 13:43:02 +01:00
Kristian Flikka
731fe7d3f4
Changed new WellsManager constructor to take in EclipseStateConstPtr instead of SchedulePtr
2014-01-08 16:10:55 +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
Kristian Flikka
1f1c0ebcf3
New constructor for WellsManager that also takes the new parser as argument. New test comparing old and new
2014-01-07 16:10:45 +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
Roland Kaufmann
88a38a8e3f
Fix LinearSolverIstl cleanup also for fast AMG branch
...
To avoid deprecation warnings the number of smoothing steps was passed
through the Criterion instead of directly to the constructor in commit
a7f32b934b.
However, due to an insufficient test matrix this was not tested using
the fast AMG variant of DUNE so it breaks the builds if
`-DHAS_DUNE_FAST_AMG` is defined.
This change should apply the same type of change to this branch as for
the others. The number of smoothing steps is put into a constant to
avoid the magic number 1 to appear in too many places (although I am
not sure the number for pre- and post-smoothing always should be the
same).
2013-09-20 10:00:21 +02:00
Atgeirr Flø Rasmussen
df8981ed2d
Merge pull request #376 from rolk/376_warn
...
Quelch needless warnings (found by Clang)
2013-09-19 05:05:00 -07:00
Roland Kaufmann
1341903bb7
Don't warn about functions not emitted
...
If a function is used by a template but this template is not
instantiated, the function will still be defined in the header
of a module but it won't be callable because it is in an anonymous
namespace and thus we get a warning.
This only happens in Clang; GCC consider functions referenced from
templates as used.
fixup! Don't warn about functions not emitted
2013-09-19 13:09:44 +02:00
Roland Kaufmann
5f00467f02
Set linear solver steps in criterion instead of ctor
...
The constructor that takes the number of steps is deprecated; this
generates needless warnings.
2013-09-19 10:32:49 +02:00
Andreas Lauser
57a1efcdc9
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
fde3fe3332
convert users of MESSAGE to OPM_MESSAGE
2013-09-05 13:04:38 +02:00
Andreas Lauser
d6fa31b452
convert users of the ASSERT and the ASSERT2 macros to standard assert()
2013-09-05 13:04:37 +02:00