]> https://gitweb.dealii.org/ - dealii.git/commit
Ammended native deal.II preconditioners and solvers for use in LinearOperators.
authorJean-Paul Pelteret <jppelteret@gmail.com>
Thu, 24 Sep 2015 14:30:05 +0000 (16:30 +0200)
committerMatthias Maier <tamiko@43-1.org>
Fri, 23 Oct 2015 17:57:35 +0000 (12:57 -0500)
commit67c8e925d4107969c786033b5db096ed92c46de3
tree843efac38224c81ed01095d1a39d621199e4aaa7
parent4f62336d699ebcad00ddd05a810af6c45476d2b8
Ammended native deal.II preconditioners and solvers for use in LinearOperators.

Improved: Native deal.II preconditioners can now be directly wrapped as
LinearOperators. This allows them to be used in the construction of more complex
linear solvers, such as where the approximate inverse to a matrix is to be
defined as a preconditioner to said matrix.

New: Added a LinearOperator test for deal.II SparseMatrix solvers and
preconditioners.

Added a test to check that the various combinations of deal.II solvers and
preconditioners (for the SparseMatrix type) work with the linear_operator and
inverse_operator functions. By 'work' one means that they both compile and also
produce a sensible answer.

Note that the preconditioners are expected to act as per usual (i.e. in the
preconditioner slot in inverse_operator) as well as a standard matrix type in
linear_operator. This is necessary as they will be used in this context later
when a schur_matrix_operator and approximate_schur_matrix_operator is developed.

Fixed: Reinitialised (zeroed) range vectors in the construction of an
inverse_operator before the solve calls. This corrects a bug wherein the
starting point of the solver was garbage leading to potential divergence in the
linear solver.
17 files changed:
doc/news/changes.h
include/deal.II/lac/iterative_inverse.h
include/deal.II/lac/linear_operator.h
include/deal.II/lac/pointer_matrix.h
include/deal.II/lac/precondition.h
include/deal.II/lac/precondition_selector.h
include/deal.II/lac/sparse_decomposition.h
include/deal.II/lac/sparse_direct.h
include/deal.II/lac/sparse_ilu.h
include/deal.II/lac/sparse_mic.h
include/deal.II/lac/sparse_mic.templates.h
include/deal.II/lac/sparse_vanka.h
include/deal.II/lac/sparse_vanka.templates.h
source/lac/sparse_direct.cc
source/lac/sparse_mic.cc
tests/lac/linear_operator_08.cc [new file with mode: 0644]
tests/lac/linear_operator_08.with_cxx11=on.output [new file with mode: 0644]

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.