Commit Graph
100 Commits
Author SHA1 Message Date
Andreas Lauser 9d5ff6b98a Ewoms::start(): abort the run when encountering unknown parameters 2019-06-27 11:58:33 +02:00
Andreas Lauser b77b97e5e6 Newton: Do not fiddle around with the user specified tolerance anymore
As a consquence, the property which sets this tolerance is renamed
from NewtonRawTolerance to NewtonTolerance.
2019-03-02 13:43:08 +01:00
Andreas Lauser a62de5db66 move ebos to opm-simulators
ebos is well past the stage of a test for the numerical code but a
full-blown simulator of its own. Let's graduate.
2019-02-28 14:30:20 +01:00
Andreas Lauser dd4523a6d7 do no longer validate the results of any test
this resolves #469.

since the arguments brought forward in that issue equally apply to the
tests which produce VTK files, and the willingness to manually update
reference results for these is likely even smaller, the results
produced by the eWoms integration tests are simply not validated
anymore besides the fact that the produced files must be non-empty.

Note that this only applies to the default build system; the
alternative system still does -- and will continue to -- validate the
results.
2019-02-12 13:32:05 +01:00
Andreas Lauser e5dde0aa7e EclWriter: remove obsolete writeOutput() overload
this has been unused for any simulator for a while. the only code
which called it was the ECL output test, but this one could be easily
ported.
2019-02-06 12:21:08 +01:00
Andreas Lauser ebdf685dc6 SPE1 ebos test: also compare the UNRST files
this segfaulted due to a small pecularity of the compareECL
utility. thanks to [at]akva2 for pointing this out.

Also, this updates the reference solutions for this test in an attempt
to fix the jenkins complaint: The test seems to be quite sensitive to
the used compiler flags and Jenkins is not able to update the
reference solutions yet.
2019-01-22 10:14:45 +01:00
Andreas Lauser e7f1fbd77f ebos: add a regression test using SPE1CASE1
hopefully, this will prevent plain-ebos from breaking as seriously as
in the past.
2019-01-18 17:19:22 +01:00
Andreas Lauser b44b650475 fix some masochistic compiler warnings for the GCC 9 pre-release
the flags which I used are
```
-pedantic \
-Wall \
-Wextra \
-Wformat-nonliteral \
-Wcast-align
-Wpointer-arith \
-Wmissing-declarations \
-Wcast-qual \
-Wshadow
-Wwrite-strings \
-Wchar-subscripts \
-Wredundant-decls \
-fstrict-overflow \
-O3 \
-march=native \
-DNDEBUG=1
```

note that some heavy filtering is not the worst idea because DUNE is
far from not emiting any warnings with these flags.

Also, there were some pesky warnings in test_ecl_output which I don't
know how to fix:

```
tests/test_ecl_output.cc:218:73: warning: missing initializer for member ‘Opm::data::Connection::effective_Kh’ [-Wmissing-field-initializers]
```
2019-01-09 09:34:26 +01:00
Andreas Lauser 4e888fdfc8 make all header files includeable on their own right again
some property definitions and includes were missing.
2018-10-29 10:05:46 +01:00
Andreas Lauser f8a817e8f2 implement line breaks in the usage message
i.e. for `--help`. this is surprisingly complicated...
2018-08-16 15:55:51 +02:00
Andreas Lauser dc08a8b4dd use a custom parameter file parser
this allows the key names to be transformed, i.e.,

```
enable-vtk=true
```

is now also possible in parameter files whereas before only CamelCase
parameter names like

```
EnableVtk=true
```

