Commit Graph

230 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
075df5bb1b Support shut wells in compressible tpfa solver. 2012-09-20 14:34:33 +02:00
Atgeirr Flø Rasmussen
b90b803b80 Changed well initialization and property calculation.
Bhp is now initialized to bhp target for bhp-controlled wells.
Mobilities and pvt properties are now calculated from
well perforation pressure and injection specifications for
injectors, producers still use cell properties as before.
2012-09-14 09:53:11 +02:00
Xavier Raynaud
a63064bc94 Merge remote-tracking branch 'atgeirr/master' 2012-08-27 13:32:55 +02:00
Xavier Raynaud
c93380b52f Changed private->protected and added virtual to make class derivation. 2012-08-27 13:19:04 +02:00
Atgeirr Flø Rasmussen
cd1edde45d Minor revision, mostly whitespace cleanup and comments. 2012-08-27 09:48:06 +02:00
Atgeirr Flø Rasmussen
b0522a499a New singularPressure() method propagates singularity information. 2012-08-23 14:03:20 +02:00
Atgeirr Flø Rasmussen
e5d0bb98c1 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
Xavier Raynaud
c949319bf1 Corrected bug (residual should not be divided by dt). 2012-08-21 17:12:07 +02:00
Xavier Raynaud
c431df3d77 Corrected typo in comment. 2012-08-21 17:09:19 +02:00
Xavier Raynaud
6db144ec65 Fixed sign error and replaced porevol->porevol0. 2012-08-21 10:20:59 +02:00
Atgeirr Flø Rasmussen
6e778b9641 Bugfix: call *comprock* method only if active rock compressibility. 2012-08-17 10:56:27 +02:00
Atgeirr Flø Rasmussen
dec8ed5760 Class CompressibleTpfa now handles rock compressibility. 2012-08-17 10:38:41 +02:00
Atgeirr Flø Rasmussen
aa49d56d9c 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
2dc1744bce 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
Bård Skaflestad
c2eaa97049 Add partial Doxygen markup to public interfaces.
More work needed.
2012-07-03 01:30:18 +02:00
Bård Skaflestad
1235b8ecbc Document public interface for transmissibility calculation. 2012-07-03 01:29:34 +02:00
Bård Skaflestad
8e436e174a Include missing headers. 2012-07-02 22:29:47 +02:00
Bård Skaflestad
be54b53cb5 Add stub documentation for hybsys_well_cellcontrib_symm().
Expansion and refinement needed.
2012-07-01 00:20:06 +02:00
Bård Skaflestad
c40ddf42d0 Document public interface hybsys_compute_press_flux_well().
Refinements are likely.
2012-06-30 00:21:43 +02:00
Bård Skaflestad
fae98697a6 Document public interface hybsys_compute_press_flux().
Likely to be refined at a later stage.
2012-06-29 23:44:40 +02:00
Bård Skaflestad
fed0117242 Document public interface of hybsys_cellcontrib_unsymm(). 2012-06-29 23:13:18 +02:00
Bård Skaflestad
70e763c8bd Document hybsys_cellcontrib_symm() public interface. 2012-06-29 19:27:35 +02:00
Bård Skaflestad
3da361f88e Document interface of hybsys_well_schur_comp_symm() 2012-06-29 14:52:21 +02:00
Bård Skaflestad
e90e71ef6a Add stub documentation of public interfaces.
Typical usage process is not discussed.
2012-06-25 01:15:57 +02:00
Bård Skaflestad
dbde5af7e4 Document module and routines relating to per-cell contributions.
Per-well contributions and pressure/flux reconstruction remain.
2012-06-25 00:57:36 +02:00
Bård Skaflestad
bfaf6e0b87 Document public interface of common FSH module. 2012-06-24 16:50:16 +02:00
Bård Skaflestad
14f9faa011 Add Doxygen-style documentation to all interfaces. 2012-06-24 03:59:18 +02:00
Bård Skaflestad
f77a7c19ae Reference module headers from canonical location. 2012-06-22 19:39:52 +02:00
Bård Skaflestad
7946509f6c Reference public header from canonical location. 2012-06-22 19:37:51 +02:00
Bård Skaflestad
4f4439a854 Restore a blank line that was lost in an earlier cset. 2012-06-20 00:38:47 +02:00
Bård Skaflestad
3383100690 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
4eb1457c61 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
Halvor M. Nilsen
1a95fe8199 Fixed one use of wells, when wells=NULL 2012-06-14 09:06:58 +02:00
Atgeirr Flø Rasmussen
ed12b9ffff Enable inheritance from IncompTpfa for limited purposes. 2012-06-13 19:45:23 +02:00
Atgeirr Flø Rasmussen
b9afae7ef6 Bugfixes: correct sign for pressure increment, initialise rock_comp. 2012-06-13 10:34:15 +02:00
Atgeirr Flø Rasmussen
e1d5e55f1b 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
6cbd78b4ba Removed unused code. 2012-06-12 11:16:43 +02:00
Atgeirr Flø Rasmussen
a558878917 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
7a5a32819b Fix comment. 2012-06-12 10:14:26 +02:00
Atgeirr Flø Rasmussen
9c78588b90 More minor code cleanup. 2012-06-11 14:52:18 +02:00
Atgeirr Flø Rasmussen
4c05108383 Whitespace (and other minor) cleanup. 2012-06-11 10:59:23 +02:00
Atgeirr Flø Rasmussen
0551401bc6 Removed default null argument for wells in IncompTpfa constructor. 2012-06-07 13:34:05 +02:00
Bård Skaflestad
024f95be5d Don't mix declarations and definitions. 2012-06-07 10:28:02 +02:00
Xavier Raynaud
95f81401ab set up correctly a flag in ifs_tpfa.c 2012-06-07 09:29:56 +02:00
Xavier Raynaud
187957397c merge. 2012-06-06 15:19:02 +02:00
Xavier Raynaud
38562a5d7a Added possibility to set tolerance for linear solvers. 2012-06-06 15:14:46 +02:00
Atgeirr Flø Rasmussen
955b5ea068 Reorganized, added opm/core/wells/ and opm/core/simulator/. 2012-06-05 15:42:49 +02:00
Atgeirr Flø Rasmussen
675aedb84e Add some missing docs for parameters. 2012-05-30 15:09:57 +02:00
Bård Skaflestad
4f4ba2427f solve(): Don't generate pointers into ::empty() vector<>s. 2012-05-24 16:08:21 +02:00
Bård Skaflestad
ee5e506c44 Realign function prototypes. No functional changes. 2012-05-24 14:36:53 +02:00
Atgeirr Flø Rasmussen
b5d3615fa5 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
57fe2cf237 Update comments in implementation file. 2012-05-21 14:48:09 +02:00
Atgeirr Flø Rasmussen
6be6b9fb59 Improve solver output in Newton iterations. 2012-05-21 14:08:38 +02:00
Atgeirr Flø Rasmussen
3419e6e92b Bugfix: set nphases properly. 2012-05-21 14:03:33 +02:00
Atgeirr Flø Rasmussen
83856a47ef Initialize size of wellperf_gpot_ properly. 2012-05-21 13:13:13 +02:00
Atgeirr Flø Rasmussen
88f77e8dd6 Finished untested version of CompressibleTpfa. 2012-05-21 12:58:42 +02:00
Atgeirr Flø Rasmussen
f8b3a8d343 Added loop control and reporting to CompressibleTpfa. 2012-05-21 12:48:54 +02:00
Atgeirr Flø Rasmussen
521827c9d1 Added tolerance and maxiter arguments to CompressibleTpfa. 2012-05-21 11:24:12 +02:00
Atgeirr Flø Rasmussen
6d07dd9e10 Sending *dynamic* pressures to assembly function... 2012-05-21 10:47:21 +02:00
Atgeirr Flø Rasmussen
2add19a2e1 Sending initial pressures to assembly function. 2012-05-21 10:36:10 +02:00
Atgeirr Flø Rasmussen
91cbc6bb72 Evaluation of dynamic properties for CompressibleTpfa. 2012-05-21 10:10:35 +02:00
Atgeirr Flø Rasmussen
2bab1acdb6 Work in progress on CompressibleTpfa.
- Changed contstruction, now takes property object.
 - Well potentials done.
