Xavier Raynaud
22372710b8
Merge remote-tracking branch 'atgeirr/master'
2012-08-27 13:32:55 +02:00
Xavier Raynaud
af8a6fa7da
Changed private->protected and added virtual to make class derivation.
2012-08-27 13:19:04 +02:00
Atgeirr Flø Rasmussen
5182fef48d
Switch loop ordering for better cache performance.
2012-08-27 13:17:27 +02:00
Halvor Møll Nilsen
cf9b9cdf20
Started work on supporting 3 phases for wellreport.
2012-08-27 12:22:32 +02:00
Halvor Møll Nilsen
9ef6014964
Addes support for initialisation of three phases using SWOF and SGOF
2012-08-27 12:20:03 +02:00
Atgeirr Flø Rasmussen
931dcc4a3d
Implemented rudimentary solveMultiCell().
...
Simply calls solveSingleCell() once for each cell in block.
2012-08-27 11:26:51 +02:00
Atgeirr Flø Rasmussen
9bb76d74cc
Fixed bug in matrix multiplication (matrix has Fortran element order).
2012-08-27 11:19:22 +02:00
Atgeirr Flø Rasmussen
0a8ac1ddb5
Minor revision, mostly whitespace cleanup and comments.
2012-08-27 09:48:06 +02:00
Bård Skaflestad
a8d75d2b25
Reference <grid.h> from canonical location.
...
The header was removed from this directory upon import from the
preexisting "opmtransport" repository.
2012-08-24 20:31:13 +02:00
Bård Skaflestad
c2a0b51365
Unequivocally exclude MATLAB timing printing.
...
It is not actually needed and prevents building when symbol
MATLAB_MEX_FILE is defined.
2012-08-24 20:31:13 +02:00
Halvor Møll Nilsen
6390cceaa2
Corrected typing pointed out by atgeirr in respose to pullrequest
2012-08-24 20:31:13 +02:00
Halvor Møll Nilsen
7ee5d5e403
added writing of reorder iterations for each cell
2012-08-24 20:31:13 +02:00
Atgeirr Flø Rasmussen
3e9cc74922
Initial commit of tof computation by reordering.
2012-08-24 16:08:26 +02:00
Halvor Møll Nilsen
0da049f4c8
Corrected mistake from moving function calls.
2012-08-24 13:39:42 +02:00
Atgeirr Flø Rasmussen
46fb488410
Minor code cleanup in TransportModelTwophase.
2012-08-24 13:31:23 +02:00
Atgeirr Flø Rasmussen
3dfb2eb29b
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
opm/core/simulator/SimulatorIncompTwophase.cpp
2012-08-24 13:31:05 +02:00
Halvor Møll Nilsen
a26c6779c6
Corrected typing pointed out by atgeirr in respose to pullrequest
2012-08-24 12:52:41 +02:00
Atgeirr Flø Rasmussen
c7bbf1146c
Removed unneeded function numGlobalCells().
2012-08-24 08:18:59 +02:00
Atgeirr Flø Rasmussen
caff665c10
Fixed solveGravity(): now properly modifies surfacevolume.
...
Also:
- solveGravity() interface changed to take surface volume as a parameter,
- gravity vector is now given in initGravity() instead of
solveGravity(), for consistency with the incompressible solver.
2012-08-23 14:45:23 +02:00
Atgeirr Flø Rasmussen
73949f892e
New singularPressure() method propagates singularity information.
2012-08-23 14:03:20 +02:00
Atgeirr Flø Rasmussen
983a29691c
Function cfs_tpfa_residual_assemble() and friends now return singularity flag.
...
The singularity flag is true if there are no pressure conditions and no
compressibility (so the absolute values of the pressure solution will be
arbitrary).
2012-08-23 14:00:04 +02:00
Atgeirr Flø Rasmussen
e96421dbd7
Whitespace cleanup.
2012-08-23 08:59:09 +02:00
Atgeirr Flø Rasmussen
96327164cc
Added computeSurfacevol() method.
...
The method is called by the reordering transport solver after computing
new saturations in order to update the surface volumes.
2012-08-23 08:57:48 +02:00
Atgeirr Flø Rasmussen
010715ad03
Document and check (primitive) for non-miscibility requirement.
2012-08-22 12:31:59 +02:00
Atgeirr Flø Rasmussen
2f03664408
Merge branch 'rock_comp_tpfa'
2012-08-22 11:13:16 +02:00
Xavier Raynaud
9ed0923279
Update surface volume in transport solver.
2012-08-22 10:11:32 +02:00
Xavier Raynaud
660f14df3b
Corrected bug (residual should not be divided by dt).
2012-08-21 17:12:07 +02:00
Xavier Raynaud
52ab67201d
Changed way to get total number of cells.
2012-08-21 17:10:49 +02:00
Xavier Raynaud
712ccb0309
Corrected typo in comment.
2012-08-21 17:09:19 +02:00
Halvor Møll Nilsen
5743225be2
added writing of reorder iterations for each cell
2012-08-21 15:23:46 +02:00
Xavier Raynaud
7e1e1e7951
Fixed sign error and replaced porevol->porevol0.
2012-08-21 10:20:59 +02:00
Halvor Møll Nilsen
50ff22141d
Added writing of timings in param format
2012-08-21 09:57:36 +02:00
Xavier Raynaud
b470ab8d50
Fix initialization bug.
2012-08-20 15:18:24 +02:00
Atgeirr Flø Rasmussen
aa47b1511c
Merge branch 'master' into rock_comp_tpfa
2012-08-17 12:55:41 +02:00
Atgeirr Flø Rasmussen
ded1424cc9
Whitespace cleanup.
2012-08-17 12:40:15 +02:00
Atgeirr Flø Rasmussen
61fdf4a8b6
Bugfix: call *comprock* method only if active rock compressibility.
2012-08-17 10:56:27 +02:00
Atgeirr Flø Rasmussen
d67f49bac8
Class CompressibleTpfa now handles rock compressibility.
2012-08-17 10:38:41 +02:00
Atgeirr Flø Rasmussen
547efbe7d1
Added function cfs_tpfa_res_comprock_assemble().
...
This is intended to handle cases with both fluid and rock compressibility.
2012-08-17 10:36:57 +02:00
Atgeirr Flø Rasmussen
6fb1078cba
Merge remote-tracking branch 'upstream/master'
2012-08-14 15:27:30 +02:00
Atgeirr Flø Rasmussen
ec13b11f9d
Merge remote-tracking branch 'upstream/master'
2012-08-14 11:31:54 +02:00
Atgeirr Flø Rasmussen
f90f313af6
Gravity segregation column solver for compressible case implemented.
2012-08-14 11:25:59 +02:00
Bård Skaflestad
7cad95c6c7
Restore coding conventions.
...
Inadvertently lost in commit 064184b.
2012-08-14 11:05:09 +02:00
Halvor Møll Nilsen
1f7ec7fa39
Changed to extrapolation outside tables for pormult. Added facetags to the grid structure. Changed default fluid to Linear.
2012-08-14 09:36:19 +02:00
Atgeirr Flø Rasmussen
497c45b78b
Constructors of *FromDeck classes now take an UnstructuredGrid.
...
This is a change from taking a vector containing the mapping to
deck-consistent logical cartesian indices. The mapping is contained
in the UnstructuredGrid::global_cell member, and may be null. The
change therefore saves the overhead of constructing a vector as a
copy of the data in the grid or (if null) as an identity mapping.
2012-08-10 10:12:45 +02:00
Atgeirr Flø Rasmussen
6ab7487218
Whitespace cleanup.
2012-07-19 15:34:42 +02:00
Atgeirr Flø Rasmussen
937b85e88f
Bugfix in CompressibleTpfa for gravity case.
...
Gravity acceleration should be a factor in the face gravity potential.
2012-07-19 14:45:15 +02:00
Atgeirr Flø Rasmussen
eb7d46accf
Transport solver partially complete (segregation solver remains).
2012-07-19 14:02:26 +02:00
Bård Skaflestad
52a5aabf57
Use have_boost_redef.hpp rather than direct override.
2012-07-12 14:36:36 +02:00
Bård Skaflestad
81f4ab5dd9
Add partial Doxygen markup to public interfaces.
...
More work needed.
2012-07-03 01:30:18 +02:00
Bård Skaflestad
527f2aef52
Initialise all members in default constructor.
2012-07-02 17:44:16 +02:00
Joakim Hove
368e1813a1
Using Datamapper.h in writeVtkData
2012-06-28 13:20:18 +02:00
Bård Skaflestad
0d3b2abc6a
Anchor Doxygen comments to current line.
...
Existing mark-up (/** ... */) would erroneously apply the documentation
of one field to the one below. Using /**< ... */ avoids this problem.
Found by reading the Doxygen manual more carefully...
2012-06-26 11:44:30 +02:00
Bård Skaflestad
e5e23de0c0
Document the obsolescent well representation.
...
It is still in use by the hybridised pressure solvers.
2012-06-25 00:55:50 +02:00
Bård Skaflestad
ffb538fce0
Add Doxygen-style documentation to all interfaces.
2012-06-24 03:59:18 +02:00
Bård Skaflestad
b9c9f9fbe8
Reference module headers from canonical location.
2012-06-22 19:39:52 +02:00
Bård Skaflestad
dd67e0c717
Insert another <CODE></CODE> pair that was missing.
2012-06-22 15:44:39 +02:00
Bård Skaflestad
77cd800b0c
Merge from upstream.
2012-06-22 15:41:37 +02:00
Bård Skaflestad
1256fb4389
Refine description of csrmatrix_new_elms_pushback()
...
While here, tighten the distinction between <CODE> and non-<CODE>
mark-up.
2012-06-22 15:37:50 +02:00
Bård Skaflestad
ff96f386dc
Use canonical include path to reference header.
2012-06-22 10:17:34 +02:00
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