Commit Graph

713 Commits

Author SHA1 Message Date
Bård Skaflestad
469ddb0468 Re-wrap Doxygen comments introduced in cset 6d9f8b35dd4e. 2012-06-22 02:07:02 +02:00
Bård Skaflestad
3659ca2d68 Document sparse matrix interface. 2012-06-22 02:03:41 +02:00
Halvor M. Nilsen
c7d252f94a Mearge from upstream 2012-06-20 13:11:46 +02:00
Halvor M. Nilsen
ccbc1d83d5 Changed default for relperm to not set. 2012-06-20 13:11:13 +02:00
Bård Skaflestad
c1c76a48b6 Restore a blank line that was lost in an earlier cset. 2012-06-20 00:38:47 +02:00
Bård Skaflestad
ecda277cb0 Slight normalisation and clean-up of coding style.
Notably:
  * Replace all remaining <tab>s with (8) spaces.
  * Use post-increment for all counters.
  * Insert a number of blank lines to highlight important groups.
2012-06-19 18:37:26 +02:00
Halvor M. Nilsen
ace7ebeed9 Merge from upstream 2012-06-19 13:38:51 +02:00
Halvor M. Nilsen
d1f1af8854 Added inizialization of ok, which correct error for solves without wells. The only thing which is check is if the well object have incompressible form. 2012-06-19 13:37:22 +02:00
Bård Skaflestad
fe9cc7f29a Prune an unused header. 2012-06-19 09:34:34 +02:00
Bård Skaflestad
c4342bd16b *Control::mode(): Defer control-mode look-up to std::map. 2012-06-19 00:30:32 +02:00
Bård Skaflestad
7fc7972e93 Sort includes. 2012-06-19 00:01:30 +02:00
Bård Skaflestad
5ad262ec84 *Control::mode(): Defer keyword look-up to std::find() algorithm.
This is simpler than implementing our own version of the same.
2012-06-18 15:21:27 +02:00
Bård Skaflestad
1795e6b1a7 Document add_well()s "name" parameter.
Forgotten in cset 728302a69229.
2012-06-18 10:18:14 +02:00
Bård Skaflestad
6fbf50827f Add support for storing well names in "Wells" structure.
The well name must be passed as a parameter to add_well(), so update
callers accordingly.
2012-06-18 10:15:53 +02:00
Kjetil Olsen Lye
dec0e60bd4 Removed errors on trying to open a shut well (or shut an open well). 2012-06-15 15:16:32 +02:00
Kjetil Olsen Lye
068cbf0605 Handle WellOpen has both open and shut. 2012-06-15 14:29:43 +02:00
Kjetil Olsen Lye
1a37c410fc Made the grouptree respect the new convention of tilde. 2012-06-15 14:08:28 +02:00
Kjetil Olsen Lye
6f22704406 Correct a const error. 2012-06-15 13:57:35 +02:00
Kjetil Olsen Lye
c0717c0f7c Added welshut for production wells. Also added wellopen-handling. 2012-06-15 13:49:58 +02:00
Kjetil Olsen Lye
2a631282fc Added initial shutting of injection wells. 2012-06-15 13:38:07 +02:00
Atgeirr Flø Rasmussen
4689dd2af7 Fix output from SimulatorReport. 2012-06-15 10:51:34 +02:00
Atgeirr Flø Rasmussen
f452c4c33c WellsManager now handles multiple WELSPECS, WCONINJE, WCONPROD-lines referring to the same well.
This is mostly relevant for schedule handling. The last occurence of a well
is the one used.
2012-06-15 10:12:36 +02:00
Atgeirr Flø Rasmussen
98de826397 Moved SimulatorReport class into its own file, for reusability. 2012-06-14 14:13:03 +02:00
Halvor M. Nilsen
5a055ee933 Fixed one use of wells, when wells=NULL 2012-06-14 09:06:58 +02:00
Atgeirr Flø Rasmussen
ba4ba17736 Merged. 2012-06-13 19:45:32 +02:00
Atgeirr Flø Rasmussen
29a400d622 Enable inheritance from IncompTpfa for limited purposes. 2012-06-13 19:45:23 +02:00
Bård Skaflestad
cc054d474d computeFractionalFlow(): Reuse the output array in all intermediate calculations.
This eliminates a number of free-store operations and data movements.
2012-06-13 17:07:56 +02:00
Atgeirr Flø Rasmussen
e041407c81 Bugfixes: correct sign for pressure increment, initialise rock_comp. 2012-06-13 10:34:15 +02:00
Atgeirr Flø Rasmussen
4e4e652279 Added constructor for incompressible cases.
Also added computeStaticData() helper called by both constructors.
It is still possible to use the other constructor for an incompressible case,
by passing a null pointer for the rock_comp argument.
2012-06-12 15:24:31 +02:00
Atgeirr Flø Rasmussen
c7a9e84be6 Reindent. 2012-06-12 15:22:23 +02:00
Atgeirr Flø Rasmussen
cc1038bcdc Merged. 2012-06-12 11:17:02 +02:00
Atgeirr Flø Rasmussen
88c7b84f4e Removed unused code. 2012-06-12 11:16:43 +02:00
Atgeirr Flø Rasmussen
14f560a295 Major simplification of IncompTpfa interface.
Most significant changes:
     - Single solve() call used for all cases (with or without gravity,
       with or without rock compressibility). This is intentionally
       similar to CompressibleTpfa::solve().
     - Constructor take a property object and computation of necessary total
       mobilities etc. moved inside class.
     - Optional constructor args for rock compressibility, gravity, wells,
       boundary conditions (null pointer accepted) and source terms (empty
       vector accepted).
     - Nonlinear iterations for the compressible rock case now handled inside
       IncompTpfa. This part intentionally made similar to CompressibleTpfa.
