void set_edge_matrices (const MGMatrixBase<VECTOR>& edge_down,
const MGMatrixBase<VECTOR>& edge_up);
+ /**
+ * Return the finest level for
+ * multigrid.
+ */
+ unsigned int get_maxlevel() const;
+
+ /**
+ * Return the coarsest level for
+ * multigrid.
+ */
+ unsigned int get_minlevel() const;
+
/**
* Set the highest level for
* which the multilevel method is
* the multilevel method is
* performed. By default, this is
* zero. Accepted are
- * non-negative values smaller
+ * non-negative values not larger than
* than the current #maxlevel.
+ *
+ * If <tt>relative</tt> ist
+ * <tt>true</tt>, then this
+ * function determins the number
+ * of levels used, that is, it
+ * sets #minlevel to
+ * #maxlevel-<tt>level</tt>.
*/
- void set_minlevel(unsigned int);
+ void set_minlevel(unsigned int level,
+ bool relative = false);
/**
* Chance #cycle_type used in cycle().
{}
+
+template <class VECTOR>
+inline
+unsigned int
+Multigrid<VECTOR>::get_maxlevel () const
+{
+ return maxlevel;
+}
+
+
+
+template <class VECTOR>
+inline
+unsigned int
+Multigrid<VECTOR>::get_minlevel () const
+{
+ return minlevel;
+}
+
+
/* --------------------------- inline functions --------------------- */