// $Id$
// Version: $Name$
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
PreconditionMG(const MGDoFHandler<dim>& mg_dof,
Multigrid<VECTOR>& mg,
const TRANSFER& transfer);
+
+ /**
+ * Dummy function needed by other classes.
+ */
+ bool empty () const;
/**
* Preconditioning operator.
transfer(&transfer)
{}
+template<int dim, class VECTOR, class TRANSFER>
+bool
+PreconditionMG<dim, VECTOR, TRANSFER>::empty () const
+{
+ return false;
+}
template<int dim, class VECTOR, class TRANSFER>
void
// $Id$
// Version: $Name$
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
*/
void clear();
+ /**
+ * Checks whether the object is empty.
+ */
+ bool empty () const;
+
/**
* Use only the inverse of the
* first diagonal block to save
*/
PreconditionBlock<MATRIX, inverse_type>::clear;
+ /**
+ * Make function of base class public again.
+ */
+ PreconditionBlock<MATRIX, inverse_type>::empty;
+
/**
* Make function of base class public again.
*/
*/
PreconditionBlock<MATRIX, inverse_type>::clear;
+ /**
+ * Make function of base class public again.
+ */
+ PreconditionBlock<MATRIX, inverse_type>::empty;
+
/**
* Make function of base class public again.
*/
*/
PreconditionBlockSOR<MATRIX,inverse_type>::clear;
+ /**
+ * Make function of base class public again.
+ */
+ PreconditionBlock<MATRIX, inverse_type>::empty;
+
/**
* Make function of base class public again.
*/
void Tvmult (Vector<number2>&, const Vector<number2>&) const;
};
+//----------------------------------------------------------------------//
+
+template<class MATRIX, typename inverse_type>
+bool
+PreconditionBlock<MATRIX, inverse_type>::empty () const
+{
+ if (A == 0)
+ return true;
+ return A->empty();
+}
#endif