- MGTools::apply_boundary_values.
- MGTools::extract_inner_interface_dofs.
- Class MGMatrix.
+ - Multigrid::vmult and friends.
<br>
This release also removes the deprecated class MGDoFHandler. The
functionality of this class had previously been incorporated into
*/
void vcycle ();
- /**
- * @deprecated This function is purely experimental and will probably never
- * be implemented in a way that it can be released.
- *
- * Perform a multigrid cycle with a vector which is already a level vector.
- * Use of this function assumes that there is NO local refinement and that
- * both vectors are on the finest level of this Multigrid object.
- */
- void vmult(VECTOR &dst, const VECTOR &src) const DEAL_II_DEPRECATED;
-
- /**
- * @deprecated This function is purely experimental and will probably never
- * be implemented in a way that it can be released.
- *
- * Perform a multigrid cycle with a vector which is already a level vector.
- * Use of this function assumes that there is NO local refinement and that
- * both vectors are on the finest level of this Multigrid object.
- */
- void vmult_add(VECTOR &dst, const VECTOR &src) const DEAL_II_DEPRECATED;
-
- /**
- * @deprecated Even worse than vmult(), this function is not even
- * implemented, but just declared such that certain objects relying on it
- * can be constructed.
- */
- void Tvmult(VECTOR &dst, const VECTOR &src) const DEAL_II_DEPRECATED;
-
- /**
- * @deprecated Even worse than vmult(), this function is not even
- * implemented, but just declared such that certain objects relying on it
- * can be constructed.
- */
- void Tvmult_add(VECTOR &dst, const VECTOR &src) const DEAL_II_DEPRECATED;
-
/**
* Set additional matrices to correct residual computation at refinement
* edges. Since we only smoothen in the interior of the refined part of the
}
-template <class VECTOR>
-void
-Multigrid<VECTOR>::vmult(VECTOR &dst, const VECTOR &src) const
-{
- Multigrid<VECTOR> &mg = const_cast<Multigrid<VECTOR>&>(*this);
- mg.defect[maxlevel] = src;
- for (unsigned int level=maxlevel; level>minlevel; --level)
- {
- mg.defect[level-1] = 0.;
- mg.transfer->restrict_and_add (level,
- mg.defect[level-1],
- mg.defect[level]);
- }
-
- mg.cycle();
- dst = mg.solution[maxlevel];
-}
-
-
-template <class VECTOR>
-void
-Multigrid<VECTOR>::vmult_add(VECTOR &dst, const VECTOR &src) const
-{
- Multigrid<VECTOR> &mg = const_cast<Multigrid<VECTOR>&>(*this);
- mg.defect[maxlevel] = src;
- mg.cycle();
- dst += mg.solution[maxlevel];
-}
-
-
-template <class VECTOR>
-void
-Multigrid<VECTOR>::Tvmult(VECTOR &, const VECTOR &) const
-{
- Assert(false, ExcNotImplemented());
-}
-
-
-template <class VECTOR>
-void
-Multigrid<VECTOR>::Tvmult_add(VECTOR &, const VECTOR &) const
-{
- Assert(false, ExcNotImplemented());
-}
-
DEAL_II_NAMESPACE_CLOSE
#endif