2012-06-12 10:27:48 +02:00
Atgeirr Flø Rasmussen
59db0f7ca9 Fix comment. 2012-06-12 10:14:26 +02:00
Bård Skaflestad
3864afe8e2 Constructor: Move common failure mode to end of if-else chain.
While here, add a failure mode pertaining to solvers that are
supported by the system but disabled at configure time.
2012-06-11 17:54:23 +02:00
Atgeirr Flø Rasmussen
024bbacce9 More minor code cleanup. 2012-06-11 14:52:18 +02:00
Kjetil Olsen Lye
c42b24612b Removed a debug print statement in the WellsGroup-code. 2012-06-11 13:16:39 +02:00
Atgeirr Flø Rasmussen
5ca2dc99e8 Whitespace (and other minor) cleanup. 2012-06-11 10:59:23 +02:00
Atgeirr Flø Rasmussen
cc7250628e Improved documentation. 2012-06-09 18:11:02 +02:00
Atgeirr Flø Rasmussen
61995b97be Changed interface of solve() and solveGravity() to accept full saturation (both phases) input. 2012-06-09 14:56:29 +02:00
Atgeirr Flø Rasmussen
e503fd054e Removed default null argument for wells in IncompTpfa constructor. 2012-06-07 13:34:05 +02:00
Bård Skaflestad
77d92e18be Don't mix declarations and definitions. 2012-06-07 10:28:02 +02:00
Xavier Raynaud
b2c5772728 set up correctly a flag in ifs_tpfa.c 2012-06-07 09:29:56 +02:00
Xavier Raynaud
2504399cb8 merge. 2012-06-06 15:19:02 +02:00
Xavier Raynaud
c81a840382 Added possibility to set tolerance for linear solvers. 2012-06-06 15:14:46 +02:00
Atgeirr Flø Rasmussen
63bc18a4cc Added some documentation. 2012-06-06 13:42:25 +02:00
Atgeirr Flø Rasmussen
611cd53380 Reorganized, added opm/core/wells/ and opm/core/simulator/. 2012-06-05 15:42:49 +02:00
Atgeirr Flø Rasmussen
bc3fb37837 Allow specifying well rates to be zero. 2012-06-05 13:02:47 +02:00
Atgeirr Flø Rasmussen
d1a4fa6dcd Made many methods private, and added some documentation. 2012-05-30 15:10:59 +02:00
Atgeirr Flø Rasmussen
30324f84e6 Made the virtual methods private. 2012-05-30 15:10:38 +02:00
Atgeirr Flø Rasmussen
c9c2794176 Add some missing docs for parameters. 2012-05-30 15:09:57 +02:00
Atgeirr Flø Rasmussen
299ea28afe Reordering 2p transport solver now takes full saturation (all phases) as input. 2012-05-30 14:39:09 +02:00
Atgeirr Flø Rasmussen
ad2dff642b Initial version of compressible transport. Work in progress. 2012-05-28 09:12:09 +02:00
Atgeirr Flø Rasmussen
379cebb550 Improve error message. 2012-05-25 10:13:08 +02:00
Bård Skaflestad
264d8dda0c solve(): Don't generate pointers into ::empty() vector<>s. 2012-05-24 16:08:21 +02:00
Bård Skaflestad
4b6b8c0def Realign function prototypes. No functional changes. 2012-05-24 14:36:53 +02:00
Bård Skaflestad
7970d426ef csc_deallocate(): Remove useless non-NULL checks. Free(NULL) is a no-op. 2012-05-24 13:23:38 +02:00
Atgeirr Flø Rasmussen
5c15895e74 Implemented more error policies for regula falsi solver. Use in reorder code.
We have switched to WarnAndContinueOnError instead of ThrowOnError,
to reduce the annoyance factor when suffering from a minor error in
a long simulation run.
2012-05-24 10:21:38 +02:00
Atgeirr Flø Rasmussen
733129a1a9 Policy-based design enables custom error handling in scalar regula falsi. 2012-05-24 10:02:14 +02:00
Bård Skaflestad
664e0eadef initBlackoilSurfvol(): Use loop order consistent with column-major ordering. 2012-05-21 21:03:43 +02:00
Bård Skaflestad
36d21ec747 Fix spelling: Furhtermore -> Furthermore. 2012-05-21 20:04:04 +02:00
Bård Skaflestad
e53ec76d78 Re-adjust comment white-space. 2012-05-21 20:01:55 +02:00
Bård Skaflestad
fa2d0904b5 Enforce singular agreement. 2012-05-21 20:00:08 +02:00
Bård Skaflestad
71a3ac9e17 Fix misprint concerning the valid components.
These are 0..*ncompoents-1, not 0..*ncomponents inclusive.
2012-05-21 19:58:02 +02:00
Bård Skaflestad
5b9ff02633 Mention that the flux parameter is assumed to include the boundary. 2012-05-21 19:56:46 +02:00
Bård Skaflestad
8b979e3c44 Merge from upstream. 2012-05-21 19:27:58 +02:00
Bård Skaflestad
c99a9a798a Add doxygen documentation of compute_sequence*(). 2012-05-21 19:20:32 +02:00
Bård Skaflestad
7c7c4f1b31 Assert that the number of strongly connected components is in [1 .. nc]. 2012-05-21 18:53:08 +02:00
Atgeirr Flø Rasmussen
c6c92c0466 Some initial testing of CompressibleTpfa done.
Fixed bug in pressure update from increments.
Change injection wellperf_phasemob_ to be same as cell mobilities.
Improve iteration reporting.
2012-05-21 16:42:03 +02:00
Atgeirr Flø Rasmussen
780a47f651 Initialize WellState::bhp() to cell pressures of first perforation. 2012-05-21 16:39:05 +02:00
Bård Skaflestad
1eeafa1918 White-space adjustments. Mostly splitting long lines in declarations. 2012-05-21 16:37:06 +02:00
Bård Skaflestad
874e6f6bce M-x whitespace-cleanup 2012-05-21 15:27:32 +02:00
Bård Skaflestad
0b19ec6370 Remove long-disabled code. 2012-05-21 15:27:19 +02:00
Bård Skaflestad
dea3741c1b Prefer std::vector<> over explicit malloc()s. 2012-05-21 15:26:46 +02:00
Bård Skaflestad
7d57530df5 Implement compute_sequence*() in terms of compute_reorder_sequence_graph().
While here, insert various white-space adjustments.
2012-05-21 15:23:36 +02:00
Bård Skaflestad
2e02731ed8 Clean up implementation.
Specifically: Remove an unused header (stdio.h), replace <stdlib.h> by
its C++ counterpart (<cstlib>), and reference malloc() and free() from
the std:: namespace.
2012-05-21 15:01:53 +02:00
Bård Skaflestad
2006f3e3f8 Partly doxygenise the tarjan() function. 2012-05-21 14:49:51 +02:00
Atgeirr Flø Rasmussen
bc8d3160d0 Update comments in implementation file. 2012-05-21 14:48:09 +02:00
Atgeirr Flø Rasmussen
182c4718b0 Improve solver output in Newton iterations. 2012-05-21 14:08:38 +02:00
Atgeirr Flø Rasmussen
bccb7381fd Added initBlackoilSurfvol() function. 2012-05-21 14:03:56 +02:00
Atgeirr Flø Rasmussen
7e9690ece3 Bugfix: set nphases properly. 2012-05-21 14:03:33 +02:00
Atgeirr Flø Rasmussen
f9436a1bef Initialize size of wellperf_gpot_ properly. 2012-05-21 13:13:13 +02:00
Atgeirr Flø Rasmussen
857d6b774d Finished untested version of CompressibleTpfa. 2012-05-21 12:58:42 +02:00
Atgeirr Flø Rasmussen
39eab74dc8 Added loop control and reporting to CompressibleTpfa. 2012-05-21 12:48:54 +02:00
Atgeirr Flø Rasmussen
5ed467f441 Added tolerance and maxiter arguments to CompressibleTpfa. 2012-05-21 11:24:12 +02:00
Atgeirr Flø Rasmussen
fb5113836c Fixed a bug in non-linear Gauss-Seidel column segregation solver.
With columns containing an odd number of cells, middle cell would
get solved twice, and the second time with incorrect s0.
We still solve twice, but with correct s0.
2012-05-21 11:11:06 +02:00
Atgeirr Flø Rasmussen
5abf755e2d Sending *dynamic* pressures to assembly function... 2012-05-21 10:47:21 +02:00
Atgeirr Flø Rasmussen
9aa0c89603 Sending initial pressures to assembly function. 2012-05-21 10:36:10 +02:00
Atgeirr Flø Rasmussen
18a0d0cf9f Added initialization of face pressures. 2012-05-21 10:19:12 +02:00
Atgeirr Flø Rasmussen
cd72a50977 Added initFacePressure() function. 2012-05-21 10:10:52 +02:00
Atgeirr Flø Rasmussen
2ad94fc573 Evaluation of dynamic properties for CompressibleTpfa. 2012-05-21 10:10:35 +02:00
Atgeirr Flø Rasmussen
fa0d166f14 Work in progress on CompressibleTpfa.
- Changed contstruction, now takes property object.
 - Well potentials done.
