Commit Graph

484 Commits

Author SHA1 Message Date
Andreas Lauser
99779a52e8 problems: fix some rename-fallout for the postTimeStep() to endTimeStep() drive 2014-07-17 16:54:05 +02:00
Andreas Lauser
899f25a40a add/rename reference solutions for the parallel lens problem tests 2014-07-12 11:24:30 +02:00
Andreas Lauser
ee8e522db8 lens problem: add an ECFV variant 2014-07-11 20:27:44 +02:00
Andreas Lauser
e0a9f58bfe fix the parallel AMG linear solver
... and actually use it for the lens problems. This seems to have been
disabled for debugging and later it was probably forgotten to turn it
on again. This led to some minor bit-rot in that code...
2014-07-11 20:26:15 +02:00
Andreas Lauser
c309145085 newton method: make the tolerance easily settable at run time
The reason for this is to be able to modify the tolerance according to
grid size: The NewtonTolerance parameter has been renamed to
NewtonRawTolerance and for the porous media models is divided by the
square root of the volume of the smallst finite volume in the grid to
get the final tolerance for the Newton method. This is necessary
because very large grids need to achive a higher volumetric accuracy
in the residual than very small ones...
2014-07-11 15:47:06 +02:00
Andreas Lauser
f6fc258b70 rework the model and problem initialization procedure
basically the init() method was split into a finishInit() method which
fills the data structures allocated in the constructor with meaningful
data and into applyInitialSolution() which does just that (and no
more!)
2014-07-11 20:01:54 +02:00
Andreas Lauser
be54eee3c2 ECL problem: fix the episode handling code
now the report steps specified in the deck are adhered to...
2014-07-09 12:03:50 +02:00
Andreas Lauser
1d9d03e0fd ECL problem: fix up calculation of the initial condition 2014-07-08 10:16:29 +02:00
Andreas Lauser
566c813820 ECL problem: Use Cartesian element indices for more fields from the deck
probably there are still a few missing...
2014-07-08 10:16:17 +02:00
Andreas Lauser
87316b2cdc reservoir test problem: change the reference solution
this became necessary after the recent correction of how the Rs value
is considered...
2014-07-08 10:13:55 +02:00
Andreas Lauser
9704b89036 ECL problem: use logically cartesian cell indices to retrieve data from the deck
Before, it only worked if all cells were active. Also, take the NTG
and MULTPV keywords into account and prepare for permeability
multipliers.
2014-07-03 15:13:10 +02:00
Andreas Lauser
8e0e9e9d31 rename "(Volume|Flux)Variables" to "(In|Ex)tensiveQuantities"
"intensive" means that the value of these quantities at a given
spatial location does not depend on any value of the neighboring
intensive quantities. In contrast, "extensive" quantities depend in
the intensive quantities of the environment of the spatial location.

this change is necessary is because the previous nomenclature was very
specific to finite volume discretizations, but the models themselves
were already rather generic. (i.e., "volume variables" are the
intensive quantities of finite volume methods and "flux variables"
are the extensive ones.)
2014-06-24 18:24:09 +02:00
Andreas Lauser
536370fc96 ECL problem: Use Opm::EclipseState instead of the raw deck where possible
this means that property modifiers are now automatically supported...
2014-06-04 18:05:12 +02:00
Andreas Lauser
bec1b8ba96 grid managers: get rid of gridPointer(), make them robust to exceptions during construction 2014-05-30 16:52:58 +02:00
Andreas Lauser
44064ba84f blackoil model test: update reference solution
For some reason, it changed because of the transition to the primary
variable switching approach. Because I trust the new result more than
the old, let's make this the new reference solution.
2014-05-30 13:53:36 +02:00
Andreas Lauser
d00027b55a ECL problem: fix the episode handling
now the episodes seem to match the report steps...
2014-05-30 13:53:36 +02:00
Andreas Lauser
18ee64fe2f clean up the richards model and follow the recent renames of opm-material 2014-05-08 17:18:48 +02:00
Andreas Lauser
69e6fb60a2 rename the tests/grids folder to tests/data
... since the "grids" in that folder are slowly accumulating
information. (e.g. the ART grid for the fracture mapper and ECLIPSE
decks in the future.)
2014-05-08 15:31:32 +02:00
Andreas Lauser
7d7aa7385e add parameter to also write the "mini steps" instead of just the "report steps" 2014-05-02 16:08:22 +02:00
Andreas Lauser
6f09c94d60 test driver: print the full command used for each test
this simplifies analyzing failed tests in the debugger...
2014-05-02 16:06:46 +02:00
Andreas Lauser
f8bcaea67d ECL problem: use the default material law for Eclipse and read the data from the deck
TODO: material laws other than the default one...
2014-04-28 19:12:53 +02:00
Andreas Lauser
f3e2454b4e test driver script: fix off-by-one error when calculating the number of timesteps
(the initial solution also counts but was not counted.)
2014-04-27 21:41:03 +02:00
Andreas Lauser
81ae2566d7 finger grid manager: call the finalizeInit_() method of the base class
this grid manager was forgotten to be adapted and fixes a crash...
2014-04-27 21:38:09 +02:00
Andreas Lauser
42316a824e ECL problem: set the start time to the one specified in the deck 2014-04-27 19:12:32 +02:00
Andreas Lauser
4677e0f98b ECL problem: return the stem of the name of the deck file in the name() method
this causes output files to have the expected names, e.g. "SPE9" or
"NORNE" instead of "ECL"...
2014-04-27 19:12:32 +02:00
Andreas Lauser
c9dae3c663 make the name() method of problems non-static again
this allows to easily specify the problem name at runtime.
2014-04-27 19:12:32 +02:00
Andreas Lauser
20e03577a9 ECL simulator: use the report steps from the deck 2014-04-27 19:12:32 +02:00
Andreas Lauser
87f30dad6f refactoring: rename GridCreator to GridManager
because "manager" sounds less religious than "creator" and the
GridCreators did all kinds of other stuff besides creating the grid.

