Commit Graph

475 Commits

Author SHA1 Message Date
Bård Skaflestad
0cd6a0a0c6 Realign pointer offsets to provide additional visual cues. 2012-05-09 22:39:28 +02:00
Bård Skaflestad
a920b472e2 Fix copy-paste misprint in comment. 2012-05-09 20:17:10 +02:00
Bård Skaflestad
3ab9390921 Delete trailing whitespace introduced in change-set b39f2340f248 . 2012-05-09 20:15:10 +02:00
Bård Skaflestad
1672ae8c29 COMPDAT: Extract location from WELSPECS if defaulted.
This behaviour is dictated by the ECLIPSE specification.
2012-05-09 20:14:29 +02:00
Bård Skaflestad
9809afb3a8 Whitespace adjustment. No functional changes. 2012-05-09 19:21:52 +02:00
Bård Skaflestad
56802231ce Re-align variable declarations various assemble*() methods. 2012-05-09 19:21:00 +02:00
Bård Skaflestad
97ed64f438 Call malloc() once, at pimpl construction time, rather than in each *_increment().
It's slightly wasteful, however.  Maybe we can just reuse h->x for the
mult_csr_matrix() output?
2012-05-09 19:15:41 +02:00
Bård Skaflestad
00b1ce27f0 Follow file conventions in mult_csr_matrix(). 2012-05-09 19:07:59 +02:00
Bård Skaflestad
323914eaba Don't expose a (presently) internal function. 2012-05-09 18:58:17 +02:00
Bård Skaflestad
d23c93e661 Merge from upstream. 2012-05-09 18:56:09 +02:00
Bård Skaflestad
8909664bd7 Report first well whose connections are outside grid. 2012-05-09 18:44:08 +02:00
Bård Skaflestad
6a7c6cfeb0 Convert Residual-based solver to conventions of <newwells.h>.
Almost a mechanical translation.
2012-05-09 16:26:41 +02:00
Bård Skaflestad
eda46d4fbe Add a query method to answer whether or not the deck defines any wells. 2012-05-09 16:09:13 +02:00
Kjetil Olsen Lye
5d0148a080 Added correct handling of VREP and REIN keyword. No longer generates a warning, just a friendly hint. 2012-05-09 16:03:21 +02:00
Kjetil Olsen Lye
84eb849ed2 merge. 2012-05-09 15:56:30 +02:00
Kjetil Olsen Lye
ff9fb38596 Used voidage_replacment correctly in applyExplicitReinjectionControls 2012-05-09 15:55:59 +02:00
Kjetil Olsen Lye
bf3273b115 Included voidage_replacment in injection specification. 2012-05-09 15:54:25 +02:00
Kjetil Olsen Lye
f8d92c0535 Added initial support for VREP. 2012-05-09 15:43:43 +02:00
Xavier Raynaud
1892f80af2 merge 2012-05-09 15:15:13 +02:00
Xavier Raynaud
f7e2d88fd9 Added Newton compressible fluid solver. 2012-05-09 15:06:13 +02:00
Kjetil Olsen Lye
8ad72d5d1c Added explicit number of ControlMode. 2012-05-09 14:26:30 +02:00
Kjetil Olsen Lye
d46d191a81 Introduced a hack to make it possible to test reinjection without supporting surface rate controls. 2012-05-09 13:58:25 +02:00
Kjetil Olsen Lye
12e4125081 Multiplied with reinjection_fraction_target, as is proper. 2012-05-09 13:15:53 +02:00
Kjetil Olsen Lye
3d07b954e2 Made relevant methods in WellCollection and WellsManager to call the reinjection control functions 2012-05-09 13:03:37 +02:00
Kjetil Olsen Lye
622d8ac767 Added helpful comment. 2012-05-09 12:58:29 +02:00
Kjetil Olsen Lye
621c87d8c7 Added simple reinjection to group control (explicit) 2012-05-09 12:57:36 +02:00
Kjetil Olsen Lye
3eeee29edb Added summation method to find total produced rates in a given group. 2012-05-09 12:35:26 +02:00
Kjetil Olsen Lye
c2ce4d9bce Corrected some basic logic tests. 2012-05-09 11:29:13 +02:00
Kjetil Olsen Lye
b5d474beca Added failure checking for solve method. 2012-05-09 11:28:56 +02:00
Bård Skaflestad
ece387d1ae Remove a variable rendered unused by change-set 5a9bf9f4a8b9. 2012-05-09 11:27:23 +02:00
Bård Skaflestad
0bd3e033b9 Flatten loops and prefer memcpy() to manual copying. 2012-05-09 11:21:47 +02:00
Bård Skaflestad
da51ca4ef0 Correct inaccuracy in WellControls::distr description.
The distribution is specified per control, not per well.
2012-05-09 11:11:47 +02:00
Atgeirr Flø Rasmussen
5253ce7fbe Merged. 2012-05-08 16:00:54 +02:00
Kjetil Olsen Lye
88b8ddebd2 merge. 2012-05-08 12:25:29 +02:00
Kjetil Olsen Lye
8c6ea2895b Changed some minor bugs in the refactored code in wells_example 2012-05-08 12:23:58 +02:00
Bård Skaflestad
9e5b5be59b Delete trailing whitespace. 2012-05-08 12:04:59 +02:00
Bård Skaflestad
6b96d48677 Fix a likely indexing error leading to non-unit strides. 2012-05-08 12:03:50 +02:00
Kjetil Olsen Lye
c9d96d81b8 Refactored some computations into seperate methods in wells_example.cpp 2012-05-08 11:04:15 +02:00
Kjetil Olsen Lye
a28311cb7c Inserted reservoir max rate into the group structure 2012-05-07 14:28:33 +02:00
Atgeirr Flø Rasmussen
962a3b6445 Added shut well support to ifs_tpfa.
This was done using the convention that for a well w in W,
    W.ctrls[w]->current < 0
