Commit Graph

222 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
c20a67aa1b Merge remote-tracking branch 'bska/master' 2013-05-16 09:55:11 +02:00
Atgeirr Flø Rasmussen
1f1e1e8ed2 Reduce tolerance, add alternative code path.
The alternative code path attempts to deal with floating point cancellation
issues, which may not turn out to be a problem in the end (for real cases).
2013-05-16 09:53:17 +02:00
Bård Skaflestad
fa2e02a579 The 'pflux' is really the hydraulic head.
Rename variable accordingly.
2013-05-16 09:51:34 +02:00
Bård Skaflestad
ef354792cd Implement first cut at Darcy (total) flux calculation.
This is compile-tested only.
2013-05-16 09:48:56 +02:00
Bård Skaflestad
b46cef383f Build 'test_impestpfa_ad' along with the 'examples' 2013-05-16 09:48:01 +02:00
Bård Skaflestad
8bc5f66d8d Promote 'test_impestpfa_ad' to an 'example'
This was the original intention, but the file was misplaced during
the module reorganisation.
2013-05-16 09:33:58 +02:00
Bård Skaflestad
970f308f59 New sentence -> capital first letter. 2013-05-16 00:10:51 +02:00
Bård Skaflestad
b74d988a7b New sentence -> capital letter. 2013-05-16 00:10:32 +02:00
Bård Skaflestad
24204cf33e Merge remote-tracking branch 'atgeirr/master' 2013-05-15 16:10:54 +02:00
Bård Skaflestad
e0c85a2fdb Adapt to CMake-based build system.
Specifically,

  - #include <config.h> where appropriate (all .cpp files)
  - Adjust include statements to account for sub-directory locations
    of .hpp files.
2013-05-15 16:10:20 +02:00
Bård Skaflestad
d2f412e27a Fix inverted set of automated test cases. 2013-05-15 16:08:56 +02:00
Bård Skaflestad
2500f1ae58 Adopt imported build system to OPM-Autodiff specifics
Updated include statements &c to follow.
2013-05-15 15:49:48 +02:00
Atgeirr Flø Rasmussen
028991a2a3 Ensure viscosity derivative is initialized. 2013-05-15 13:25:33 +02:00
Bård Skaflestad
582a947d9b Complete import of CMake support from OPM-Core 2013-05-15 10:40:00 +02:00
Bård Skaflestad
57f73517c0 Move MRST example closer to actual example 2013-05-15 10:37:50 +02:00
Bård Skaflestad
9309024d1e First partitioning into source/examples/tests
Reorganisations are likely.
2013-05-15 10:35:39 +02:00
Bård Skaflestad
5ce44e05e6 This is OPM-Autodiff 0.1
We don't depend on any Dune modules.
2013-05-15 10:26:06 +02:00
Bård Skaflestad
116f39e8ab Import CMake support from OPM-Core 2013-05-15 10:24:52 +02:00
Bård Skaflestad
930b88334f Merge upstream changes. 2013-05-15 10:12:30 +02:00
Bård Skaflestad
9139d8a48b Merge remote-tracking branch 'atgeirr/master' 2013-05-15 10:10:01 +02:00
Bård Skaflestad
c0dead5e97 Add spdiag() prototype to silence GCC 4.6 warning.
GCC's flag -Wmissing-declarations requires that a valid prototype
exist for non-template (global) functions prior to the corresponding
function definition.
2013-05-15 09:34:59 +02:00
Atgeirr Flø Rasmussen
7dbb9b50e1 Work in progress on adding wells. 2013-05-15 09:23:15 +02:00
Atgeirr Flø Rasmussen
90a4984dea Fix multiple symbol issue. 2013-05-15 09:22:45 +02:00
Atgeirr Flø Rasmussen
959f7cbcac Added superset() functions.
The reverse of subset(), superset() takes a sparse representation of a vector
and makes a full representation of it.

