- Dec 15, 2016
-
-
Ansgar Burchardt authored
-
Christian Engwer authored
Feature/simd for multi rhs Update the solvers to solve for multiple rhs vectors simultaniously. This makes use of SIMD abstractions in dune-common (see dune-common!16) to use vectors of SIMD vectors as `FieldType` of the right-hand-side. By this we can make immediate use of SIMD units in modern processors. Using SSE for example we get a speedup of 2 basically for free. This extension is useful whenever the same operator has to be solved for many rhs vectors, e.g. in the case of MS-FEM. AMG Ist working as long as the coarse grid solver is an iterative solver. I therefore added an additional preprocessor macro to disable the direct coarse solver explicitly. What is missing currently is multi-rhs support for the direct solvers. I'm preparing a separate merge request for this feature, which will add multi-rhs direct-coarse-grid support for the AMG. See also: dune-common!81, dune-geometry!13. See merge request !17
-
- Dec 13, 2016
-
-
Christian Engwer authored
in the cond construction of givensrotation we have to take care the we don't mix complex and real values.
-
Christian Engwer authored
-
Christian Engwer authored
-
Christian Engwer authored
-
Christian Engwer authored
-
Christian Engwer authored
-
Christian Engwer authored
-
Christian Engwer authored
-
Christian Engwer authored
-
Christian Engwer authored
Currently RestartedGMRes and MINRes don't work with multiple rhs, as it is not straight forward to rewrite the Givens-rotation in a vectorized way.
-
- Dec 09, 2016
-
-
Christian Engwer authored
Feature/cleanup of eigenvalue solver docs improve structure of the doxygen documentation to make the eigenvalue solvers visible and hide implementation details See merge request !79
-
Christian Engwer authored
-
Christian Engwer authored
- create dedicated "eigenvalue solvers" group - move implementation details into the "Impl" namespace - minor cleanups of doxygen documentation
-
Christian Engwer authored
-
- Dec 06, 2016
-
-
Christoph Grüninger authored
[CMake] install superlufunctions.hh superlufunctions.hh which was introduced in !77 has to be installed as it is included by the installed headers superlu.hh and supermatrix.hh. See merge request !78
-
Felix Gruber authored
This header is included by the installed headers superlu.hh and supermatrix.hh.
-
- Dec 05, 2016
-
-
Christoph Grüninger authored
Support various numeric types for SuperLU at once. Previously, we only supported one numeric type (float, double, complex<float>, or complex<double>) that the user could select via a cryptic preprocessor define. This was done this way because when including SuperLU headers we would otherwise have multiply defined structs in SuperLU. At least in 4.3 GlobalLU_t is defined in slu_sdefs.h, slu_ddefs.h, slu_cdefs.h, and slu_zdefs.h With this commit we do not include the problematic SuperLU headers anymore. Instead why define the functions called by us with extern C within DUNE. In addition we now provide all the numeric types for which SuperLU drivers are found at the same time. Hopefully this will also fix problems with multiply defined BLAS routines experienced with arpack and SuperLU. See merge request !77
-
Previously, we only supported one numeric type (float, double, complex<float>, or complex<double>) that the user could select via a cryptic preprocessor define. This was done this way because when including SuperLU headers we would otherwise have multiply defined structs in SuperLU. At least in 4.3 GlobalLU_t is defined in slu_sdefs.h, slu_ddefs.h, slu_cdefs.h, and slu_zdefs.h With this commit we do not include the problematic SuperLU headers anymore. Instead why define the functions called by us with extern C within DUNE. In addition we now provide all the numeric types for which SuperLU drivers are found at the same time. Hopefully this will also fix problems with multiply defined BLAS routines experienced with arpack and SuperLU.
-
- Nov 25, 2016
-
-
Christian Engwer authored
reenable solvertest ... got 'lost' in the cmake transition See merge request !75
-
Christian Engwer authored
-
- Nov 22, 2016
-
-
Ansgar Burchardt authored
-
- Nov 17, 2016
-
-
Dominic Kempf authored
[bugfix] This fixes an issue when UMFPack is found and AMG with field type float is used. The selection of UMFPack as a direct solver does not only depend on UMFPack being found, but also whether the field type is double or complex<double>. Otherwise UMFPack cannot be used as a coarse solver in AMG. This PR fixes this issue. @markus.blatt: Please take a look at this. @smuething: Please take a look at this. See merge request !51
-
Ansgar Burchardt authored
Move various implementation classes into the 'Imp' namespace There are various classes in dune-istl that are effectively implementation classes internal to dune-istl. A few of them are base_array_unmanaged, base_array_window, compressed_base_array_unmanaged,block_vector_unmanaged, BlockVectorWindow, compressed_block_vector_unmanaged, CompressedBlockVectorWindow See #22 for a brief discussion. This patch moves the classes into the namespace 'Imp'. That way it is clear that they are internal. All code outside of dune-istl using those classes will break, but does such code really exist? See merge request !65
-
There are various classes in dune-istl that are effectively implementation classes internal to dune-istl. A few of them are base_array_unmanaged, base_array_window, compressed_base_array_unmanaged,block_vector_unmanaged, BlockVectorWindow, compressed_block_vector_unmanaged, CompressedBlockVectorWindow See #22 for a brief discussion. This patch moves the classes into the namespace 'Imp'. That way it is clear that they are internal. All code outside of dune-istl using those classes will break, but does such code really exist?
-
- Nov 15, 2016
-
-
Robert K authored
is selected. Since UMFPack does not support this, it cannot be used in this case.
-
- Nov 11, 2016
-
-
Markus Blatt authored
[cleanup] fix some typos See merge request !72
-
- Nov 10, 2016
-
-
Felix Gruber authored
-
Felix Gruber authored
-
Ansgar Burchardt authored
Mark various implementation classes as 'internal' By using the doxygen \internal command. See merge request !70
-
Oliver Sander authored
By using the doxygen \internal command.
-
- Nov 08, 2016
-
-
Markus Blatt authored
Remove forbidden downcast This removes several constructors and assignments from base class in the class hierarchy around `base_array`. These removed methods are all implemented using a downcast which may result in undefined behaviour. Since they are not used anywhere in the core modules we can maybe remove them. According to @markus.blatt these base classes are all meant to be internal. This may cause problems if user code explicitly uses the raw base classes and these methods. However, such user code would only be valid if the passed base class reference is actually an upcasted derived class which is very unlikely. See merge request !66
-
- Oct 25, 2016
-
-
Carsten Gräser authored
The implementation for this was hidden in the base classes before and relied on undefined behaviour by using a downcast. Now it is explicitly implemented for the derived classes which also makes it more visible to users.
-
Carsten Gräser authored
These constructors and assignments from base class are all using a downcast which may result in undefined behaviour. Since this is potentially dangerous and not used anywhere in the core modules, this patch removes those methods.
-
Carsten Gräser authored
These constructors and assignments are all implemented using a downcast to derived class and may lead to undefined behaviour. This commit removes the checks for these methods in preparation for their removal.
-
- Oct 24, 2016
-
-
Oliver Sander authored
Use `std::tuple` instead of `Dune::tuple` See merge request !68
-
- Oct 21, 2016
-
-
Ansgar Burchardt authored
-
- Oct 19, 2016
-
-
Carsten Gräser authored
Fix implicit buildmode documentation and adjust test accordingly This basically turns the issue #21 into a feature by correctly describing the constraints of the implicit build mode and the meaning of its parameters. This invalidates the test against the old interface description which is hence dropped by this MR. As a consequence the bcrsimplicitbuild-test passes again. See merge request !63
-
- Oct 18, 2016
-
-
Oliver Sander authored
Update test environments - No longer test with clang 3.5. - Add clang 3.8 from Debian 8 + backports - Add gcc 5.4 + clang 3.8 from Ubuntu 16.04 LTS. - Use `duneci-standard-test` See merge request !64
-