this patch also gets rid of the static function inside these classes,
which should make them easier to understand...
2014-04-27 19:12:32 +02:00
Andreas Lauser
4c7a2d2ca0 add a simulator which uses Eclipse data files and the blackoil model 2014-04-27 19:12:32 +02:00
Andreas Lauser
a76b64bc56 refactoring: extend the TimeManager to become the Simulator
this also comes with moving responsibilities around and some smaller
cleanups for the grid creation. (although grid creation could be
possibly done by the simulator now, the GridCreator concept has not
been abandoned, yet...)
2014-04-27 19:12:32 +02:00
Andreas Lauser
8cdde5de31 black oil: adapt to some renames in opm-material 2014-04-25 17:14:55 +02:00
Andreas Lauser
9e6a81e8f0 fix the headercheck 2014-04-08 17:23:39 +02:00
Andreas Lauser
7b41447b04 adapt to the recent renames of the phase indices in opm-material 2014-04-03 17:30:43 +02:00
Andreas Lauser
acde984a5a diffusion module: fix some small compilation problems
no guarantees that it works correctly, though...
2014-03-31 15:05:28 +02:00
Andreas Lauser
a7d6bf72c9 rename "partial reassembly" to "partial relinearization" 2014-03-30 13:38:36 +02:00
Andreas Lauser
2910a7542e adapt to the recent three-phase material law cleanups in opm-material 2014-03-27 18:58:58 +01:00
Andreas Lauser
9b5a5d7d6c flash model: enable volume variable caching and thermodynamic hints in the generic code
These used to be needed to be enabled by the problem, but doing it in
the generic code is more fool proof and thus better.

On my laptop, volume variable caching caused the linearization time
for first time step of the isothermal vertex-centered CO2 injection
problem using the flash model go from 33.7 to 15.7 seconds, and
enabling thermodynamic hints in addition yielded a linearization time
of "only" 9.5 seconds. (that is for a debug build compiled with clang
3.3.)
2014-03-25 22:44:40 +01:00
Andreas Lauser
6e3f6834ef introduce a mechanism to cache the volume variables
this is implemented by extending the existing functionality for hints
and leads to a significant reduction of the volume variables updates
required. unfortunately, the performance with cached volume variables
is basically identical to the non-cached case, so they are disabled by
default...

anyway, this makes the thermodynamic hints code more robust and
cleaner, so it does not hurt to add it...
2014-03-25 19:46:13 +01:00
Andreas Lauser
6b3b2ad281 do the rename job properly, remove the smooth upwinding stuff and central differences for the test of the Richards model 2014-03-07 17:15:39 +01:00
Andreas Lauser
61b177aef4 fix remaining valgrind complaints
now valgrind should work cleanly for all tests. *yay*
2014-03-07 15:24:26 +01:00
Andreas Lauser
55bb38118c problems: make the name() methods static
this allows to retrieve the name of the problem before it is
instantiated. this is required to be able to print the "Initializing
problem" message at the correct point (i.e., before instantiating the
problem).
2014-03-07 12:38:19 +01:00
Andreas Lauser
a9ad8f1cba add more flushs for output
this should make output less confusing if the stream caches some data...
2014-03-06 19:32:04 +01:00
Andreas Lauser
3479b659aa make sure not to run the restart test at the same time as the non-restarted test
normally, this should fine as it was before this patch because the
non-restarted tests produces more timesteps than the restarted one and
only the last file gets verified, but it used to be quite a hack and
one never knows, so it's wise to explicitly specify this as a
dependency.

Also, this change makes sure that ctest is aware of the number of
cores required by a test, which should lead to less contention...
2014-03-06 17:10:57 +01:00
Andreas Lauser
2f8118e5a6 validate the results produced by the parallel tests
this implied a few changes to the "runtest.sh" script and requires
reference solutions...
2014-03-06 14:37:32 +01:00
Andreas Lauser
61de18739e remove the remnants of line search
and some other minor changes. (if you need line search the issue is
probably caused a different problem and line search would be just a
work-around anyway.)
2014-03-05 14:22:36 +01:00
Andreas Lauser
8b39dc2880 clean up the DGF grid files a bit 2014-03-05 13:29:21 +01:00
Andreas Lauser
b10f332c47 fixup! Always use the reduction of the maximum of the weighted residual as convergence criterion 2014-03-04 18:23:46 +01:00
Andreas Lauser
eac638d21a parallel iterative solvers: doc update, add missing solvers and precoditioners 2014-03-04 18:06:56 +01:00
Andreas Lauser
59a82a0a40 Always use the reduction of the maximum of the weighted residual as convergence criterion
This should make things a much more robust, partially because now the
linear and the non-linear solvers use the same convergence criterion.

Also, this patch includes some collateral indentation improvements.
2014-03-04 18:06:56 +01:00
Andreas Lauser
86bc13912d fix quite a few warnings that occur on clang when using -Weverything
most warnings were in DUNE and ALUGrid, but these have been
ignored. Also fixing some of these warnings (in particular the
"parameter foo is unused" ones) would make the code harder to read and
understand, so they have been ignored, too...
2014-02-24 18:17:09 +01:00