From 9184389ada46a2bfe88ad6aafd79f133a7c97efd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carsten=20Gr=C3=A4ser?= <graeser@dune-project.org> Date: Sat, 7 Oct 2017 01:55:16 +0200 Subject: [PATCH] Allow to set transfer operators from vector of objects Before you could only set this from a vector of (smart) pointers --- dune/solvers/iterationsteps/multigridstep.hh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dune/solvers/iterationsteps/multigridstep.hh b/dune/solvers/iterationsteps/multigridstep.hh index dc7f667d..a81d9de8 100644 --- a/dune/solvers/iterationsteps/multigridstep.hh +++ b/dune/solvers/iterationsteps/multigridstep.hh @@ -117,6 +117,20 @@ namespace Dune { mgTransfer_[j] = transfer[j].get(); } + /** + * \brief Set transfer operator hierarchy from vector. + * + * Be careful: The Multigrid step will not copy the transfer operators + * or share ownership + */ + template <class DerivedTransfer> + void setTransferOperators(const std::vector<DerivedTransfer>& transfer) + { + mgTransfer_.resize(transfer.size()); + for(size_t j=0; j<transfer.size(); ++j) + mgTransfer_[j] = &transfer[j]; + } + virtual void iterate(); virtual void nestedIteration(); -- GitLab