From 85042efa4ac22a1b2f19f59cddb5ea4f41fd0a1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carsten=20Gr=C3=A4ser?= <graeser@mi.fu-berlin.de> Date: Mon, 16 Dec 2013 16:43:29 +0000 Subject: [PATCH] Allow to set transfer operators from vector of shared_ptr's. Currently the MultigridStep will _not_ share ownership afterwards. [[Imported from SVN: r12458]] --- 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 a8b91086..170a7bb0 100644 --- a/dune/solvers/iterationsteps/multigridstep.hh +++ b/dune/solvers/iterationsteps/multigridstep.hh @@ -155,6 +155,20 @@ mgTransfer_[j] = transfer[j]; } + /** + * \brief Set transfer operator hierarchy from vector of shared_ptr's. + * + * Be care full: The Multigrid step does currently not share ownership + * afterwards. This may change in the future. + */ + template <class DerivedTransfer> + void setTransferOperators(const std::vector<typename Dune::shared_ptr<DerivedTransfer> >& transfer) + { + mgTransfer_.resize(transfer.size()); + for(size_t j=0; j<transfer.size(); ++j) + mgTransfer_[j] = transfer[j].get(); + } + virtual void iterate(); virtual void nestedIteration(); -- GitLab