were valid. besides this, any valid Windows INI file that does not use
parameter groups should be readable, i.e., semicolons are now also
treated as a comment indicator.
2018-08-10 18:13:04 +02:00
Andreas Lauser 04c3e42b87 adapt to the fluid system naming convention change in opm-material 2018-07-27 12:56:19 +02:00
Andreas Lauser aed7e15d2e fix extra compiler warnings
this is only relevant people who are masochistic enough to go beyond
`-Wall`. (note that at this warning level, there is plenty of noise from
Dune and other upstream dependencies.)
2018-07-02 09:17:56 +02:00
Andreas Lauser 6dde43dc0b tasklets: allow to dispatch raw functions 2018-06-21 14:56:10 +02:00
Andreas Lauser acc93ff6e7 do explicit put properties into the the Ewoms::Properties namespace anymore
instead, do it implicitly by using the BEGIN_PROPERTIES and
END_PROPERTIES macros.
2018-06-15 20:22:07 +02:00
Andreas Lauser 1be1f15b47 parameter system: add support for positional parameters
further, this cleans up the code of the parameter system and the
startup routines a bit and finally, it adds positional parameters
support to ebos as well as brief descriptions to ebos and the lens
problem.
2018-06-14 11:13:30 +02:00
Andreas Lauser 25e952fb49 tasklets test: guard against garbled output
Use a mutex to ensures that only a single prints at the same
time. this should prevent garbled terminal output and thus makes the
it much easier to read. on the flipside, some race conditions may go
unnoticed.
2018-04-23 13:24:59 +02:00
Andreas Lauser 5c9e20c00e tasklets: introduce the concept of "worker thread index"
if the current thread is not a worker thread, this returns -1.
2018-04-23 13:24:59 +02:00
Andreas Lauser 2cb0176754 add an example for tasklets
it is IMO not good as a unit test because it does not excercise the
mechanism at all, but it shows how the mechanism is supposed to be
used.
2018-04-19 14:35:24 +02:00
Andreas Lauser 7de09c08f2 disable asynchronous output for the ECL output test
this leads to crashes deeply inside libecl. My cursory hypotheses are
that this test makes the assumption that the output is written
synchronously (it tries to read back the results from disk
immediately) and/or that libecl is not threadsafe.
2018-03-21 10:31:15 +01:00
Andreas Lauser e2241beef5 clean up the determination of the directory for output
this should be done by the vanguard, not by the problem!
2018-03-12 16:51:30 +01:00
Andreas Lauser 81bc44ec6d fix the build on the latest dune master
Dune::set_singularity_limit() was removed and the ILU preconditioners
seem to have been refactored. The ILU refactoring included making the
order of the preconditioner a template parameter of the preconditioner
class, i.e., it can no longer be specified at runtime.

Note that the AMG code in the dune master currently produces quite a
few warnings because of the latter point, but as far as I can see,
there is nothing which can be done about this from outside of
dune-istl.
2018-03-12 14:31:36 +01:00
Andreas Lauser d8792f36a0 fix a few "unused variable" warnings that occur on more uncommon compilers
i.e. on ICC. the compiler is right in producing warnings here, though.
2018-03-03 13:27:48 +01:00
Andreas Lauser 7afb963fdd change gridManager -> vanguard in new file test_ecl_output.cpp 2018-02-08 17:07:32 +01:00
Andreas Lauser 2f4b835a16 rename the "grid manager" to "vanguard"
IMO the term "vanguard" expresses better what these classes are
supposed to do: level the ground for the cavalry. Normally this simply
means to create and distribute a grid object, but it can become quite
a bit more complicated, as exemplified by the vanguard classes of
ebos..
2018-02-08 16:26:58 +01:00
Andreas Lauser e5344a2add adapt to the move of code from opm-common to opm-material 2018-02-08 12:11:20 +01:00
Andreas Lauser 0406d6780f refactor the boundary condition handling slightly
instead of passing a "minimal" fluid state that defines the
thermodynamic conditions on the domain boundary and the models
calculating everything they need based on this, it is now assumed that
all quantities needed by the code that computes the boundary fluxes
are defined. This simplifies the boundary flux computation code, it
allows to get rid of the `paramCache` argument for these methods and
to potentially speed things up because quantities do not get
re-calculated unconditionally.

on the flipside, this requires slightly more effort to define the
conditions at the boundary on the problem level and it makes it less
obvious which quantities are actually used. That said, one now has the
freedom to shoot oneself into the foot more easily when specifying
boundary conditions and also tools like valgrind or ASAN will normally
complain about undefined quantities if this happens.
2018-01-22 12:21:35 +01:00
Andreas Lauser 4f92ec5865 consistently rename "heat conduction" to "thermal conduction" and use "solid energy" laws
according to wikipedia the term "heat" is the energy transferred due
to a temperature gradient, i.e., it only makes sense if such a
gradient is present and this is not necessary for the storage term.

this means that technically the term "heat conductivity" is
meaningful, but "thermal conductivity" is IMO more consistent.

this has partially already been done in opm-material and eWoms it was
pretty inconsistent, so it also requires a patch in opm-material.
2018-01-04 15:27:02 +01:00
Andreas Lauser f5cfd8f768 fix compiler warnings and errors on dune 2.6 2018-01-03 18:53:03 +01:00
Andreas Lauser 9955c6a6f5 add some reference solutions for the adaptive "finger" problem
for some reason, the results changed slightly, but they still look
good to me.
2018-01-03 18:53:03 +01:00
Andreas Lauser ce6499a39b make the fracture problem compile again
it broke because of the recent refactoring of the energy material laws
in opm-material. The reason why nobody noticed is that this test
requires dune-alugrid to be compiled.
2018-01-03 18:53:03 +01:00
Andreas Lauser 5a3f25d120 make the equil test work in the presence of dune-fem 2018-01-03 18:53:03 +01:00
Andreas Lauser adb2783a0c restore the hydrostatic equilibration test from opm-core
This involved quite a bit of kicking and screaming. The result
certainly is not pretty, but it works.
2018-01-03 12:28:12 +01:00
Andreas Lauser c2e9a7a518 move the hydrostatic equilibrium code to its proper location and make it compile
this just moves the hydrostatic equilibrium code from its historc
location at opm/core to ebos/equil and adds minimal changes to make it
compile. this allows to clean up that code without disturbing the
legacy simulators.
2018-01-02 14:28:06 +01:00
Andreas Lauser 5e4dd59105 replace #if HAVE_CONFIG_H by #ifdef HAVE_CONFIG_H
it seems like most build systems pass a -DHAVE_CONFIG_H flag to the
compiler which still causes `#if HAVE_CONFIG_H` to be false while it
clearly is supposed to be triggered.

