Commit Graph
181 Commits
Author SHA1 Message Date
Bård Skaflestad fc195b8449 Interpret `wells != 0 && wells->W == 0'' as `no wells''.
The CompressibleTpfa class always passes a non-null `forces->wells'
object to the constructor, assembly, and reconstruction routines but
uses ``forces->wells->W == 0'' to signify a simulation model without
wells.  This is, arguably, an error in the CompressibleTpfa class but
one that does not require a lot of work to support in the
cfs_tpfa_residual module.

Insert the extra tests in an effort to honour the ``liberal in what you
accept, strict in what you produce'' principle.
2012-09-20 15:48:48 +02:00
Bård Skaflestad e7059d6116 Don't crash on models without wells.
The user will legitimately want to run models that do not specify wells
(e.g., using boundary conditions).  While we do not yet fully support
that configuration (no wells), we absolutely must not crash by
dereferencing null pointers or generating pointers into ::empty()
std::vector<>s.

This commit installs the required guards needed to avoid said failure
mode.
2012-09-20 15:03:38 +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