Commit Graph
92 Commits
Author SHA1 Message Date
Bård Skaflestad 2777a6d8d9 Correct blunders concerning presence of prescribed pressure values.
Specifically, split detection of prescribed reservoir pressure values
from prescribed well (i.e., BHP) pressure values.  Previously, we
would not even assemble any well contributions if there were any
prescribed reservoir pressure values.  Moreover, the return value from
assemble_cell_contrib() was exactly opposite of its intended value...
2010-12-08 14:50:19 +01:00
Bård Skaflestad 30087dd925 Add retrieval of well BHP and perforation fluxes.
Callers may pass NULLs if any given model does not contain wells.
2010-12-07 17:30:13 +01:00
Bård Skaflestad 40debf6a5f Add tentative Peaceman well support.
Callers may pass NULLs in absence of wells in any given model.  This
implementation assembles an equation for each well, irrespective of
well control type (BHP or RATE), and assumes that productivity indices
and perforation pressure drops account for multiphase effects.
2010-12-07 17:12:09 +01:00
Bård Skaflestad 33059b78a8 Document remaining members of struct 'compr_quantities'. 2010-12-07 15:01:47 +01:00
Bård Skaflestad 5af290adc7 Allocate memory resources for well DOFs. 2010-12-06 13:26:47 +01:00
Bård Skaflestad f04892bef0 Be more specific in comment. 2010-12-06 13:17:04 +01:00
Bård Skaflestad ff26a756b8 Add well<->cell topology to system matrix. 2010-12-06 12:43:03 +01:00
Bård Skaflestad 2eb4a6f4a2 Only maintain number of rows in CSR matrix.
We will generate square matrices only in the foreseeable future and
there is no need to maintain the number of columns (the 'n' member)
separately.  Update all users accordingly.
2010-12-06 12:41:12 +01:00
Bård Skaflestad 110b78b84b Explicitly enforce zero flux in absence of other boundary information. 2010-11-25 14:33:04 +01:00
Bård Skaflestad d9493e94ce M-x delete-trailing-whitespace . 2010-11-23 16:51:06 +01:00
Bård Skaflestad 07bae5c921 Implement (IMPES) mass transport across internal interfaces.
Based on component formulas derived from the ->pimpl->masstrans_f and
->pimpl->gravtrans_f quantities.
2010-11-23 16:46:49 +01:00
Bård Skaflestad a8f831be6c Add utility functions for retrieving phase transmissibilities. 2010-11-22 12:17:14 +01:00
Bård Skaflestad 08e2e9c1a3 Only compute face pressure values if explicitly requested.
Following cset ba5d27f90d7a there is no need to compute the interface
pressure values after every linear solve.  Re-factor
cfs_tpfa_press_flux() to only compute cell pressures and interface
fluxes, and move interface pressure value computation to cfs_tpfa_fpress().
2010-11-22 11:36:47 +01:00
Bård Skaflestad 44743f5f1c Merge from upstream. 2010-11-19 15:20:22 +01:00
Atgeirr Flø Rasmussen b6de3ecc1b Only check boundary conditions on outer boundary in compute_flux(). 2010-11-19 15:11:57 +01:00
Bård Skaflestad c26d494696 Complete transition to all-int topology in CSRMatrix structure.
Having a 'MAT_SIZE_T' that is sometimes an int and sometimes an
mwSignedIndex is asking for trouble.  The practical impact for OPM is
low, though, as this issue affects only the MEX interface.
2010-11-19 14:35:39 +01:00
Jostein R. Natvig 6ae51908fa Remove Matlab binding. 2010-11-19 10:20:48 +01:00
Atgeirr Flø Rasmussen da532bf009 Const-ified data members of compr_quantities. 2010-11-18 16:02:11 +01:00
Bård Skaflestad 744a08e513 Promote MEX fluid matrix impl. to official status.
Specifically, move the evaluation of cell transmissibilities into
cfs_tpfa module (from original MEX implementation), and create a new
structure, 'struct compr_quantities', to hold the 'RB^{-1}' data and
(upwind) phase mobilities &c.
2010-11-18 14:37:36 +01:00
Bård Skaflestad 43de7f5d23 Evaluate cell pressure in an existing cell rather than outside... 2010-11-15 12:25:43 +01:00
Bård Skaflestad 0ffaafc9ee Upwind mobility strategy for computing flux/if-pressures.
Derive interface pressure values from fluxes rather than the other way
around.

Suggested by: Jostein R. Natvig
2010-11-15 10:29:23 +01:00
Bård Skaflestad fdb1a0f04a Use pure htrans strategy for computing fluxes/if-pressures.
Still wrong.  Wrong: R-O-N-G.  Wrong.
2010-11-11 14:47:17 +01:00
Bård Skaflestad 8e5105c416 Merge from upstream. 2010-11-11 09:41:16 +01:00
Atgeirr Flø Rasmussen 6f91659a31 Updated after nf parameter was removed. 2010-11-11 09:16:49 +01:00
Bård Skaflestad 64cf39691e Compute real Darcy flux in cfs_tpfa_press_flux().
The previous edition made the grave mistake of summing the mass fluxes
per face.  This does not make sense.