means that it should be treated as shut. This allows us to keep the matrix
structure related to wells constant, without needing to remake it when wells
shut or open.
2012-05-04 08:15:06 +02:00
Kjetil Olsen Lye
8702852524 Made reservoir rates have a small error tolerated 2012-05-03 16:04:48 +02:00
Kjetil Olsen Lye
6ee088550f Properly negate target for group control in WellNode 2012-05-03 15:44:51 +02:00
Kjetil Olsen Lye
66b4122be9 merge 2012-05-03 15:35:59 +02:00
Kjetil Olsen Lye
da92997b7b Made a maximum number of iterations in wells_test 2012-05-03 15:35:44 +02:00
Atgeirr Flø Rasmussen
1c8e21ae08 Rename parameter init_sat -> init_saturation (docs already used this name). 2012-05-03 13:48:59 +02:00
Atgeirr Flø Rasmussen
0aae87cf16 Rewrote wellsToSrc() to be a little more accepting and correct. 2012-05-03 13:45:19 +02:00
Atgeirr Flø Rasmussen
8b33bd261d Remove unused variable. 2012-05-03 13:32:30 +02:00
Atgeirr Flø Rasmussen
104372bbdc Fixed signs of production rate constraints (should be negative). 2012-05-03 13:29:02 +02:00
Atgeirr Flø Rasmussen
361593fa45 Fix bug in use of perforation data, and check that well contstruction calls succeed. 2012-05-03 12:49:37 +02:00
Atgeirr Flø Rasmussen
373a4f2689 Fix recently created bug in append_well_controls(). 2012-05-03 12:48:56 +02:00
Kjetil Olsen Lye
18ace3c137 Made REIN a warning rather than a throw, just to get something up and running 2012-05-02 16:59:42 +02:00
Kjetil Olsen Lye
72afe774b0 Fixed applyGroupControls to handle zero guide rates 2012-05-02 16:54:49 +02:00
Kjetil Olsen Lye
8eb9b55759 Fixed small reading bug in well structure 2012-05-02 16:30:48 +02:00
Kjetil Olsen Lye
da85405dfa Removed calculateGuideRates and made all guide rate dependent code calculate the guide rate dynamically 2012-05-02 15:41:05 +02:00
Kjetil Olsen Lye
fe51b96a7e Final fixes for new well structure (to make it compile) 2012-05-02 13:02:59 +02:00
Atgeirr Flø Rasmussen
9416042f5a Major restructuring to improve support for groups, multiple controls etc. Work in progress. 2012-05-02 09:39:05 +02:00
Atgeirr Flø Rasmussen
d7512bdeb6 Add all present controls to wells, not just the active one.
Some restructuring to support more proper well handling, esp. group control
and surface rate controls in general.
2012-05-02 09:38:18 +02:00
Atgeirr Flø Rasmussen
432b9d4473 Whitespace and comment changes only. 2012-05-02 09:27:34 +02:00
Atgeirr Flø Rasmussen
3a31bbee30 Changed enums, variable names and defaults. 2012-05-02 09:26:36 +02:00
Atgeirr Flø Rasmussen
c234c0b42a Follow changes to header file. 2012-05-02 09:25:52 +02:00
Atgeirr Flø Rasmussen
2d7d52bec1 Refined and reordered control enum, added guide rates. 2012-05-02 09:25:19 +02:00
Atgeirr Flø Rasmussen
6e9091bc4d Updated computeTransportSource() and wellsToSrc() to match changes in Wells data structure. 2012-05-02 09:24:34 +02:00
Atgeirr Flø Rasmussen
88a24ef839 Verify that RESERVOIR_RATE controlled wells have specified total rate. 2012-04-26 15:03:55 +02:00
Atgeirr Flø Rasmussen
6d4f0fe293 Updated pressure solver after changes to well data structure. 2012-04-26 14:49:25 +02:00
Atgeirr Flø Rasmussen
ce0bc7003b Merge. 2012-04-26 13:58:08 +02:00
Atgeirr Flø Rasmussen
3f3c5a8516 Using internal enum InjectorType instead of (removed) enum SurfaceComponent from newwells.h. 2012-04-26 13:57:19 +02:00
Atgeirr Flø Rasmussen
597a2cc7af Significant modification of well data structures and related functions.
The following changes are made:
 - The SurfaceComponent enum has been removed.
 - Added new member Wells::number_of_phases.
 - The Wells::zfrac member has been replaced with comp_frac. The old
   zfrac always had 3 components per well (accessed according to the
   canonical ordering given by SurfaceComponent), the new one has
   number_of_phases components per well.
 - Changed add_well() accordingly to accept comp_frac.
 - Added new member WellControls::distr, giving distributions for
   rate controls.
 - All functions dealing with well controls now take Wells* and a
   well index instead of directly taking WellControls*.
 - Now append_well_controls() also takes a rate distribution argument.
 - Added new public function set_current_control().
