Commit Graph

4272 Commits

Author SHA1 Message Date
Bård Skaflestad
ce687039b2 Don't reference OwnerOverlap* unless MPI is available
The class OwnerOverlapCopyCommunication is not defined unless MPI is
avilable.  Therefore, we cannot reference the type unless we know
that MPI is available in the current translation unit.
2014-04-07 20:01:18 +02:00
Bård Skaflestad
e434000f4e Search for MPI support
The build system depends on knowing if MPI is available.  Explicitly
search for MPI to honour that requirement.  Don't rely on ISTL's
transitive searching for the same.
2014-04-07 20:01:18 +02:00
Bård Skaflestad
1fca44fb03 Explicitly group conditions
For some reason I was unable to produce correct criteria without
inserting explicit parentheses.  I don't know why that is, but
better safe than sorry.
2014-04-07 20:01:18 +02:00
Bård Skaflestad
a154887a2b Exclude "test_parallel_linearsolver" from non-MPI builds
The "sources_hook" runs after "OpmFiles" in "OpmLibMain".
Therefore, we must search the "tests_SOURCES" to exclude particular
tests from the build.

This fixes a build problem in the non-MPI case.
2014-04-07 20:01:18 +02:00
Markus Blatt
67fffa0951 Fix matrix size and symmetry for parallel runs. 2014-04-04 21:01:32 +02:00
Markus Blatt
3375e313e5 Merge remote-tracking branch 'upstream/master' into parallel-solver-support
Removed conflicts in:
	opm/core/linalg/LinearSolverIstl.cpp