That said, I do not really see a good reason why the inclusion of the
`config.h` file should be guarded in the first place: the file is
guaranteed to always available by proper build systems, and if it was
not included the build either breaks at the linking stage or -- at the
very least -- the runtime behavior of the resulting libraries will be
very awkward.
2018-01-02 14:28:06 +01:00
Andreas Lauser ec0ac4869c consolidate the unit system to opm-parser
since the unit code within opm-parser is now a drop-in replacement,
this simplifies things and make them less error-prone.

unfortunately, this requires quite a few PRs. (most are pretty
trivial, though.)
2018-01-02 14:28:06 +01:00
Andreas Lauser 5b40f3e643 set the Rv and Rs factors to the saturated values for cells which have no gas and no oil
the purpose of this is to get a more defined behaviour when doing the
gravity correction/upstream cell determination in the flux term.

I consider this to be just a kludge, so if anyone has a better idea of
what the composition for the non-existing gas and oil phases is,
please tell me. (note that generic compositional models do not exhibit
this issue because the composition of all fluids is always fully
defined because each component is assumed to dissolve in every phase.)
2018-01-02 14:28:06 +01:00
Andreas Lauser b04db90cfe use the error macros from opm-common 2018-01-02 14:28:06 +01:00
Andreas Lauser 973e89d4a4 InitStateEquil: fix valgrind complaint about uninitialized values
it seems that it was pure luck that this worked so far!
2018-01-02 14:28:06 +01:00
Andreas Lauser baee24ecde PVT properties: allow them to be temperature dependent
Note that this patch does not introduce any real temperature
dependence but only changes the APIs for the viscosity and for the
density related methods. Note that I also don't like the fact that
this requires so many changes to so many files, but with the current
design of the property classes I cannot see a way to avoid this...
2018-01-02 14:28:06 +01:00
Andreas Lauser 87adfef018 adapt the the table related API changes of opm-parser 2018-01-02 14:28:06 +01:00
Andreas Lauser 9731539f6a Glue in support for the grid property modifier keywords
this basically means using Opm::EclipseState instead of the raw deck
for these keywords.

with this, property modifiers like ADD, MULT, COPY and friends are
supported for at least the PERM* keywords. If additional keywords are
required these can be added relatively easily as well.

no ctest regressions have been observed with this patch on my machine.
2018-01-02 14:28:06 +01:00
Andreas Lauser dcd79e787e fix the equilibration test by using new values
thanks to @bska for the hints.
2018-01-02 14:28:06 +01:00
Andreas Lauser 0fc8fee4cc add missing PVTW keywords to the decks used by the equil test
the test still fails, but the errors seem to be due to differences in
the saturation functions...
2018-01-02 14:28:06 +01:00
Andreas Lauser 8c8ed13c16 incorperate the review comments/decisions for multi-region PVT
the largest change is that all classes below opm/core/props/pvt take
the PVT region index as an argument, the higher-level ones (i.e.,
BlackoilProps*) take cell indices.
2018-01-02 14:28:06 +01:00
Andreas Lauser beed4544de Implement multi-region PVT for all property classes
since they are not using a single PVT table anymore, their "Single"
prefix has been removed...
2018-01-02 14:28:06 +01:00
Andreas Lauser b5266db401 rename all "newParserDeck" objects to "deck"
The "new" parser is now "the" parser...
2018-01-02 14:28:06 +01:00
Andreas Lauser 55927d68cf remove EclipseGridParser compatibility methods from all classes 2018-01-02 14:28:06 +01:00
Andreas Lauser 0467bf8b8f adapt to the renames of the table classes in opm-parser
basically, "Opm::SimpleTable" becomes "Opm::SingleRecordTable".
2018-01-02 14:28:06 +01:00
Andreas Lauser 7cf70894b0 convert the examples and the tests to opm-parser 2018-01-02 14:28:06 +01:00
Andreas Lauser a619a1115b finger_immiscible_ecfv_adaptive: update reference solution
for some reason it changed slightly.
2017-12-13 00:54:25 +01:00
Andreas Lauser db2977b0bf adapt to the refactoring of the thermal laws in opm-material 2017-12-11 17:39:56 +01:00
Andreas Lauser c0f013e25e use BlackOilFluidState from opm-material
this has recently been moved there. Since redundancy is considered to
be bad, switch eWoms to it.

