Commit Graph

701 Commits

Author SHA1 Message Date
Andreas Lauser
41916443ee Merge pull request #159 from andlaus/fix_data_file_location
fix the location of fracture.art.dgf data file
2017-03-14 16:36:09 +01:00
Andreas Lauser
040f704207 fix the location of fracture.art.dgf data file
this belongs to the `tests/data` directory, not into the toplevel
`data` directory. Also, the input ART file for this has been renamed
to `fracture-raw.art` to avoid race conditions.
2017-03-14 14:21:11 +01:00
Andreas Lauser
ed353e7c70 update reference solution
for reasons which are mysterious to me, this slipped through. anyway,
it only bit if dune-alugrid was installed.
2017-03-01 21:10:57 +01:00
Andreas Lauser
1041f25565 Merge pull request #155 from andlaus/fix_2p_gradients_with_vcfv
fix the two-point gradient calculator
2017-03-01 20:55:17 +01:00
Andreas Lauser
30952313e8 fix the two-point gradient calculator
for the vertex-centered finite volume discretization, the relevant
position for calculating the gradient is *not* the position of the
center of the *sub*-control volume, but the center of the whole
control volume.

Since this patch changes the gradients of all VCFV simulations that
use twopoint gradients, quite a few new reference solutions are
required by this PR. I've looked at all of them manually and made sure
that they look reasonable. (The PR also includes a new reference
solution for the test for the adaptive finger problem -- which uses
ECFV -- but that's because the grid refinement seems to be quite
sensitive to the solution proceedure for that problem, not because
there's any difference in the solutions that can be noticed visually.)

note that all simulations that use element centered finite volume
discretization because there sub-control volumes are identical to full
control volumes. In particular, ebos -- and by extension `flow_ebos`
-- is unaffected because it does not even use that code.
2017-03-01 15:02:58 +01:00
Atgeirr Flø Rasmussen
6e8b38952c Merge pull request #151 from andlaus/move_valgrind_crs
adapt to the move of the valgrind client requests into the Opm namespace
2017-02-10 10:22:19 +01:00
Andreas Lauser
8a10a4d901 adapt to the move of the valgrind client requests into the Opm namespace 2017-02-09 18:25:44 +01:00
Andreas Lauser
8d398772e7 Merge pull request #146 from andlaus/fix_istl_solverwrapper
Fix istl solverwrapper build
2017-01-21 21:26:32 +01:00
Andreas Lauser
a9f53f9d87 Groundwater problem: use the conjugated gradient solver from dune-istl
the groundwater problem should be symmetric because it uses an
incompressible fluid, is a single phase problem and uses the
immiscible model. (i.e., there should never be a difference between
the upstream and the downstream cells.)

the main purpose of this commit is to have a test that uses a linear
solver wrapper which was generated by the internal
EWOMS_WRAP_ISTL_SOLVER macro.
2017-01-21 21:17:00 +01:00
Andreas Lauser
99304f9689 change the order of OPM_UNUSED and variable name
it seems like some compilers (GCC 4.9.2?) are picky about this and
require

```c++
TypeName VariableName __attribute__ ((__unused__))
```
2017-01-17 13:28:56 +01:00
Andreas Lauser
bc01257087 Merge pull request #133 from andlaus/handbook_improve_hyperref
handbook: use more sensible options for the hyperref package
2017-01-17 12:29:08 +01:00
Andreas Lauser
bdb8c8eeff slightly improve the handbook build script
if some command fails, it now stops.
2017-01-16 15:32:16 +01:00
Andreas Lauser
b2a1608e0b handbook: use more sensible options for the hyperref package
this gets rid of the ugly red and green boxes around references. Note
that for some reason, hyperlinks do not seem to work anyway and that
using pdflatex directly does not work either :/
2017-01-16 15:30:01 +01:00
Andreas Lauser
37b88433f9 Merge pull request #132 from andlaus/emph_instead_of_textit
handbook: replace \textit by \emph
2017-01-16 13:18:54 +01:00
Andreas Lauser
43764cfc40 handbook: replace \textit by \emph
thanks to [at]pgdr for the suggestion.
2017-01-16 12:34:24 +01:00
Andreas Lauser
d0c7c337d5 Merge pull request #131 from andlaus/fix_handbook
make the handbook compile on modern LaTeX distributions
2017-01-14 15:42:52 +01:00
Andreas Lauser
5d6f6916d7 make the handbook compile on modern LaTeX distributions
TeXLive 2016 complains about \it and \bf.

Also, this patch adds a simple bash script to create the handbook from
its LaTeX sources. Note that this script does *not* attempt to detect
if all prerequisites (in terms of binaries and LaTeX packages) are
properly available.
2017-01-14 15:40:51 +01:00
Andreas Lauser
b1995f7dfb provide access to the prestine linear solvers of dune-istl
... and use the restarted GMRES solver in conjunction with a ILU-2
preconditioner for the water-air unit test.

I do not really recommend using these solvers because BiCGSTAB tends
to be 20% to 30% slower than our home-brewn implementation (this is
because the dune-istl solvers cannot use custom convergence criteria),
but dune-istl offers more choices than just BiCGStab and this
functionallity could be helpful when debugging issues related to
solving the linear systems of equations.

Note that regardless of how pedantic the interpretation of DUNE's
license is, there are no licensing issues with this code because we do
not distribute any files derived from DUNE anymore.
2017-01-02 15:45:41 +01:00
Andreas Lauser
d514667977 remove the modified version of the linear solvers from dune-istl
i.e., the solvers.hh file is removed. The main reason for this is that
it avoids having to distribute a file with a potentially incompatible
license (i.e., GPLv2 + template exception vs GPLv2+), but the
home-brewn bicgstab solver also seems to perform a tiny bit better.
2017-01-02 15:45:41 +01:00
Andreas Lauser
aa194cddbb reservoir_ncp_vcfv: change the epsilon base value for the finite difference method to 1e-11
this *might* fix the failed test on the jenkins server.
2016-12-16 21:24:36 +01:00
Atgeirr Flø Rasmussen
a2ef88989d Merge pull request #113 from andlaus/minor_reorg
Minor reorg
2016-12-14 21:46:45 +01:00
Andreas Lauser
e160bf7dd3 the new home of Valgrind.hpp is opm-common! 2016-12-14 12:38:12 +01:00
Andreas Lauser
64af85c1da adapt to the move of quad.hh to opm-material 2016-12-14 12:38:12 +01:00
Andreas Lauser
44339935e4 Merge pull request #106 from andlaus/linear_solver_scalar
make it possible to specify a separate floating-point type of the linear solver
2016-12-07 15:05:41 +01:00
Andreas Lauser
b58c1a5ad4 lens_immiscible_ecfv: use "float" values for the linear solver
it seems to work fine and the linear solver gets quite a bit faster.
2016-12-06 22:48:50 +01:00
Andreas Lauser
7d01ce1ed9 Merge pull request #99 from andlaus/fix_build
adapt forgotten #include statement for Unused.hpp
2016-11-30 14:36:05 +01:00
Andreas Lauser
0724855289 adapt forgotten #include statement for Unused.hpp 2016-11-30 14:35:14 +01:00
Andreas Lauser
01326ad3c7 adapt to the move of Unused.hpp from opm-material to opm-common 2016-11-22 14:41:07 +01:00
Arne Morten Kvarving
c66fb747aa Merge pull request #85 from andlaus/install_applications_headers
ebos: also install the headers of the applications subdirectory
2016-11-11 15:12:57 +01:00
Andreas Lauser
923605a427 move all applications into their top-level directory
thanks to [at]akva2 for the suggestion.
2016-11-11 15:04:04 +01:00
Andreas Lauser
fcc0a1f423 Merge pull request #84 from andlaus/fix_signedness_issue
fix a signedness issue when retrieving parameters
2016-11-10 20:20:53 +01:00
Andreas Lauser
6fcb16c0c9 fix a signedness issue when retrieving parameters
the issue only bites if the tests are compiled in debug mode, so it
has only been discovered now.
2016-11-10 20:19:46 +01:00
Andreas Lauser
313175cfd0 Merge pull request #83 from andlaus/fix_pedantic_warnings
fix most pedantic compiler warnings in the basic infrastructure
2016-11-09 15:56:02 +01:00
Andreas Lauser
ec4b6c82dd fix most pedantic compiler warnings in the basic infrastructure
i.e., using clang 3.8 to compile the test suite with the following
flags:

```
-Weverything
-Wno-documentation
-Wno-documentation-unknown-command
-Wno-c++98-compat
-Wno-c++98-compat-pedantic
-Wno-undef
-Wno-padded
-Wno-global-constructors
-Wno-exit-time-destructors
-Wno-weak-vtables
-Wno-float-equal
```

should not produce any warnings anymore. In my opinion the only flag
which would produce beneficial warnings is -Wdocumentation. This has
not been fixed in this patch because writing documentation is left for
another day (or, more likely, year).

note that this patch consists of a heavy dose of the OPM_UNUSED macro
and plenty of static_casts (to fix signedness issues). Fixing the
singedness issues were quite a nightmare and the fact that the Dune
API is quite inconsistent in that regard was not exactly helpful. :/

Finally this patch includes quite a few formatting changes (e.g., all
occurences of 'T &t' should be changed to `T& t`) and some fixes for
minor issues which I've found during the excercise.

I've made sure that all unit tests the test suite still pass
successfully and I've made sure that flow_ebos still works for Norne
and that it did not regress w.r.t. performance.

(Note that this patch does not fix compiler warnings triggered `ebos`
and `flow_ebos` but only those caused by the basic infrastructure or
the unit tests.)

v2: fix the warnings that occur if the dune-localfunctions module is
    not available. thanks to [at]atgeirr for testing.
v3: fix dune 2.3 build issue
2016-11-09 14:54:22 +01:00
Andreas Lauser
9b53930557 add a second reference solution for the test of the adaptive finger problem
for some reason, there are differences between my laptop with
optimizations and my workstation in debug mode. since the results look
_very_ similar in paraview, let's treat them both as equally valid.
2016-11-03 21:26:33 +01:00
Andreas Lauser
79a838e7c8 fix the grid adaptivity functionality
Note that this is rarely tested because it requires the availability
of dune-alugrid and dune-fem.
2016-11-02 17:33:20 +01:00
Andreas Lauser
00a907962b co2injection problem: increase tolerance for conservativeness check
this fixes a few test failures in debug mode with quadruple precision
math enabled.
2016-11-02 16:37:57 +01:00
Andreas Lauser
b31e0c3d2f fix build for the unit tests if dune-alugrid is available
it failed because the stencils now require to specify the DOF-mapper
externally...
2016-11-02 13:33:22 +01:00
Robert Kloefkorn
a6d8748105 [feature] Make mapper inside stencil a reference to avoid re-computation of offsets when ElementContext is created. 2016-10-30 15:33:20 +01:00
Andreas Lauser
aa8aca077d test driver: add hack to only compare the output of the actual help message
it seems like some libraries print some mutable garbage to stdout on
startup or shutdown which causes test failures.
2016-10-28 12:57:02 +02:00
Andreas Lauser
bbd545c358 reservoir problem: reduce the raw tolerance of the newton method to 10^-6
10^-4 lead to sporadic results if the final tolerance of the solution
really was 10^-4. (it currently is usually better because each time
step experiences an additional update after the Newton method deems it
to be converged.)
2016-10-14 18:26:55 +02:00
Andreas Lauser
db073ed7e3 lens problem: set the residual phase saturations again
this makes the results of the lens test problem match with those
obtained using dumux exactly. (if the time step sizes are forced to be
the same.)
2016-10-03 21:04:12 +02:00
Andreas Lauser
4019896b84 Merge pull request #70 from andlaus/optional_dune-localfunctions
make dune-localfunctions optional
2016-09-22 17:19:22 +02:00
Andreas Lauser
f0e5a25126 make the dune-localfunctions dependency optional
as a side effect, two-point gradients are now used by default for the
vertex-centered finite volume discretization. (because P1-FE gradients
require the FE shape functions and those are provided by
dune-localfunctions.)

as a consequence, this triggered an update of quite a few reference
solutions: the differences are measurable, but as far as I can see,
the results are compareable. also, this commit regresses the
performance of the test for the reservoir problem with the vertex
centered finite volume scheme a bit. While I would not bet a house on
the reason, I'm pretty sure that this is caused by the switch from P1
FE gradients to two-point ones.

Note that even though I'm the author of this patch, it shamelessly
rips off substantial parts of the @dr-robertk's patch:
https://github.com/OPM/ewoms/pull/69
2016-09-22 15:23:14 +02:00
Andreas Lauser
f90d1058a2 remove the navier-stokes test problem
this problem did not work properly anyway: it oscillated like hell
(very likely to the spatial discretization used being inappropriate)
and it did not even converge if more than a single iteration was
required.
2016-09-22 14:58:19 +02:00
Andreas Lauser
50e63422ba some minor cleanups
these are:

- remove the unused methods "baseEpsilon()" and "numericEpsilon()"
  from FvBaseAdLocalLinearizer. (they are only meaningful in the
  context of finite differences.)
- correct/update some comments
- replace most occurences of Toolbox::createConstant() with
  assignments to floating point values to unclutter the code a bit.
2016-09-06 18:22:13 +02:00
Andreas Lauser
c4b3864bca VTK output: start writing at sequence number 0
i.e., in most cases the initial solution will be written into file
$SIM_NAME-00000.vtu and each time step will be written to the file
with the same number as the one printed during the simulation. (note
that this statement does not apply if the visualization files are not
written for all time steps.)
2016-08-13 12:41:59 +02:00
Andreas Lauser
17670977f0 fix the reservoir problem tests with the blackoil model
this broke with 94006531. I actually fixed the reservoir problem
yesterday before pushing 94006531 but forgot to include the fix in my
local branch before pushing. Stupid me!
2016-07-12 19:12:22 +02:00
Andreas Lauser
344d3adf1a Merge pull request #58 from andlaus/localad_to_densead
Localad to densead
2016-06-06 14:03:23 +02:00
Andreas Lauser
82b8335b6e rename "local AD" to "dense AD" 2016-06-04 23:56:47 +02:00