2012-05-18 11:10:31 +02:00
Kjetil Olsen Lye
5fb14c94cb merge. 2012-05-16 17:00:09 +02:00
Xavier Raynaud
f252f59e5c Added necessary #include. 2012-05-16 16:08:48 +02:00
Atgeirr Flø Rasmussen
1d1755bafe Work in progress on compressible pressure solver. 2012-05-16 15:49:02 +02:00
Atgeirr Flø Rasmussen
fd25a20b9d Started adding necessary parameters to pressure solver. Work in progress. 2012-05-16 14:38:55 +02:00
Atgeirr Flø Rasmussen
ac1e43b643 Added WellState class. 2012-05-16 14:37:55 +02:00
Atgeirr Flø Rasmussen
07b04825fd Fix bug related to arithmetic if operator ( ? : ). 2012-05-16 14:15:50 +02:00
Atgeirr Flø Rasmussen
a6c71288aa Merged. 2012-05-16 12:55:05 +02:00
Atgeirr Flø Rasmussen
d15a952cdd Added initStateBasic() overload taking BlackoilPropertiesInterface props. 2012-05-16 12:54:48 +02:00
Atgeirr Flø Rasmussen
af8a32c560 Silence a warning. 2012-05-16 12:52:58 +02:00
Atgeirr Flø Rasmussen
cb03044d62 Renamed initTwophaseStateBasic() -> initStateBasic(). 2012-05-16 12:33:42 +02:00
Atgeirr Flø Rasmussen
f6efbf386c Renamed initStateTwophaseFromDeck() -> initStateFromDeck().
- Made initStateFromDeck() into a template taking arbitrary properties.
Implementation detail:
  - initWaterOilContact() was also templatized on props.
  - initHydrostaticPressure() is now overloaded on prop interface types.