I've tested this with Norne: No measureable difference, as expected.
2017-12-04 13:02:51 +01:00
Andreas Lauser c7a60b31ea update the reference solution for the tutorial
this changed because the density for LNAPL was changed to a more
realistic value of 690 kg/m^3 (same as iso-octane) from the previous
890 kg/m^3.
2017-11-17 14:03:04 +01:00
Andreas Lauser b2d9bf1a82 update the reference solution for finger_immiscible_vcfv
for some reason the results have changed. (IMO, the new ones look more
correct in paraview.) The reason this was not discovered earlier is
that this test depends on the presence of dune-alugrid and the CI
infrastructure does not deal with this.
2017-11-17 14:03:04 +01:00
Andreas Lauser aca56a43e3 make all headers self-sufficient again
after the recent changes, some additional headers are required to be
included.
2017-10-03 12:48:21 +02:00
Andreas Lauser 0fccd5acb7 reference solutions: do not use symbolic links anymore
the reason is that cmake cannot file(COPY) them. this is probably due
to constraints of a crappy operating system that is made by a
microscopical and tender company which is based close to Seattle.
2017-10-03 12:39:46 +02:00
Andreas Lauser b93a61fd38 make the property system work with multiple compile units
so far, the linker bailed out due to duplicate definitions of
variables if multiple compile units used the same type tag. This is
problematic if the sources are split into separate compile units and
that use the same type tag; in particular, this applies for
traditional libraries.

Due to various C++ peculiarities, this patch complicates the internal
implementation of the property system quite a bit, but given that the
usage of it (as well as the compile time) stay unchanged, I do not
consider this to be a big problem. Note that the introspection code is
particularly problematic because it needs static initializers that do
not cause the linker to choke in the case of multiple compile units.

Finally, to prevent future regressions, this patch adds a unit test
for the lens problem which uses multiple compile units. (This test is
called lens_immiscible_ecfv_ad_mcu and basically identical to the
existing lens_immiscible_ecfv_ad test and I thus think that it is
pretty unimaginative -- improvement proposals are welcome.)
2017-09-03 15:27:35 +02:00
Andreas Lauser 2ff14fb13e remove the Stokes model
there seems to be only a *very* limited amount of interest, the code
of the model is quite complex and there are currently no suitable
discretizations for free-flow equations in eWoms (i.e., the model
tends to be very unstable and oscillates a lot). Combined, all of this
makes maintaining this model a pain in the back, so let's remove it
some interest in these kinds of problems surfaces and until
appropriate discretizations -- like staggered grid methods -- are
available.
2017-07-21 21:38:13 +02:00
Andreas Lauser a626ab869e make the vertex centered FV method work with automatic differentiation
This works by having a "focus degree of freedom" during
linearization. When evaluating the local residual, all derivatives of
the residual/fluxes are with regard to the primary variables of that
DOF.

The two main offenders were the Forchheimer velocity model and the
model for the Stokes equations. To ensure that they continue to work,
the "powerinjection" and the "stokestest2c" problems are now both
compiled and tested with both, automatic differentiation and finite
differences, and the results of these tests is compared against the
same reference solution.

The majority of the time required to develop this patch was actually
required for testing: All tests compile and pass with debugging and
aggressive optimization flags with at least GCC 5, GCC 7 and clang
3.8, as well as Dune 2.3 and 2.4. Also, the results of flow_ebos stay
identical for Norne whilst the performance difference is below the
measurement noise on my machine. (the version with this patch applied
was actually about 1% faster.)
2017-07-21 18:35:08 +02:00
Andreas Lauser 1107b39c77 remove support for dune < 2.4
this allows quite a substantial amount of code decluttering, mainly
because Dune 2.4 renamed mapper.map() to mapper.index().
2017-07-13 14:08:02 +02:00
Andreas Lauser 23642bd9f7 Merge pull request #206 from andlaus/compositional_improvements
Compositional improvements
2017-06-29 17:54:48 +02:00
Andreas Lauser 6bff521319 NCP, PVS models: refine the primary variable update proceedure slightly
now, the saturation delta is guaranteed not to be larger than 20% for
each iteration. this is inspired by flow's updateState() code.
2017-06-29 17:23:24 +02:00
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
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
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
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
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