Commit Graph

486 Commits

Author SHA1 Message Date
Bård Skaflestad
3085a4d12b Implement csrmatrix_zero() in terms of vector_zero(). 2011-11-23 23:06:16 +01:00
Bård Skaflestad
8677bc3827 Compute component fluxes across completions if the model includes wells.
This necessitates a public interface change whereby the caller is
required to pass the current well (bottom-hole) pressure values into
the assembler.
2011-11-23 19:25:47 +01:00
Bård Skaflestad
8937b6b283 Allocate backing store for well completion data.
Also, include well connections in system matrix.
2011-11-23 15:25:48 +01:00
Bård Skaflestad
aff142bd54 Take initial steps towards including wells in assembly.
Specifically, accept (and currently ignore), a WellCompletions
structure into the constructor, and aggregate all driving forces
(source terms, boundary conditions and all well-related structures)
into an assembler-specific "force" structure.  Accept a pointer to
such a structure into the assemble() function.  Currently ignored
except for source terms.
2011-11-23 13:20:37 +01:00
Bård Skaflestad
099fa2b612 Name the well_t and well_control_t structures. 2011-11-23 11:23:30 +01:00
Bård Skaflestad
38e0cb08eb Remove a comment that alludes to a non-portable technique. 2011-10-26 16:19:34 +02:00
Bård Skaflestad
68c51d8ddf Guard against 'bc' being NULL.
This is in preparation of introducing compressible boundary conditions
as represented by the 'compr_bc' module.
2011-10-25 19:34:32 +02:00
Bård Skaflestad
057d291b3e Add a facility for representing compressible boundary conditions. 2011-10-24 18:10:34 +02:00
Bård Skaflestad
b8f7cc1765 Don't use uninitialised variables. 2011-10-21 15:30:44 +02:00
Bård Skaflestad
2835762542 Fix remaining bugs for incompressible flows driven by sources.
In particular:

  - Zero sufficient portion of the ->mat_row to hold all connections
    of a cell in addition to the accumulation term.

  - Don't write the residual into the accumulation term of the
    Jacobian matrix row.
2011-10-20 13:59:15 +02:00
Bård Skaflestad
c90fc0d85d Don't pretend that the time-step is always one. 2011-10-19 22:28:41 +02:00
Bård Skaflestad
f28f1137be Account for flow-direction signs when accumulating fluxes. 2011-10-19 22:10:22 +02:00
Bård Skaflestad
803e3d1286 Check allocation status in correct scope. 2011-10-19 20:32:50 +02:00
Bård Skaflestad
735e0fca95 Implement compressible (volume flux) source term assembly. 2011-10-19 20:09:51 +02:00
Bård Skaflestad
7d097bafac Accept a set of compressible source terms rather than a double*.
While here, restore an essential semicolon lost in cset 11881e6cd650.
2011-10-19 19:54:17 +02:00
Bård Skaflestad
c2482fbf12 Remove unused function. 2011-10-19 19:48:46 +02:00
Bård Skaflestad
f87b9184ae Add a simple representation of a compressible (volume flux) source term. 2011-10-19 19:44:32 +02:00
Bård Skaflestad
0f0844b45e Clear Jacobian row before assembling local contributions. 2011-10-19 15:14:11 +02:00
Bård Skaflestad
f14b54cee8 Simplify offset calculation. 2011-10-19 15:12:16 +02:00
Bård Skaflestad
21701c8eff Correct various indexing errors. 2011-10-19 15:11:21 +02:00
Bård Skaflestad
cabd8ace6a Re-install interface pressure calculation in residual formulation. 2011-10-19 13:27:24 +02:00
Bård Skaflestad
b0645e7c9a Remove further traces of well support.
Wells will be introduced at a later time.
2011-10-19 13:11:44 +02:00
Bård Skaflestad
3393aa0d9e Hook residual formulation up to build. 2011-10-19 13:01:06 +02:00
Bård Skaflestad
9af8481868 Merge cfs_tpfa backout. This restores backwards compatibility. 2011-10-18 23:22:52 +02:00
Bård Skaflestad
b70a7d6832 Backed out changeset d83710dd6839 2011-10-18 23:22:26 +02:00
Bård Skaflestad
717a5cfc9b Merge 'compr_quant' backout.
This is another attempt at restoring backwards compatibility.
2011-10-18 23:20:57 +02:00
Bård Skaflestad
e3b52c3a44 Backed out changeset 9faef9e37070 2011-10-18 23:20:34 +02:00
Bård Skaflestad
8260b59942 Grab copy of 'compr_quant' module. 2011-10-18 23:19:53 +02:00
Bård Skaflestad
556724befd Merge backout. 2011-10-18 23:18:29 +02:00
Bård Skaflestad
e54f1cf147 Backed out changeset 3b7e5d602aab
We need a copy of 'compr_quant' before restoring compat.
2011-10-18 23:18:22 +02:00
Bård Skaflestad
ec5d660d67 Merge backout. 2011-10-18 23:17:33 +02:00
Bård Skaflestad
986e8183c4 Backed out changeset 6b1a90716ea5 2011-10-18 23:17:02 +02:00
Bård Skaflestad
f469234ae5 Back out cset 5e3d75476d64. 2011-10-18 23:14:15 +02:00
Bård Skaflestad
8a63636c94 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
7bea27208e Grab copy of 'cfs_tpfa' module in preparation of restoring backwards compat. 2011-10-18 23:12:54 +02:00
Bård Skaflestad
4f657d9f87 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
cd02647d53 Delete trailing whitespace. 2011-10-18 20:41:44 +02:00
Bård Skaflestad
99fa7b7f0e Delete trailing whitespace. 2011-10-18 20:41:13 +02:00
Bård Skaflestad
e44b7317b8 Delete trailing whitespace. 2011-10-18 20:40:19 +02:00
Bård Skaflestad
ceaea9f987 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
9b0b258198 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
Halvor M. Nilsen
9610763e07 changes the code compile: runs: and give wrong results 2011-10-12 16:10:51 +02:00
Bård Skaflestad
bdbd90916b 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
ef0bac2fc0 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
e077cf6ca4 Suppress warnings about unused parameters. 2011-09-10 16:48:31 +02:00
Bård Skaflestad
2c89db5f87 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
7d3d468ed0 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
cdea6504b9 Merge from upstream. 2011-09-01 10:37:00 +02:00
Bård Skaflestad
035dca2b8c Merge from upstream. 2011-09-01 10:33:06 +02:00
Bård Skaflestad
03a1d1feca Silence warnings about "signed vs. unsigned" comparisons. 2011-09-01 10:28:27 +02:00