Commit Graph

1349 Commits

Author SHA1 Message Date
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
Atgeirr Flø Rasmussen
54120f795c A large number of additions to start testing compressible tpfa-solver. 2010-11-22 15:00:26 +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
Atgeirr Flø Rasmussen
68cc76c5eb Moved common enums for phase names etc. to BlackoilDefs helper class. 2010-11-15 20:11:45 +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
Atgeirr Flø Rasmussen
2bb79d9b55 Added proper copyright notice to files imported from samcode. 2010-11-15 07:57:36 +01:00
Atgeirr Flø Rasmussen
6d4546bc47 Changed namespace to Opm. 2010-11-12 13:28:55 +01:00
Atgeirr Flø Rasmussen
64ac03c4c6 Added lots of stuff originally from the samcode repository. 2010-11-12 13:18:27 +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
Atgeirr Flø Rasmussen
7bae4aa4d3 Implemented FluidMatrixInteractionBlackoil init(), kr() and a test prog. 2010-11-10 13:31:32 +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
Jostein R. Natvig
7459c5988e Add bare-bones explicit mobility-weighted upwind solver for two-phase
incompressible flow.
2010-11-02 09:10:36 +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