Commit Graph

453 Commits

Author SHA1 Message Date
Bård Skaflestad
704d7eab5c Backed out changeset 5e3d75476d64
In preparation of restoring backwards compatibility in 'cfs_tpfa' module.
2011-10-18 23:13:41 +02:00
Bård Skaflestad
e81a424995 Grab copy of 'cfs_tpfa' module in preparation of restoring backwards compat. 2011-10-18 23:12:54 +02:00
Bård Skaflestad
dd042b75a8 Make first attempt at implementing the residual/Jacobian formulation.
This is a step in the direction of having a true IMPES pressure solver
and to remove the 'experimental_jacobian' option in dune-porsol.
2011-10-18 20:46:05 +02:00
Bård Skaflestad
7fb517e192 Delete trailing whitespace. 2011-10-18 20:40:19 +02:00
Bård Skaflestad
94fc6de78a Rework compressibility representation.
Switch to storing a complete fluid-matrix derivative in the
compr_quantities rather than the total compressibility.  Maintain the
"volume discrepancy" field.  Also, add traditional memory management
functions.
2011-10-18 20:38:28 +02:00
Bård Skaflestad
c3036166a9 Factor pressure (increment) assignment out of _press_flux().
The linear solution h->x is the pressure increment, not the actual
pressure value, so we cannot compute fluxes based on h->x alone.
2011-10-17 11:05:04 +02:00
Bård Skaflestad
be6ae76d88 Don't reference (non-existent) Dune directories. Remove disabled code. 2011-10-13 19:38:33 +02:00
Halvor M. Nilsen
e7d5d4bb27 added EulerUpstreamImplicit, added implicit traits: does notthing now 2011-10-11 11:42:40 +02:00
Halvor M. Nilsen
b42bd08154 Move 'common' directory into 'dune'. 2011-10-07 10:54:25 +02:00
Bård Skaflestad
5ee2c381c3 Import glue code for calling into UMFPACK using an OPMPressure CSRMatrix. 2011-10-05 20:03:07 +02:00
Bård Skaflestad
01eb7a2214 Add an overload suited to pointer arguments (primitive types). 2011-10-05 19:54:12 +02:00
Bård Skaflestad
4f488a08e7 Work around different 'const' rules in C. 2011-10-04 21:21:30 +02:00
Bård Skaflestad
55cbd9143b Don't reference unneeded interfaces. 2011-10-04 10:10:44 +02:00
Bård Skaflestad
5b3acfa7da Add a block assembler and solver for OPMPressure's CSRMatrix.
Solver based on UMFPACK.
2011-10-03 18:17:58 +02:00
Bård Skaflestad
d085ddb314 Use portable array initialisation.
Memset() and calloc() define arrays of bytes, not general objects.  This
is a lesson learned many times over by generations of C programmers...
2011-09-30 09:39:54 +02:00
Bård Skaflestad
06cb0ab97f Add gravity contributions in flux calculations.
Credit:
  Jostein R. Natvig <jostein.r.natvig@sintef.no>
2011-09-20 13:18:33 +02:00
Bård Skaflestad
82a51172b7 Suppress warnings about unused parameters. 2011-09-10 16:48:31 +02:00
Bård Skaflestad
70a9e8a7a8 Add companion output utilities based on already opened streams.
Functions csrmatrix_write_stream() and vector_write_stream() subsume
the output responsibilities of csrmatrix_write() and vector_write(),
respectively, but do not deal with opening or closing streams.  This
allows, e.g., a call such as

    csrmatrix_write_stream(A, stderr);

for debugging purposes.

Re-implement csrmatrix_write() and vector_write() in terms of
csrmatrix_write_stream() and vector_write_stream(), respectively.
2011-09-07 23:14:47 +02:00
Bård Skaflestad
4e8b35f9ed Comment copy editing.
Remove comments that bring no new information, and formalise
descriptions in a few other cases.
2011-09-06 10:14:02 +02:00
Bård Skaflestad
33c35de2fa Merge from upstream. 2011-09-01 10:37:00 +02:00
Bård Skaflestad
667bd99b85 Merge from upstream. 2011-09-01 10:33:06 +02:00
Bård Skaflestad
9341b3aaac Silence warnings about "signed vs. unsigned" comparisons. 2011-09-01 10:28:27 +02:00
Bård Skaflestad
3a713ac022 Add a simple QFS for testing from C.
Not integrated into Autotools build system.  Compile as

  gcc -g -Wall -ansi -pedantic -Wextra test_cfs_tpfa.c cfs_tpfa.c \
          well.c flow_bc.c trans_tpfa.c sparse_sys.c compr_quant.c \
      -lumfpack -llapack -lblas -lm

