Markus Blatt
8456a84ec9
Prevent unused variable warning when compiling test_blackoil_amg
2018-02-07 16:58:51 +01:00
Markus Blatt
e5de96e5f4
Make test_blackoil_amg compile.
...
There was typo in the last fix.
2018-02-07 16:58:09 +01:00
Markus Blatt
a82598abe7
include ErrorMacros.hpp to safely make use of OPM_THROW (and not abort)
2018-02-07 16:56:12 +01:00
Markus Blatt
f381336dff
Remove unused function parameters and default arguments for AMG construction.
...
It turned out that they are not needed and used.
2018-02-07 16:32:00 +01:00
Markus Blatt
bf3132e9cf
Fixes unused variable warning
2018-02-06 19:48:26 +01:00
Markus Blatt
cda0c22d0f
Avoid negation in if clause
2018-02-06 15:36:23 +01:00
Markus Blatt
034b1840ae
Fixed comment about smoother arguments needed for construction
2018-02-06 15:34:13 +01:00
Markus Blatt
4c590c17d6
Moved definition of CPRParameter to top of header as needed for constructor call.
2018-02-06 15:32:35 +01:00
Markus Blatt
fc9acf963e
Spelling fixes in BlackoilAmg.hpp
2018-02-06 15:31:50 +01:00
Markus Blatt
14cde5bafc
Made use of range based for for graph traversal.
2018-02-06 15:30:24 +01:00
Markus Blatt
a8dde44afc
Removed dead code und commented code.
2018-02-06 15:28:10 +01:00
Markus Blatt
6bcfce1733
Prevent problems to due oversight in parallel AMG.
...
Currently we run into issues with the parallel AMG if
redistribution happened on the coarsest level. That is
not detected by AMG and it will construct smoothers on
all processors present before the redistribution. Some of
them will get OwnerOverlapCommunication objects that have
an invalid MPI communicator in them (MPI_COMM_NULL) and an
MPI_ERROR will be raised as we communicate in the constructor.
With this patch we detect this situaton and set the pointer to
OwnerOverlapCommunication to null to prevent communication. A
sanity check that the matrix has zero rows has been added.
2018-02-06 13:19:59 +01:00
Markus Blatt
28e566ba02
[bugfix] Prevent indexing an array of zero size for matrices with zero rows.
2018-02-06 12:45:13 +01:00
Markus Blatt
ffda4f96d5
Adjust test to changed constructor.
2018-02-06 12:44:21 +01:00
Markus Blatt
cfa311e055
recover compilation support for dune versions <2.6
2018-02-05 22:09:37 +00:00
Markus Blatt
cf1cdbd375
Improved documentation
2018-02-05 22:37:01 +01:00
Markus Blatt
8fc20456c5
Allow user to request aggregating the pressure system before solving it.
...
For this we added a new parameter cpr_pressure_aggregation. If it is true
we will aggregate the pressure already for the first system.
2018-02-05 22:37:01 +01:00
Markus Blatt
e24d338ddc
Resort to support the usual parameters (as for flow_legacy)
...
These are solver_approach=cpr cpr_use_amg=(true|false), etc.
2018-02-05 22:37:01 +01:00
Markus Blatt
c367382a59
Prepare to use ILU for pressure system.
2018-02-05 22:37:01 +01:00
Markus Blatt
abacbe2cfc
Do not use expensive aggregation when forming pressure system unless requested.
...
That means that for traditional CPR no aggregation is used and we simply extract
the pressure component.
2018-02-05 22:37:01 +01:00
Markus Blatt
5d8da52679
Use decoupling strategy of Scheichl/Masson in the CPR preconditioner.
...
Often it is claimed by CPR-AMG evangelists that this will make the pressure
system more elliptic. That may be the case. But even more important it also
decouples the pressure from the saturations.
Without this approach the pressure correction influences the smoothing of the
full system too much and e.g. for Norne CPR is worse than simple block ILU0.
2018-02-05 22:37:01 +01:00
Markus Blatt
6d21214fa7
Switch to ParallelOverlappingILU0 for CPRPreconditioner.
...
This seems to have been forgotten previously. Now the code int CPRPreconditioner.hpp
uses ParallelOverlappingILU0 instead of SeqILU[0n]/BlockPreconditioner which
makes the code more slim.
2018-02-05 22:37:01 +01:00
Markus Blatt
e6e18a3aa9
Make Blackoil system amg / CPR (flow_ebos) DUNE 2.6 aware.
2018-02-05 22:37:01 +01:00
Markus Blatt
c089a59cba
Fix compiler lookup of get method.
2018-02-05 22:37:01 +01:00
Markus Blatt
f5d81513da
First version of a AMG for the Blackoil equations.
...
The approach is inspired by Geiger's system-amg but we use dune-istl
aggregation AMG for it. On the fine level all unknowns attached to a cell
form a matrix block and are treated fully coupled. To form the first
coarse level system we use only the pressure component to guide the aggregation
and neglect all other unknowns on the fine level. All other level are formed
in the usual way by scalar aggregation.
Currently,it has to be requested for flow_ebos manually by passing
"linear_solver_use_amg=true amg_blackoil_system=true" to it.
2018-02-05 22:37:01 +01:00
Arne Morten Kvarving
a2419e285f
Merge pull request #1396 from akva2/remove_err_brace
...
fixed: remove erroneous brace
2018-02-05 12:10:39 +01:00
Arne Morten Kvarving
05593c975d
fixed: remove erroneous brace
2018-02-05 11:38:15 +01:00
Arne Morten Kvarving
9617cf012e
Merge pull request #1395 from andlaus/flow_first
...
move the flow_ebos_*.cpp files to the beginning of the source list
2018-02-05 10:56:14 +01:00
Andreas Lauser
bb788a976b
add comment to CMakeLists_files.cmake why the flow_ebos*.cpp files are on top
2018-02-05 10:53:40 +01:00
Andreas Lauser
9693e0b33d
move the flow_ebos_*.cpp files to the beginning of the source list
...
these files take the longest to compile. moving them to the beginning
speeds things up forn parallel builds because the remaining compile
can be compiled while dealing with the flow_ebos files while the build
stalls if these files are at the bottom of the list because they are
required for the library.
2018-02-05 10:14:51 +01:00
Atgeirr Flø Rasmussen
516d0237d5
Merge pull request #1394 from akva2/relocate_files_in_common
...
Relocate files in common
2018-01-31 13:18:12 +01:00
Arne Morten Kvarving
2da361414e
changed: relocate the remaining files in opm/core/utility
...
move to opm/common/utility/numeric
2018-01-30 16:33:46 +01:00
Arne Morten Kvarving
141186ad1d
changed: opm/[core -> common]/utility/parameters
2018-01-30 16:33:45 +01:00
Arne Morten Kvarving
e9e5c15e99
changed: opm/[core/linalg -> common/utility/numeric]/blas_lapack.h
2018-01-30 12:47:10 +01:00
Arne Morten Kvarving
e9404486bb
changed: opm/common/[->utility]/ResetLocale.hpp
2018-01-30 12:34:04 +01:00
Arne Morten Kvarving
742d2d2158
changed: opm/common/[util->utility]/numeric/cmp.hpp
2018-01-30 12:13:30 +01:00
Atgeirr Flø Rasmussen
90be27116f
Merge pull request #1390 from akva2/super_build
...
Some changes to facilitate building using a super project
2018-01-29 16:28:33 +01:00
Atgeirr Flø Rasmussen
1e5e3f7ddf
Merge pull request #1392 from akva2/build_dune26
...
Fix build with dune 2.6
2018-01-26 12:24:17 +01:00
Arne Morten Kvarving
4945c9b2ed
changed: pass the mcmg element layout as a parameter for dune 2.6
...
the template parameter is deprecated
2018-01-22 17:25:14 +01:00
Arne Morten Kvarving
2aa0043550
changed: use Dune::createScalarProduct for dune 2.6
...
ScalarProductChooser is no more
2018-01-22 17:24:58 +01:00
Arne Morten Kvarving
4315665b64
changed: expose category as member for dune 2.6
...
the enum can only be used with a define, and that would
just be a temporary solution in any case
2018-01-22 17:23:22 +01:00
Arne Morten Kvarving
093d8bb134
rename tutorialx.cpp sim_tutorialx.cpp
2018-01-19 14:50:43 +01:00
Arne Morten Kvarving
0aca27ab52
changed: rename test_equil test_equil_legacy
2018-01-19 14:48:40 +01:00
Arne Morten Kvarving
1fb7a94e34
changed: use PROJECT_BINARY_DIR instead of CMAKE_BINARY_DIR
...
to aid the use of a super project for opm
2018-01-19 14:47:38 +01:00
Atgeirr Flø Rasmussen
3c5510c879
Merge pull request #1386 from akva2/import_opm_core
...
Import opm core
2018-01-17 21:13:39 +01:00
Arne Morten Kvarving
5b86d8b13b
add files imported from opm-core to build system
2018-01-17 18:27:19 +01:00
Arne Morten Kvarving
83d4dae117
changed: do not ifdef the entire implementation
...
better to handle this in build system
2018-01-17 18:16:26 +01:00
Arne Morten Kvarving
c30e3088b5
remove opm-core from upstream and prerequisite lists
...
debian/redhat packaging updated as well
2018-01-17 18:16:26 +01:00
Arne Morten Kvarving
20ccd53fb3
Merge pull request #1385 from akva2/fix_serial_build
...
fixed: do not add parallel regression test if MPI is not enabled
2018-01-17 17:39:23 +01:00
Arne Morten Kvarving
957f6c0974
fixed: do not add parallel regression test if MPI is not enabled
2018-01-17 16:26:30 +01:00