2014-04-04 20:38:52 +02:00
Bård Skaflestad
5bb0345698 Merge pull request #535 from blattms/add-scalar-product
Explicitly construct the ScalarProduct, and SequentialInformation.
2014-04-04 18:41:56 +02:00
Bård Skaflestad
f07fac6b83 Merge pull request #552 from atgeirr/fix-well-index-call
Bugfix: skin factor, not diameter.
2014-03-31 15:01:23 +02:00
Atgeirr Flø Rasmussen
f6e8fbbbfa Bugfix: skin factor, not diameter. 2014-03-31 14:47:16 +02:00
Atgeirr Flø Rasmussen
2a5dc33bb8 Merge pull request #551 from atgeirr/re-add-bhp-eclipsewriter
Re-add the bhp reports to the summary output.
2014-03-28 14:11:03 +01:00
Atgeirr Flø Rasmussen
0303a9afab Merge pull request #546 from GitPaean/test_data_for_new_SimulatorTimer
A new SimulatorTimer and the test code and test data
2014-03-28 13:51:00 +01:00
Atgeirr Flø Rasmussen
3adcadff42 Remove debug output. 2014-03-28 13:04:32 +01:00
Atgeirr Flø Rasmussen
27a396b439 This re-adds the bhp reports to the summary output.
It was lost in the shuffling bewteen branches when working on the new parser.
2014-03-28 13:01:10 +01:00
Markus Blatt
3fceb968ea [bugfix] Use the size of the vector for the copying.
The last patch did not compile as there was no size member
in scope. Therefore this patch resorts to using the size of
the vector.
2014-03-27 11:53:13 +01:00
Markus Blatt
58a7589d7d Throw an error when using a sequential solver in parallel 2014-03-27 11:49:41 +01:00
Markus Blatt
aa5ac90fa6 Removed superfluous export of HAVE_DUNE_ISTL.
With the last patch HAVE_DUNE_ISTL will already be
defined in config.h
2014-03-27 11:47:35 +01:00
Markus Blatt
66a4889771 [cmake] Export HAVE_DUNE_ISTL for other modules.
This is e.g. needed in the parallel version of autodiff to
test whether ISTL is there.
2014-03-27 11:45:34 +01:00
Kai Bao
e5761412ba Added the test code and test data.
Added TESTTIMER.DATA and test_timer.cpp
2014-03-26 17:53:06 +01:00
Kai Bao
2a359b6457 Added the test and test data for the new SimulatorTimer
Added test_timer.cpp, TESTTIMER.DATA
2014-03-26 17:45:39 +01:00
Kai Bao
c1d4f928b4 A new SimulatorTimer Class 2014-03-26 15:53:54 +01:00
Markus Blatt
d1ccbf8446 [bugfix] Use the size of the vector for the copying.
The last patch did not compile as there was no size member
in scope. Therefore this patch resorts to using the size of
the vector.
2014-03-26 10:23:11 +01:00
Atgeirr Flø Rasmussen
62a0cf16c5 Merge pull request #542 from joakim-hove/remove-old-WellsManager
Removed deprecated WellsManager constructor
2014-03-25 23:28:22 +01:00
Joakim Hove
20468d1987 Removed WellsManager constructor which takes an ole Eclipsegridparser instance. 2014-03-25 18:57:58 +01:00
Atgeirr Flø Rasmussen
84ffe95fc1 Merge pull request #541 from GitPaean/fix_timer_bug_temp
Output correct information for temporary use.
2014-03-25 10:16:43 +01:00
Markus Blatt
c1a7a03987 Moved ISTL right and left hand side construction for ISTL to solveSystem
cherry-picked from add-scalarproduct and ported.
2014-03-25 09:58:07 +01:00
Markus Blatt
0cb3f861e7 Moved ISTL right and left hand side construction for ISTL to solveSystem 2014-03-25 09:37:41 +01:00
Kai Bao
dbd351dd4d Output correct information for temporary use.
Change the SimulatorTimer class a little bit to output the totaltime and
current time correctly.
2014-03-24 16:41:02 +01:00
Atgeirr Flø Rasmussen
417c08e890 Merge pull request #536 from andlaus/EclipseWriter_dont_restrict_pressure
EclipseWriter: don't convert the pressure field to active cells
2014-03-21 08:59:41 +01:00
Atgeirr Flø Rasmussen
86ed298439 Merge pull request #540 from joakim-hove/wellsmanager-well-properties
Changed the access method to well rates/properties
2014-03-21 08:58:07 +01:00
Atgeirr Flø Rasmussen
0c877459e4 Merge pull request #537 from andlaus/EclipseWriter_workaround_for_gcc_4_4
EclipseWriter: work around a GCC 4.4 smart_ptr bug
2014-03-21 08:55:49 +01:00
Atgeirr Flø Rasmussen
ef5ee72c8e Merge pull request #539 from blattms/fix-pr-532
Fixes issues in pull request #532
2014-03-21 08:53:58 +01:00
Joakim Hove
5eaed335b9 Changed the access to Parser/EclipseState/Schedule to use new well injection and production properties. To be aligned with opm-parser:e75970a28b96374409a55e3e6cea2198b6a0ea23 2014-03-21 00:35:15 +01:00
Markus Blatt
23332dcf8f Increase verbosity such that we see the actual solve 2014-03-20 22:24:33 +01:00
Markus Blatt
621afe3273 Fixes the laplacian.
As we do not represent dofs on the boundary, we need to make sure that all diagonal
values are 4.
2014-03-20 22:21:03 +01:00
Markus Blatt
34d246600e Fixed test_linearsolver for the official 2.2 release.
This release does neither support KAMG nor FastAMG. Therfore
this patch deactivates test these preconditioners.
2014-03-20 22:18:27 +01:00
Markus Blatt
1e205adcf1 Added support for the parallel solvers of dune-istl.
To support this the solveSystem methods of the LinearSolverInterface gets
an optional additional template parameter of type boost::any. It can hold any
copy constructable object. In our case it is used to pass the information about
the parallelization into the solvers of dune-istl without the compiler needing to know
their type. Inside of LinearSolverIstl::solveSystem we check whether the type stored inside of
boost::any is the new ParallelIstlInformation. If this is the case we extract the information
and use the parallel solvers if available, otherwise we solve serial/sequential.

The new ParallelIstlInformation is needed as the OwnerOverlapCopyCommunication is not copy
constructable. This is indeed a design flaw that should and will fixed upstream, but for the
time being we need ParallelIstlInformation to transfer the ParallelIndexSet and RemoteIndices
objects.
2014-03-20 21:59:29 +01:00
Andreas Lauser
2397eecf6f EclipseWriter: work around a GCC 4.4 smart_ptr bug
maybe it is not a bug but a slightly spec. The problem is that GCC 4.4
does not implicitly convert std::shared_ptr<$FOO> to
std::shared_ptr<const $FOO> which caused the recent Jenkins build
errors at Statoil. Note that this problem only occurs with the output
writer in conjunction with the old Eclipse parser, so
OPM/opm-autodiff#105 also makes the problem disappear. The present
patch addresses the root cause, though...
2014-03-20 16:58:57 +01:00
Andreas Lauser
2443903928 EclipseWriter: don't convert the pressure field to active cells
because that array already is restricted to the active cells...