(or variants thereof).
2011-08-26 15:30:20 +02:00
Atgeirr Flø Rasmussen
da9b3f0565 Added a static assertation and two matrix types. 2011-06-20 11:13:45 +02:00
Bård Skaflestad
f08a4ba437 Use (c1,c2) alias rather than neigh[] references where possible. 2011-05-31 23:06:44 +02:00
Bård Skaflestad
4313d35883 Increase readability of create_c2c().
Introduce two intermediate variables, c1, and c2, to hold cell numbers
during the building of the cell<->cell neighbourhood.  This reduces
the statement complexity--both for the human reader and the compiler...
2011-05-31 23:04:40 +02:00
Bård Skaflestad
c689a82c96 Spelling. 2011-05-28 00:08:33 +02:00
Bård Skaflestad
bfc50ea14b Avoid signed/unsigned problem. 2011-05-27 23:17:44 +02:00
Bård Skaflestad
809763f333 Delete trailing whitespace. 2011-05-11 15:14:34 +02:00
Bård Skaflestad
1469bc7398 Consistently refer to "half-transmissibilities" as "one-sided".
While here, remove a comment that only describes the mechanics of the
following loop and does not provide any more insight.
2011-05-11 15:14:19 +02:00
Bård Skaflestad
e1f715fc71 Merge from upstream. 2011-05-11 14:24:47 +02:00
Atgeirr Flø Rasmussen
d6051b104c Three changes:
1. Changed calculation of face pressures to avoid using mobilities.
2. Added 'scratch_f' array to cfs_tpfa_impl struct (for use by above routine).
3. Changed interface of cfs_tpfa_fpress() to pass the data struct.
2011-05-11 14:17:30 +02:00
Bård Skaflestad
b75f3df9f1 Reorder declarations to remove warning.
Specifically, GCC in strict ISO C90 mode warns of:
  cfs_tpfa.c: In function ‘cfs_tpfa_impes_maxtime_cell’:
  cfs_tpfa.c:1086: warning: ISO C90 forbids mixed declarations and code
2011-04-26 23:15:43 +02:00
Atgeirr Flø Rasmussen
c738b21130 Using gravtrans_p for well impes transport. 2011-04-26 11:06:46 +02:00
Atgeirr Flø Rasmussen
893109f8c6 Merged. 2011-04-18 13:52:54 +02:00
Atgeirr Flø Rasmussen
e2e5ef8caf Bugfix in impes transport for well perforations, function signature change. 2011-04-18 13:51:54 +02:00
Bård Skaflestad
83785e49ad Sort includes. 2011-04-11 11:32:42 +02:00
Atgeirr Flø Rasmussen
40c90929a6 Added setting of dpmob arrays. Minor edit and reindent. 2011-04-11 11:12:33 +02:00
Atgeirr Flø Rasmussen
4214a6aa1d Added gravity parameter, and gravity potential computations. 2011-04-11 11:04:52 +02:00
Atgeirr Flø Rasmussen
f70309c76b First partial implementation of Coats' stable IMPES step limit. 2011-04-11 10:11:22 +02:00
Bård Skaflestad
8bd7d89d00 Implement total rate constraint for wells.
Untested.
2011-02-16 10:41:43 +01:00
Atgeirr Flø Rasmussen
c0114c52d2 Added well handling to cfs_tpfa_expl_mass_transport(), simplified interface. 2011-02-03 12:51:53 +01:00
Atgeirr Flø Rasmussen
d30da303bb Changed order of phases and components. 2011-01-26 16:01:04 +01:00
Bård Skaflestad
7e834dd3b5 Explicitly state that ratio->psum is a scalar per total connection. 2011-01-24 11:21:25 +01:00
Bård Skaflestad
07a453225d Satisfy all post-conditions of compute_densrat_update()
The total (accumulated) phase contributions must be available in
ratio->psum for each completion when leaving the function.
2011-01-20 10:49:11 +01:00
Bård Skaflestad
fc41c37578 Add compressible well completion flows.
Specifically, allocate storage for 'masstrans' and 'gravtrans' terms
per well completion (perforation), as well as compressible
transmissibilities (scalar per completion).  Calculate compressible
quantities by treating each completion as an interface.

Introduce a new structure, 'completion_data', to collect static and
dynamic discretisation data pertaining to each completion (e.g.,
productivity indices, gravity potentials and density ratio
operators).  Pass this structure, rather than individual fields, into
affected CFS_TPFA entry points.

Compile tested only.
2011-01-19 20:20:15 +01:00
Bård Skaflestad
23ac315663 Restructure calculation of compressible terms.
Specifically, rename the obtuse structure 'disc_data' to the more targeted
'densrat_util' and hoist the compressible terms 'ctrans' and 'P' into
the 'cfs_tpfa_impl' structure.  Moreover, rename the remaining fields
into something that makes sense in (almost) isolation.  Update
compute_densrat_update() and cfs_tpfa_construct() accordingly.

This is in preparation of adding compressible well terms.
2011-01-19 12:08:12 +01:00
Bård Skaflestad
c648dc1819 Reorder internal functions for call-sequence consistency. 2011-01-18 13:49:35 +01:00
Bård Skaflestad
bd3cc50cfb Add gravity contributions to flux.
Only really verified for incompressible data.  There are likely to be
programming errors.
2011-01-16 21:21:06 +01:00
Bård Skaflestad
157b86c21c Improve gravity handling in linear system.
Specifically, only assemble gravity contributions on internal faces or
external Dirichlet faces.  Moreover, pay attention to direction of
gravity flux (in/out of cell) during assembly.
2011-01-14 20:30:07 +01:00