2012-05-18 11:10:31 +02:00
Atgeirr Flø Rasmussen
e57ef29fae Work in progress on compressible pressure solver. 2012-05-16 15:49:02 +02:00
Atgeirr Flø Rasmussen
30218d84ea Started adding necessary parameters to pressure solver. Work in progress. 2012-05-16 14:38:55 +02:00
Atgeirr Flø Rasmussen
cc0097d8b9 Fix bug related to arithmetic if operator ( ? : ). 2012-05-16 14:15:50 +02:00
Atgeirr Flø Rasmussen
61f5343b9d Merged. 2012-05-16 12:55:05 +02:00
Bård Skaflestad
20cf0eda36 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
742303534a 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
Atgeirr Flø Rasmussen
541c1d3dbe Minor doc update. 2012-05-11 15:10:02 +02:00
Atgeirr Flø Rasmussen
d041ad8f4f Update doc. 2012-05-11 13:02:48 +02:00
Bård Skaflestad
c521c0a0f6 comprock_increment(): Don't proceed to mult_csr() unless OK. 2012-05-10 22:29:41 +02:00
Atgeirr Flø Rasmussen
7eb2ed764e Fix indexing bug in well handling code for incremental (Newton) pressure assembly. 2012-05-10 15:31:51 +02:00
Kjetil Olsen Lye
51c1da1df8 Merge. 2012-05-10 12:50:22 +02:00
Xavier Raynaud
1e7101a91b Make compressible pressure solver compatible with well management. 2012-05-10 12:38:29 +02:00
Kjetil Olsen Lye
68a9f889e7 Added error handling to pressure solver. 2012-05-10 09:55:34 +02:00
Bård Skaflestad
2df84c74a8 Realign pointer offsets to provide additional visual cues. 2012-05-09 22:39:28 +02:00
Bård Skaflestad
f4fb9920ef Whitespace adjustment. No functional changes. 2012-05-09 19:21:52 +02:00
Bård Skaflestad
3d6a11a0a3 Re-align variable declarations various assemble*() methods. 2012-05-09 19:21:00 +02:00
Bård Skaflestad
a635b4c09c 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
3c567c409c Follow file conventions in mult_csr_matrix(). 2012-05-09 19:07:59 +02:00
Bård Skaflestad
fbb8ae77b1 Don't expose a (presently) internal function. 2012-05-09 18:58:17 +02:00
Bård Skaflestad
8afc0571f9 Merge from upstream. 2012-05-09 18:56:09 +02:00
Bård Skaflestad
7d93097297 Convert Residual-based solver to conventions of <newwells.h>.
Almost a mechanical translation.
2012-05-09 16:26:41 +02:00
Xavier Raynaud
8b0db641f4 merge 2012-05-09 15:15:13 +02:00
Xavier Raynaud
dbb34c73a6 Added Newton compressible fluid solver. 2012-05-09 15:06:13 +02:00
Kjetil Olsen Lye
5cf205f225 Added failure checking for solve method. 2012-05-09 11:28:56 +02:00
Atgeirr Flø Rasmussen
0f25f9b13e 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
Atgeirr Flø Rasmussen
9338cc93d0 Remove unused variable. 2012-05-03 13:32:30 +02:00
Atgeirr Flø Rasmussen
b7d1634bc4 Verify that RESERVOIR_RATE controlled wells have specified total rate. 2012-04-26 15:03:55 +02:00
Atgeirr Flø Rasmussen
d9eec24f7a Updated pressure solver after changes to well data structure. 2012-04-26 14:49:25 +02:00
Atgeirr Flø Rasmussen
5357158984 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
Bård Skaflestad
56d4f2aa1b Enforce explicit no-flow on outer faces not affected by boundary conditions. 2012-04-24 15:08:05 +02:00
Ove Saevareid
d26a9ee4c8 Bugfix: want non-negative cell index 2012-04-24 12:51:24 +02:00
Bård Skaflestad
435b652678 Add debug-only test to catch the issue fixed in cset 993fd9d80c93. 2012-04-23 19:07:11 +02:00
Ove Saevareid
cd5cf1d348 Bugfix: face_cells, not cell_faces 2012-04-23 14:00:31 +02:00
Atgeirr Flø Rasmussen
f386ffa804 Added fixes and assertions suggested by static analysis. 2012-04-23 13:28:18 +02:00
Atgeirr Flø Rasmussen
0c3c195220 Pretty-formatting only. 2012-04-19 15:33:25 +02:00
Kjetil Olsen Lye
5b21e74999 merge 2012-04-13 13:20:36 +02:00
Bård Skaflestad
78dea6aa20 Pass correctly sized well-rate solution vectors to ifs_tpfa_press_flux().
The function computes a total flux at each perforation (connection), not
just one total flux per well.  Update documentation accordingly.
2012-04-12 20:27:29 +02:00
Kjetil Olsen Lye
8bc9e862d4 Made a (possibly wrong) adjustment to well_controls_append. Each control now has its current index set to 0, as there's only supposed to be one control per well. 2012-04-12 18:47:06 +02:00