*/
void print (std::ostream &) const;
+ /**
+ * Write the graph of constraints
+ * in 'dot' format. 'dot' is a
+ * program that can take a list
+ * of nodes and produce a
+ * graphical representation of
+ * the graph of constrained
+ * degrees of freedom and the
+ * degrees of freedom they are
+ * constrained to.
+ *
+ * The output of this function
+ * can be used as input to the
+ * 'dot' program that can convert
+ * the graph into a graphical
+ * representation in postscript,
+ * png, xfig, and a number of
+ * other formats.
+ *
+ * This function exists mostly
+ * for debugging purposes.
+ */
+ void write_dot (std::ostream &) const;
+
/**
* Determine an estimate for the
* memory consumption (in bytes)
// $Id$
// Version: $Name$
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
+void
+ConstraintMatrix::write_dot (std::ostream &out) const
+{
+ out << "digraph constraints {"
+ << std::endl;
+ for (unsigned int i=0; i!=lines.size(); ++i)
+ {
+ out << " n" << i << " label=\"" << i << "\";"
+ << std::endl;
+ for (unsigned int j=0; j!=lines[i].entries.size(); ++j)
+ out << " n" << i << "->n" << lines[i].entries[j].first << ";"
+ << std::endl;
+ }
+ out << "}" << std::endl;
+}
+
+
+
unsigned int
ConstraintMatrix::memory_consumption () const
{
<h3>deal.II</h3>
<ol>
+ <li> <p>New: The
+ <code>ConstraintMatrix::write_dot</code> function can be used
+ to produce a graphical representation of the graph of
+ constraints stored in the constraint matrix. The output can be
+ sent through the "dot" program to produce a number of graphical
+ formats, such as postscript, png, or xfig.
+ <br>
+ (WB 2007/03/08)
+ </p>
+
<li> <p>Fixed: The
<code>GridGenerator::cylinder</code> function in 3d properly
set the boundary indicators of the end faces of the generated