found using ASAN.
2014-03-20 15:59:02 +01:00
Markus Blatt
5777547219 Explicitly construct the ScalarProduct, and SequentialInformation.
This patch refactors the calls to the dune-istl solvers.
The SeqScalarProduct, and SequentialInformation is now explicitly
constructed and later used to construct the smoothers
generically. Aditionally the linear operator (MatrixAdapter) is
constructed before calling the various solver dependent solve
routines.

While this does not change the behaviour of the code it is a
preparatory step to support parallel solvers. These parallel
solvers only differ in the type of the scalarproduct and
linear operator used from the sequential ones.
2014-03-20 12:09:24 +01:00
Atgeirr Flø Rasmussen
ae5d9746e0 Merge pull request #534 from blattms/fixes-issue-533
Use empty constructor to construct empty shared_ptr.
2014-03-20 11:00:00 +01:00
Markus Blatt
ae6ef8249b Use empty constructor to construct empty shared_ptr.
At least for g++-4.4. shared_ptr does not have a constructor
taking an integer and therefore compilation fails. Therefore we
resort statements to construct empty pointers, like
```parser_(0)```
to using the empty constructor:
```parser_()```

This patch closes #533
2014-03-20 10:51:18 +01:00
Markus Blatt
e2ca18261d Explicitly construct the ScalarProduct, and SequentialInformation.
This patch refactors the calls to the dune-istl solvers.
The SeqScalarProduct, and SequentialInformation is now explicitly
constructed and later used to construct the smoothers
generically. Aditionally the linear operator (MatrixAdapter) is
constructed before calling the various solver dependent solve
routines.

While this does not change the behaviour of the code it is a
preparatory step to support parallel solvers. These parallel
solvers only differ in the type of the scalarproduct and
linear operator used from the sequential ones.
2014-03-20 10:39:48 +01:00
Atgeirr Flø Rasmussen
550048b468 Merge pull request #523 from andlaus/EclipseWriter_add_new_parser
EclipseWriter: add new parser
2014-03-20 09:03:06 +01:00
Atgeirr Flø Rasmussen
b21d61c151 Merge pull request #532 from blattms/add-linsolver-test
Added a test for the linear solver interface.
2014-03-20 08:46:17 +01:00
Markus Blatt
7281a9567f Added a test for the linear solver interface.
This test sets up a simple laplace problem and solves it with the available
solvers. It assume that either dune-istl or UMFPack is present, which is
assume to be safe.
2014-03-19 21:48:07 +01:00
Atgeirr Flø Rasmussen
b461e35ae5 Merge pull request #531 from blattms/support-fast-amg-2.3-part2
Complete cf7f07b PR #530 to support FastAMG with dune-istl 2.3
2014-03-19 20:47:48 +01:00
Markus Blatt
b773c3de89 Include fastamg.hh for dune-istl 2.3
For the inofficial 2.2 release this was included automatically with amg.hh.
2014-03-19 19:51:17 +01:00
Markus Blatt
69a6a38856 Complete cf7f07b PR #530 to support FastAMG with dune-istl 2.3
This fixes further occurences of DUNE_HAS_FASTAMG that were
missed in pull request #530.

Previously we relied on the define DUNE_HAS_FAST_AMG to detect
whether these preconditioners are available. This define is only
available in the 2.2 release with cmake support. Therfore we now
addtionally test whether we are using dune-istl 2.3 or newer.
2014-03-19 17:40:02 +01:00
Andreas Lauser
75374c8745 EclipseWriter: add method variants taking the new instead of the old parser 2014-03-19 17:36:05 +01:00
Andreas Lauser
4aa4108367 EclipseWriter: Don't mingle multiple operations using arguments
This means that EclipseKeyword now never processes the data it
gets. Instead the data must be explicitly preprocessed by the calling
site using the new auxiliary functions "convertUnit()",
"extractFromStriped()", etc. This approach needs a few additional
temporary copies of the data, but given the facts that readability of
this code is much better using this approach, and that EclipseWriter
is neither a performance- nor a memory critical codepath, I don't care
too much about those temporary arrays...
2014-03-19 17:36:05 +01:00