Also added a little documentation.
2013-05-15 08:50:22 +02:00
Atgeirr Flø Rasmussen
38259f43bf Added size() member for ease of use.
This makes it easier to write for example templated code
acting on either AD vectors or non-ad vectors.
2013-05-15 08:48:36 +02:00
Atgeirr Flø Rasmussen
51a5bdd039 Updated for helper class name change (UpwindSelector). 2013-05-15 08:35:38 +02:00
Atgeirr Flø Rasmussen
e95bafb0a2 Merge remote-tracking branch 'bska/master' 2013-05-15 08:32:43 +02:00
Atgeirr Flø Rasmussen
3c2031cd2e Moved spdiag out of an anonymous namespace.
It is a function meant to be called by clients, not an implementation detail.
2013-05-15 07:42:00 +02:00
Bård Skaflestad
0225e6c9ee Ignore autosave files from Vim. 2013-05-14 17:45:20 +02:00
Bård Skaflestad
b85c0dce88 Add test cases for density and water viscosity.
Currently, ViscosityAD fails due to missing pressure derivatives in
the viscosity primitives.
2013-05-14 17:29:49 +02:00
Bård Skaflestad
cebb6fd5fa Add required fluid densities 2013-05-14 15:46:00 +02:00
Bård Skaflestad
eb1836c977 Disable 'param' output for all test cases. 2013-05-14 15:45:31 +02:00
Bård Skaflestad
6583aca34c Default to using tables as-is. 2013-05-14 15:41:45 +02:00
Bård Skaflestad
ac5350a598 All "parameter" values must be strings. 2013-05-14 15:41:34 +02:00
Bård Skaflestad
667cae6d84 Expose 'param' and 'deck' in TestFixture. 2013-05-14 15:31:41 +02:00
Bård Skaflestad
a1ca968991 Merge remote-tracking branch 'atgeirr/master' 2013-05-14 15:19:13 +02:00
Atgeirr Flø Rasmussen
e8baa4a967 Merge remote-tracking branch 'bska/master' 2013-05-14 15:12:18 +02:00
Atgeirr Flø Rasmussen
995e8d7a91 Initial untested implementation of relperm() methods. 2013-05-14 15:11:46 +02:00
Bård Skaflestad
99c3ec2824 Start a test suite for class BlackoilPropsAd.
Relies on external data ("fluid.data") to describe the fluid model.
2013-05-14 14:59:31 +02:00
Bård Skaflestad
1069cfae6d Merge remote-tracking branch 'atgeirr/master' 2013-05-14 13:41:11 +02:00
Bård Skaflestad
a13d78bb06 Start fleshing out overall structure of Newton loop
Specifically,
  - Extract method solveJacobianSystem() for solving a single,
    system of linear equations (i.e., the Newton step).
  - Extract method residualNorm() for computing the residual norm.
    Used in loop control.
  - Stub out a method for computing fluxes.

Compile and run-tested on a linear, gravity-driven flow problem.
2013-05-14 13:40:56 +02:00
Atgeirr Flø Rasmussen
604f137d83 Merge remote-tracking branch 'bska/master' 2013-05-14 13:35:33 +02:00
Atgeirr Flø Rasmussen
53cfceea04 Implemented most of the fluid interface.
Missing is: rsMax() [postponed] and relperm() [coming soon].
2013-05-14 13:33:14 +02:00
Bård Skaflestad
55165bd68d Enforce row-major ordering of the pressure Jacobian
Otherwise, we will use the transposed Jacobian as a coefficient
matrix in the 'linsolver_'.  This is wrong when solving compressible
problems for which the Jacobian matrix is not symmetric.
2013-05-14 11:53:09 +02:00
Bård Skaflestad
3f0f0363c3 Add first, working gravity solution
When run as

    ./test_impestfpa_ad permeability=1.01325e15 ref_pressure=1.0e-5 \
    mu1=1000 mu2=1000 rho1=1 rho2=1

this example reproduces the expected solution (a one-Pascal pressure
increase per cell).

Note that this is an incompressible case, so 'test_impestpfa_ad' must
be compiled with the pre-processor symbol

    HACK_INCOMPRESSIBLE_GRAVITY

defined to a true value (e.g., -DHACK_INCOMPRESSIBLE_GRAVITY=1)
2013-05-14 11:40:07 +02:00
Bård Skaflestad
35cb155537 Merge remote-tracking branch 'atgeirr/master' 2013-05-13 16:37:27 +02:00
Bård Skaflestad
e31486e288 Add tentative implementation of gravity flux. 2013-05-13 16:31:26 +02:00
Bård Skaflestad
a141e79ead Construct (and store) gravity operator on grid.
The gravity flux of phase 'i' across an (internal) interface is then
given by

    gflux = mob_i * (G * rho_i)

assuming 'rho_i' contains the phase density (at reservoir conditions)
of phase 'i' and 'mob_i' is the phase mobility of phase 'i' at the
interface.
2013-05-13 16:11:48 +02:00
Atgeirr Flø Rasmussen
68aee4d044 Added interface for properties for use with AD code. 2013-05-13 14:03:03 +02:00
Bård Skaflestad
4b737497d5 Implement static gravity potential in DerivedGeology.
This is a stepping stone towards implementing gravity support in
ImpesTPFAAD.
2013-05-13 13:30:00 +02:00