2012-04-26 13:55:35 +02:00
Kjetil Olsen Lye
63c16c9d15 Slightly changed bounds checking to account for negative limits. 2012-04-26 08:52:56 +02:00
Kjetil Olsen Lye
743085bd16 Added some more documentation 2012-04-25 16:45:32 +02:00
Kjetil Olsen Lye
38c02c5a63 Change from std::string to const std::string& in findGroup-methods 2012-04-25 16:42:55 +02:00
Kjetil Olsen Lye
06d83e669b Added some documentation 2012-04-25 16:40:31 +02:00
Kjetil Olsen Lye
7d25e9c6a0 Completly revamped the way group control is checked 2012-04-25 16:14:40 +02:00
Atgeirr Flø Rasmussen
3fe04afa8d Follow change to well rate target sign convention. 2012-04-25 15:36:01 +02:00
Atgeirr Flø Rasmussen
b107180272 Added ifs_tpfa_assemble_comprock() to handle compressible rock cases.
This allows us to remove the hack from IncompTpfa.cpp.
2012-04-25 15:00:28 +02:00
Kjetil Olsen Lye
ea0df38468 Added setWellsPointer, changed the interface of leaf_nodes_ slightly 2012-04-25 14:19:47 +02:00
Atgeirr Flø Rasmussen
81cf6e3b32 Removed unused saturation argument from conditionsMet() methods. 2012-04-25 14:03:57 +02:00
Atgeirr Flø Rasmussen
f756537288 Moved internal method of WellsManager to private section. 2012-04-25 12:50:43 +02:00
Atgeirr Flø Rasmussen
43b1db22a3 Fixed bug in computeWDP(), add gravity argument. Make WellReport output in friendly units. 2012-04-25 12:37:30 +02:00
Atgeirr Flø Rasmussen
8a9cf2cc79 Added class WellReport. 2012-04-25 11:00:33 +02:00
Atgeirr Flø Rasmussen
176d8b3955 Added documentation of sign convention for RATE targets. 2012-04-25 10:45:10 +02:00
Atgeirr Flø Rasmussen
1c5f879530 Changed order of functions to match order in header file. 2012-04-25 08:59:31 +02:00
Atgeirr Flø Rasmussen
f6f04d1d21 Account for sign convention for production well rates. 2012-04-24 15:44:25 +02:00
Atgeirr Flø Rasmussen
6985ec94fe Now computeTransportSource() ignores crossflow. 2012-04-24 15:18:19 +02:00
Atgeirr Flø Rasmussen
e017c53380 Include well flow in computeTransportSource().
Also minor fixes in spu_2p to handle no-wells case properly.
2012-04-24 15:15:36 +02:00
Atgeirr Flø Rasmussen
8c1f9be1c3 Minor change to computeWDP() interface. 2012-04-24 13:48:00 +02:00
Kjetil Olsen Lye
b41dd9088c Fixed computeWDP again. 2012-04-24 13:36:32 +02:00
Kjetil Olsen Lye
981fd5e1f3 Fixed computeWDP. Small prettification of code. 2012-04-24 13:33:12 +02:00
Bård Skaflestad
955f927940 Delete trailing whitespace. 2012-04-23 20:48:31 +02:00
Kjetil Olsen Lye
c3759353ec Merge and dded default oil handling 2012-04-23 13:50:33 +02:00
Kjetil Olsen Lye
672f0f9b2b Added default oil handling 2012-04-23 13:49:53 +02:00
Atgeirr Flø Rasmussen
3b09776355 Added fixes and assertions suggested by static analysis. 2012-04-23 13:28:18 +02:00
Kjetil Olsen Lye
c9d6fd5529 Added a (small) hack to wellmanager (defaulting injected_phase to water) 2012-04-23 13:24:47 +02:00
Bård Skaflestad
5c1c120d8c Spell-check comment. 2012-04-23 09:59:53 +02:00
Bård Skaflestad
7671387f6f Further refinement of add_well() documentation. 2012-04-22 21:24:43 +02:00
Bård Skaflestad
d29f587ad0 Fix spelling. 2012-04-22 21:19:08 +02:00
Bård Skaflestad
98078c8215 Mention that clear_well_controls() does not affect capacity. 2012-04-22 21:15:28 +02:00
Bård Skaflestad
ab0c4d49e0 Fix cross-reference misprint in destroy_wells() documentation. 2012-04-22 17:03:13 +02:00
Bård Skaflestad
65a7ec3ad9 Document intended return code for append_well_controls(). 2012-04-22 16:58:37 +02:00
Bård Skaflestad
e444a3b77e Expand description of function create_wells().
Restore original parameter names in the process.
2012-04-22 11:50:41 +02:00
Bård Skaflestad
829f6aa003 Update add_well() comment to reflect intended pre- and post-condition. 2012-04-22 11:36:49 +02:00
Bård Skaflestad
7125e31748 Prefer to speak of "data structures" rather than "struct"s in documentation. 2012-04-21 21:07:19 +02:00
Bård Skaflestad
8770042d64 Hide memory management aspects of struct Wells. 2012-04-21 13:57:41 +02:00
Bård Skaflestad
3bca737913 Hide memory management aspects of struct WellControls. 2012-04-21 11:34:11 +02:00
Bård Skaflestad
7bd5e1c0b5 Formalise description of struct WellControls. 2012-04-21 10:18:20 +02:00
Bård Skaflestad
e1a836ff04 Use complete sentences when describing individual WellControlTypes. 2012-04-21 10:10:11 +02:00
Bård Skaflestad
97a21f1094 Correct misunderstanding about row-major vs. column major ordering. 2012-04-20 23:53:04 +02:00
Bård Skaflestad
755bc5ecb5 Correct array sizes in struct CompletionData. 2012-04-20 20:54:58 +02:00
Bård Skaflestad
b744285b9a Use more precise description of the WellControlType. 2012-04-20 19:53:09 +02:00
Bård Skaflestad
2c001e06df Remove an instance of EOL whitespace introduced in cset a09de38891c5. 2012-04-20 19:47:52 +02:00
Atgeirr Flø Rasmussen
ce74f956e7 Accounting for (constant) formation volume factor in incompressible fluids. 2012-04-20 14:00:38 +02:00
Atgeirr Flø Rasmussen
11389cdd54 Added file level docs. 2012-04-20 11:38:10 +02:00
Atgeirr Flø Rasmussen
36aa5fd90c Renamed add_wells() -> add_well(). Documented. 2012-04-20 11:34:58 +02:00
Atgeirr Flø Rasmussen
a96ac0bc9e Renamed some enums and functions relating to Wells, and started documenting it. 2012-04-20 09:50:36 +02:00
Atgeirr Flø Rasmussen
1365dcd6b8 Initialise current well control in the appropriate place. 2012-04-19 16:11:58 +02:00
Atgeirr Flø Rasmussen
dcad28acbd Silence warnings about unhandled cases. 2012-04-19 16:11:28 +02:00
Atgeirr Flø Rasmussen
605933abba Pretty-formatting only. 2012-04-19 15:33:25 +02:00
Atgeirr Flø Rasmussen
3fcdb1f412 Bugfix: in SATNUM treatment, allow for inactive cells. 2012-04-19 15:00:56 +02:00
Atgeirr Flø Rasmussen
844ccf3562 Now saturation props read from deck may have multiple tables, and support SATNUM. 2012-04-19 11:49:59 +02:00
Atgeirr Flø Rasmussen
b0c60ee05b Make constructor take arguments by reference. Silence a warning. 2012-04-19 11:47:41 +02:00
Atgeirr Flø Rasmussen
74b3a40bbf Make column gravity Gauss-Seidel solver report average number of iterations. 2012-04-19 11:46:41 +02:00
Xavier Raynaud
c8dfdecb7c Removed warning from compiler. 2012-04-18 14:46:01 +02:00
Xavier Raynaud
6c3220077a merge. 2012-04-17 17:26:23 +02:00
Kjetil Olsen Lye
069ad5a611 Passed around a WellControlResult argument to the different wellcontrol functions 2012-04-17 16:36:49 +02:00
Kjetil Olsen Lye
5d39e3c0ef merge 2012-04-17 09:25:54 +02:00
Kjetil Olsen Lye
b0b13c71f9 Fixed a compilation bug, also adjusted computeWDP slightly to allow for either a saturation vector by grid cells or by well cells 2012-04-17 09:19:06 +02:00
Kjetil Olsen Lye
95818d1f02 Added shutdown of wells when they exceed their limits (if procedure = shut). 2012-04-17 08:59:20 +02:00
Bård Skaflestad
57d6bc9b03 InjectionSpecification: Initialise fields in declaration order. 2012-04-16 19:29:22 +02:00
Bård Skaflestad
627c3be1f9 InjectionSpecification: Split long lines. No functional changes. 2012-04-16 19:27:34 +02:00
Xavier Raynaud
92dc5e2368 Added setup functions which take arguments directly (do not use ParamterGroup) 2012-04-16 17:53:10 +02:00
Kjetil Olsen Lye
24cefa60bc Fixed group control for liquid flow 2012-04-16 17:42:11 +02:00
Kjetil Olsen Lye
dedc60d92d Fixed reading of gconprod to handle defaulted arguments better 2012-04-16 17:10:17 +02:00
Kjetil Olsen Lye
bc72ea9a44 Made it possible to use group control without gconprod keyword 2012-04-16 15:26:33 +02:00
Kjetil Olsen Lye
29ebfac858 Added reading of reservoir fluid max rate for GCONINJE 2012-04-16 14:49:13 +02:00
Kjetil Olsen Lye
a7e471951d Added further checks for well conditions. Fixed a small bug in reading WCONPROD 2012-04-16 13:44:53 +02:00
Kjetil Olsen Lye
67251e7f77 Added documententation of computeWDP and computeFlowRatePerWell 2012-04-16 11:39:16 +02:00
Kjetil Olsen Lye
106b688a55 Inserted previously uncommented line 2012-04-16 11:27:46 +02:00
Kjetil Olsen Lye
d4b849f215 merge. 2012-04-13 20:41:19 +02:00
Kjetil Olsen Lye
24dc20ba4d modified the group control interface slightly 2012-04-13 20:41:09 +02:00
Atgeirr Flø Rasmussen
2313339844 Fix bug: mistakenly swapped macros. 2012-04-13 16:36:51 +02:00
Atgeirr Flø Rasmussen
8c58165862 Added LinearSolverFactory class. 2012-04-13 16:33:51 +02:00
Atgeirr Flø Rasmussen
588060d1e6 Use C comments in C code. 2012-04-13 15:46:15 +02:00
Atgeirr Flø Rasmussen
709b8c0b82 Work around mismatch between our HAVE_BOOST and what dune-istl expects.
In our config.h, HAVE_BOOST is defined (empty).
In dune-istl it is expected to be defined to 0 or 1.
2012-04-13 15:37:11 +02:00
Kjetil Olsen Lye
af849bf9e9 Added computations for total flow for each well 2012-04-13 14:22:44 +02:00
Kjetil Olsen Lye
c992deb147 prettification 2012-04-13 13:21:33 +02:00
Kjetil Olsen Lye
3058e26447 merge 2012-04-13 13:20:36 +02:00
Kjetil Olsen Lye
9d1c9dee68 extra tests for injector wells in group control 2012-04-13 13:17:25 +02:00
Kjetil Olsen Lye
62e4b791d2 Added checks for BHP and fluid_volume_rate for group control. Also added error tolerance for group control 2012-04-13 12:57:47 +02:00
Kjetil Olsen Lye
246af80ee8 Fixed a small bug in reading of WCONPROD 2012-04-13 11:37:50 +02:00
Kjetil Olsen Lye
f1cc0d56e8 Added reading of WGRUPCON, also added guide_rates to the well groups. Fixed a small bug in calculateWDP 2012-04-13 10:32:36 +02:00
Bård Skaflestad
9059af9b41 Opm::computeWDP(): Don't shadow (well) loop counter in phase loop. 2012-04-12 22:43:33 +02:00