Pointed out by: Jostein.R.Natvig@sintef.no
2010-11-10 14:31:30 +01:00
Bård Skaflestad 552bfd5f00 Add flux and face-pressure computations.
Specifically, introduce utilities compute_fpress() and
compute_flux().  The former is needed to implement the latter across
external boundary faces.  Moreover, interface pressure values are
needed to evaluate fluid properties on faces (specifically R/B).

Add small gateway routine, cfs_tpfa_fpress(), to allow callers to
recover interface pressure values.  Re-implement cfs_tpfa_press_flux()
in terms of compute_fpress() and compute_flux().

Also, add fields 'fpress' and 'fpaccum' to struct cfs_tpfa_impl.
2010-11-09 12:52:31 +01:00
Bård Skaflestad 27ddb568ba Remove unused variable. 2010-11-09 10:03:42 +01:00
Bård Skaflestad 80f771d674 Merge from jrn. 2010-11-08 14:13:09 +01:00
Bård Skaflestad 43ddeaeca8 Don't enforce p[0]=0 for non-Neumann problems. 2010-11-06 19:16:23 +01:00
Jostein R. Natvig ee6fe14e48 Remove unnecessary argument in mim_ip_simple_all; fix affected code;
as suggested by bska.
2010-11-05 22:05:55 +01:00
Bård Skaflestad dba90f41bd Tentatively add boundary condition support.
We currently handle only Dirichlet (pressure) BC's, and the feature is
largely untested.  More work remaining.
2010-11-04 19:05:41 +01:00
Bård Skaflestad 650de8a127 Correct silly mistake in defining hface phase contribs.
We were only advancing the phase contrib once per cell, but need a
different contribution for each face for each cell...
2010-11-03 18:08:02 +01:00
Bård Skaflestad 99383e8f02 Move compressible support utilities to cfs_tpfa module.
We may wish to generalise this part into real utility functions but
for now, leave the functionality where it is most directly needed.
Rename the functions to highlight relationship to compr. tpfa.
2010-11-03 14:55:23 +01:00
Bård Skaflestad a24685af0a Add files for implementing compressible TPFA assembly. 2010-11-01 18:45:06 +01:00
Bård Skaflestad 5c6f149485 Add files for implementing compressible TPFA assembly. 2010-11-01 18:44:40 +01:00
Bård Skaflestad ffaa7c4585 Move source files to sub-dir 'src'. 2010-10-29 15:08:09 +02:00
Atgeirr Flø Rasmussen 5274eafcc1 Added extern "C" clauses. 2010-10-28 11:39:23 +02:00
Atgeirr Flø Rasmussen 496bbb7faf Set the 'n' member of the matrix (number of columns). 2010-10-28 11:38:41 +02:00
Bård Skaflestad a05de2d311 M-x delete-trailing-whitespace . 2010-10-26 22:30:54 +02:00
Bård Skaflestad a13e6a63d5 Complete cset a68849062624 (Update comment...).
Pointy hat: bska
2010-10-26 12:35:35 +02:00
Bård Skaflestad 0633a430db Update comment to reflect reality. 2010-10-26 12:33:07 +02:00
Bård Skaflestad c918c34e1f Don't update in place. 2010-10-26 12:28:31 +02:00
Bård Skaflestad 8d528e13d1 Implement simple gravity handling.
Produces expected results on standard verification test.
2010-10-26 11:57:00 +02:00
Bård Skaflestad bdd538c764 Remove zero eigenval. Prepare for adding gravity. 2010-10-25 20:28:34 +02:00
Bård Skaflestad 7ee6eb7758 The ifs_tpfa_press_flux() function does not need 'src'. 2010-10-24 21:22:29 +02:00
Bård Skaflestad d130aef655 Add (incomp) pressure system assembler based on TPFA. 2010-10-24 21:20:15 +02:00
Bård Skaflestad 4274f20c27 Add utilities for computing derived fluid quantities.
These are (currently) entirely geared towards pressure solvers.
2010-10-20 19:14:07 +02:00
Bård Skaflestad 664f1ac2fe Add facilities for computing/updating gpress/Binv.
We were already computing the inverse IP, but now centralise the
gpress as well.  Moreover, the mim_ip_*_update() functions will assist
in the pressure solvers accepting effective inner products and gravity
pressures only.
2010-10-14 14:20:11 +02:00
Bård Skaflestad edd470dd7d Move implementation of vector_zero() to central location.
There is no need for each file to contain a separate, though
trivial, implementation of this feature.
2010-10-14 13:58:47 +02:00
Bård Skaflestad ef4d884d12 Use canonical include guards.
Suggested by atgeirr.  Template:

   OPM_<FILENAME>_HEADER_INCLUDED
2010-10-13 18:35:15 +02:00