From: schrage
void DoFHandler::distribute_dofs(const FiniteElement<dim> &)
The argument to distribute_dofs
is a finite element that describes
how many degrees of freedom are located on vertices, lines etc.
+(FiniteElement
objects have much more functionality than only storing
+these numbers. This functionality is discussed partly in the chapter on
+matrix and vector
+generation
+and partly in URL_NEEDS_TO_BE_SET.)
distribute_dofs
works its way through the triangulation cell by
cell, starting at the coarsest level, and numbers every degree of freedom that is not yet numbered.
For non-multigrid algorithms it considers only active cells, i.e. cells
diff --git a/deal.II/doc/tutorial/chapter-1.elements/grid_creation.html b/deal.II/doc/tutorial/chapter-1.elements/grid_creation.html
index aba6101269..5565514063 100644
--- a/deal.II/doc/tutorial/chapter-1.elements/grid_creation.html
+++ b/deal.II/doc/tutorial/chapter-1.elements/grid_creation.html
@@ -96,7 +96,9 @@ away the hypercube [left+right/2,right]dimension.
The hyper-L is mainly of use in testing grid refinement, error estimates etc.
Boundary conditions of the form u=g
on the faces of the original
hypercube and ∂nu=0
on the "inner" faces resulting
-from the smaller hypercube taken away.
+from the smaller hypercube taken away are chosen, this will usually lead to
+a singular solution because of the reentrant corner; these singularities
+can be used to test the efficiency of error estimators.
diff --git a/deal.II/doc/tutorial/chapter-1.elements/hanging_nodes.html b/deal.II/doc/tutorial/chapter-1.elements/hanging_nodes.html new file mode 100644 index 0000000000..bb5c605b4a --- /dev/null +++ b/deal.II/doc/tutorial/chapter-1.elements/hanging_nodes.html @@ -0,0 +1,40 @@ + + +
+ + ++ Back to this chapter's index + | ++ Back to the tutorial index + | +
+Last modified: $Date$ +
+ + diff --git a/deal.II/doc/tutorial/chapter-1.elements/matrix_generation.html b/deal.II/doc/tutorial/chapter-1.elements/matrix_generation.html new file mode 100644 index 0000000000..66546074ed --- /dev/null +++ b/deal.II/doc/tutorial/chapter-1.elements/matrix_generation.html @@ -0,0 +1,65 @@ + + + + + ++Example: We show the include files you need, +the definitions and the function calls. Make sure to use them in their +appropriate places. This example initializes a sparse square matrix structure. +
+
+
+#include <grid/dof.h>
+#include <lac/sparsematrix.h>
+
+
+int dim=2; // For example
+SparseMatrixStruct<double> smstruct;
+SparseMatrix<double> sm;
+DoFHandler<dim> dof;
+
+// Your degrees of freedom must already be distributed
+
+smstruct.reinit(dof.n_dofs(),dof.n_dofs(),dof.max_couplings_between_dofs());
+sm.reinit(smstruct);
+
+
+
+
+
++ Back to this chapter's index + | ++ Back to the tutorial index + | +
+Last modified: $Date$ +
+ + diff --git a/deal.II/doc/tutorial/chapter-1.elements/matrix_structure.html b/deal.II/doc/tutorial/chapter-1.elements/matrix_structure.html index 1c2872fd32..490f2725d7 100644 --- a/deal.II/doc/tutorial/chapter-1.elements/matrix_structure.html +++ b/deal.II/doc/tutorial/chapter-1.elements/matrix_structure.html @@ -33,7 +33,8 @@ Before you can build the appropriate matrices for your problem you need to ascertain where the components of your matrix are non-zero and generate a structure for storing the matrix accordingly. This structure -is then used to actually initialize the matrix. +is then used to actually initialize the matrix, i.e. +tell the matrix for which elements to allocate memory.
-Sparse matrix structure can (and indeed must) be compressed. They can be
-compressed because it saves memory and they must be compressed because
-the classes dealing with sparse matrices require it.
+Sparse matrix structures can (and indeed must) be compressed before they are used
+in objects of the class SparseMatrix<>
that actually hold the matrix
+data. The reason for this is the way matrix structures and matrices are generated:
+
void SparseMatrixStruct::compress()
.
+
Example: Starting from the example above, we diff --git a/deal.II/doc/tutorial/chapter-1.elements/toc.html b/deal.II/doc/tutorial/chapter-1.elements/toc.html index 60ac0ddf8a..a59fe82f90 100644 --- a/deal.II/doc/tutorial/chapter-1.elements/toc.html +++ b/deal.II/doc/tutorial/chapter-1.elements/toc.html @@ -111,8 +111,8 @@ your needs.
-explaining how to use a parameter file for configuration - of your program. +
explaining how to use a parameter file for configuring + your program.
diff --git a/deal.II/doc/tutorial/chapter-3.laplace/code/laplace.cc b/deal.II/doc/tutorial/chapter-3.laplace/code/laplace.cc index 49044c1acc..98c93d8fa2 100644 --- a/deal.II/doc/tutorial/chapter-3.laplace/code/laplace.cc +++ b/deal.II/doc/tutorial/chapter-3.laplace/code/laplace.cc @@ -88,6 +88,7 @@ Laplace::assemble() hanging_nodes.clear(); dof.make_constraint_matrix(hanging_nodes); hanging_nodes.condense(matrix_structure); + matrix_structure.compress(); // The problem has the form Au=f. A.reinit(matrix_structure); diff --git a/deal.II/doc/tutorial/chapter-3.laplace/main.html b/deal.II/doc/tutorial/chapter-3.laplace/main.html index 65168c23ef..0485acda58 100644 --- a/deal.II/doc/tutorial/chapter-3.laplace/main.html +++ b/deal.II/doc/tutorial/chapter-3.laplace/main.html @@ -87,7 +87,7 @@ following time it is done once more. for (unsigned step = 0; step < 3 ; ++step) { - if (!step) + if (step == 0) lap.remesh(firstgrid); else { diff --git a/deal.II/doc/tutorial/dealtut.css b/deal.II/doc/tutorial/dealtut.css index cfa5c961a8..78013d075d 100644 --- a/deal.II/doc/tutorial/dealtut.css +++ b/deal.II/doc/tutorial/dealtut.css @@ -1,6 +1,11 @@ -body { bgcolor: white; background-color: white; } +body { background-image: none; + background-color: white; + } +frameset { background-color: white; + border-color: white; + } span.parhead { font-weight: bold; }