2012-05-16 11:37:31 +02:00
Bård Skaflestad
e29364e3cc Don't #include EclipseGridInspector for the side effect of <tr1/array> 2012-05-16 11:13:38 +02:00
Atgeirr Flø Rasmussen
203ebe6273 Remove unneeded debug output. 2012-05-16 09:24:34 +02:00
Bård Skaflestad
b2770d1414 WCONINJE: Distinguish injectors based on first character only.
This is the completion of change-set e6015b19c4e8 from WellsGroup.cpp .
2012-05-16 00:50:23 +02:00
Bård Skaflestad
562c133dff toInjectorType(): Pass parameter as "reference-to-const" rather than copied object. 2012-05-15 17:22:05 +02:00
Bård Skaflestad
156bf0a560 toInjectorType(): Distinguish types based on first characters only.
The manual states that injection types in the "WCONINJE" keyword need
only be specified using a single character.
2012-05-15 17:19:35 +02:00
Bård Skaflestad
83274c4027 compute_cell_contrib(): Advance derivative pointer for each connection.
Failing to do this operation resulted in incorrect matrices in cases
with anisotropic tensors and/or non-cube cells.  The error has been
present since the inception of this implementation.
2012-05-15 14:34:56 +02:00
Atgeirr Flø Rasmussen
71207f04c9 Merged. 2012-05-15 13:21:02 +02:00
Atgeirr Flø Rasmussen
7df0023038 Added WellReport::push() overload taking BlackoilPropertiesInterface. 2012-05-15 12:50:02 +02:00
Atgeirr Flø Rasmussen
7700716d32 Added utility functions for compressible fluid case. 2012-05-15 12:49:15 +02:00
Atgeirr Flø Rasmussen
0d88b83546 Added satRange() method to BlackoilPropertiesInterface. 2012-05-15 12:48:16 +02:00
Bård Skaflestad
8ed2e18e15 assignPermeability(): Don't build an Inspector to count global cells.
Thus, assingPermeability() is applicable to simulation decks that
aren't based on corner-point descriptions (e.g., the (DXV,DYV,DZV)
grid type).
2012-05-15 12:07:04 +02:00
Bård Skaflestad
43bb6eac78 WellsManager(): Support grids that do not define "global_cell"
Assume that the "global_cell" in that case corresponds to the identity
mapping.
2012-05-15 11:54:59 +02:00
Kjetil Olsen Lye
e26f90d9cb merge. 2012-05-15 10:47:39 +02:00
Atgeirr Flø Rasmussen
ead94905db Merged. 2012-05-14 21:49:24 +02:00
Atgeirr Flø Rasmussen
c0d43a69bd Now computePorevolume() takes a porosity array instead of a property object.
This is to make it compatible with blackoil properties.
An alternative would be to give [Incomp|Blackoil]PropertiesInterface a
common base class (RockInterface?) with the common rock-related methods.
2012-05-14 21:47:10 +02:00
Kjetil Olsen Lye
90f8a780da added possibility to add wells to wellcollection without using deck 2012-05-14 16:10:37 +02:00
Atgeirr Flø Rasmussen
a6034be47d Merged. 2012-05-14 11:29:06 +02:00
Atgeirr Flø Rasmussen
d4e530eb3c Added surfaceDensity() method to BlackoilPropertiesInterface. 2012-05-14 11:28:05 +02:00
Atgeirr Flø Rasmussen
6f0f9ff188 Added surfaceDensity() method to IncompPropertiesInterface. 2012-05-14 11:21:13 +02:00
Atgeirr Flø Rasmussen
27eecd954e Added preliminary sketch of compressible tpfa solver.
This solver is:
 - using the residual based assembler,
 - aiming to include the nonlinear Newton iterations
   (therefore also the (re-)evaluation of fluid data).
2012-05-14 10:53:50 +02:00
Bård Skaflestad
cd4026f6c4 matrix(): Reduce likelihood of reintroducing error fixed in cset 91ad967a15a0.
Specifically, rename loop variables i1->row and i2->col to better
reflect purpose.
2012-05-11 16:31:05 +02:00
Bård Skaflestad
86ab541f66 Fix silly mistake: Multiplying from the right scales columns, not rows. 2012-05-11 16:26:41 +02:00
Bård Skaflestad
02d3601072 Merge from upstream. 2012-05-11 16:08:06 +02:00
Bård Skaflestad
64b47cd304 Comment on the various stages in producing dA/dp result. 2012-05-11 16:07:01 +02:00
Atgeirr Flø Rasmussen
8b27b4a05d Minor doc update. 2012-05-11 15:10:02 +02:00
Bård Skaflestad
9e41d1860d Hide output that's presumably diagnostic behind (undefined) macro. 2012-05-11 15:07:10 +02:00
Bård Skaflestad
29cb30ed58 matrix(): Honour chain rule of differentiation.
The original implementation of change-set 90d8dd8c8040 contained a
crucial misprint leading to incorrect results for all compressible
fluids.
2012-05-11 14:26:48 +02:00
Atgeirr Flø Rasmussen
0a2c9ff000 Update doc. 2012-05-11 13:02:48 +02:00
Atgeirr Flø Rasmussen
0677f58026 Simplified data structure for extracted columns. 2012-05-11 09:37:12 +02:00
Bård Skaflestad
a865f01478 comprock_increment(): Don't proceed to mult_csr() unless OK. 2012-05-10 22:29:41 +02:00
Atgeirr Flø Rasmussen
a4b32311b2 Fix indexing bug in well handling code for incremental (Newton) pressure assembly. 2012-05-10 15:31:51 +02:00
Atgeirr Flø Rasmussen
1aa5d6b293 Silence a warning. 2012-05-10 15:30:33 +02:00
Kjetil Olsen Lye
10b738c7e3 Merge. 2012-05-10 12:50:22 +02:00
Xavier Raynaud
8842943794 Make compressible pressure solver compatible with well management. 2012-05-10 12:38:29 +02:00
Kjetil Olsen Lye
f24d286f18 Added error handling to pressure solver. 2012-05-10 09:55:34 +02:00
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