From: Wolfgang Bangerth Date: Thu, 4 Jun 1998 23:32:06 +0000 (+0000) Subject: Mostly doc updates. X-Git-Tag: v8.0.0~22872 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4b4fe2a627bbbfde7c9fd6ec62de67e9ac4202f;p=dealii.git Mostly doc updates. git-svn-id: https://svn.dealii.org/trunk@382 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/base/include/base/quadrature.h b/deal.II/base/include/base/quadrature.h index efb29a5493..c2b6a5b88b 100644 --- a/deal.II/base/include/base/quadrature.h +++ b/deal.II/base/include/base/quadrature.h @@ -24,6 +24,8 @@ * any dimension. Second order means that it integrates polynomials of * third order exact. In general, a formula of order #n# exactly * integrates polynomials of order #2n-1#. + * + * @author Wolfgang Bangerth, 1998 */ template class Quadrature { diff --git a/deal.II/deal.II/include/dofs/dof_accessor.h b/deal.II/deal.II/include/dofs/dof_accessor.h index 51cdeba863..ae4f381f12 100644 --- a/deal.II/deal.II/include/dofs/dof_accessor.h +++ b/deal.II/deal.II/include/dofs/dof_accessor.h @@ -36,6 +36,8 @@ class dVector; * that every iterator which is once assigned to is a valid * object. However, this assertion only holds in debug mode, when * the #Assert# macro is switched on. + * + * @author Wolfgang Bangerth, 1998 */ template class DoFAccessor { @@ -151,6 +153,8 @@ class DoFAccessor { * multiple inheritance of #DoFLineAccessor# and #CellAccessor<1>#. * * The same concept is used with #DoFQuadAccessor# classes etc. + * + * @author Wolfgang Bangerth, 1998 */ template class DoFLineAccessor : public DoFAccessor, public BaseClass { @@ -438,6 +442,8 @@ class DoFSubstructAccessor<2> : public DoFQuadAccessor<2,CellAccessor<2> > { * access to the neighbors and children as #DoFCellAccessor# objects * rather than #CellAccessor# objects (the latter function was inherited * from the #CellAccessor# class). + * + * @author Wolfgang Bangerth, 1998 */ template class DoFCellAccessor : public DoFSubstructAccessor { diff --git a/deal.II/deal.II/include/dofs/dof_constraints.h b/deal.II/deal.II/include/dofs/dof_constraints.h index 91c32b1515..c2bf205983 100644 --- a/deal.II/deal.II/include/dofs/dof_constraints.h +++ b/deal.II/deal.II/include/dofs/dof_constraints.h @@ -92,6 +92,8 @@ class dVector; * with two vectors, one working in-place. The operation of distribution undoes * the condensation process in some sense, but it should be noted that it is not * the inverse operation. + * + * @author Wolfgang Bangerth, 1998 */ class ConstraintMatrix { public: diff --git a/deal.II/deal.II/include/fe/fe.h b/deal.II/deal.II/include/fe/fe.h index ad4212407d..11df68192d 100644 --- a/deal.II/deal.II/include/fe/fe.h +++ b/deal.II/deal.II/include/fe/fe.h @@ -417,12 +417,17 @@ struct FiniteElementBase : public FiniteElementData { * function to the finite element space is applied. At present, only few * places where this is used in the library come to mind to the author, * namely the treating of boundary values in the #ProblemBase# class and - * the interpolation in the #VectorCreator# collection. You should also + * the interpolation in the #VectorTools# collection. You should also * look out for other places where explicit use of the ansatz points is * made if you want to use elements of other classes. A hint may be the * use of the #get_ansatz_points# and #get_face_ansatz_points# functions * of this class. * + * This also is used in some sense in the + * #DoFHandler::distribute_cell_to_dof_vector# where it is assumed that + * the degrees of freedom denote function values and not derivatives or + * the like. + * * \item Vanishing of basis functions on faces: when projecting a function * to the boundary, use if made of the assumption that all basis functions * on a cell adjacent to the boundary vanish on the boundary except for those diff --git a/deal.II/deal.II/include/fe/fe_lib.lagrange.h b/deal.II/deal.II/include/fe/fe_lib.lagrange.h index acb5c59cbd..dda7a46759 100644 --- a/deal.II/deal.II/include/fe/fe_lib.lagrange.h +++ b/deal.II/deal.II/include/fe/fe_lib.lagrange.h @@ -21,6 +21,8 @@ * real space and $N_j(\vec \xi)$ is the value of the basis function associated * with the $j$th corner point, on the unit cell at point $\vec \xi$. The sum * over $j$ runs over all corner points. + * + * @author Wolfgang Bangerth, 1998 */ template class FELinear : public FiniteElement { diff --git a/deal.II/deal.II/include/grid/point.h b/deal.II/deal.II/include/grid/point.h index d603d8632b..709fbf9085 100644 --- a/deal.II/deal.II/include/grid/point.h +++ b/deal.II/deal.II/include/grid/point.h @@ -26,6 +26,8 @@ * gradient of a function be a #point# vector: * #Point gradient_of_f (const Point &x)#. #Point#s have all * functionality for this, e.g. scalar products, addition etc. + * + * @author Wolfgang Bangerth, 1997 */ template class Point { diff --git a/deal.II/deal.II/include/grid/tria.h b/deal.II/deal.II/include/grid/tria.h index 53474f58ea..9d62eb2146 100644 --- a/deal.II/deal.II/include/grid/tria.h +++ b/deal.II/deal.II/include/grid/tria.h @@ -922,7 +922,15 @@ enum MeshSmoothing { * certain fraction of the total error. If this fraction is 50 per cent, * for example, the threshold is computed such that the cells with a * criterion greater than the threshold together account for half of the - * total error. + * total error. The definition of the fraction is a bit unintuitive, since + * the total error is the sum over all cells of the local contribution + * squared. We define that the fraction $\alpha$ be such that those + * elements with the greatest error are refined for which the condition + * $\sum \eta_K^2 \le \alpha\eta^2$ holds. Note that $\alpha$ is not + * squared. The sum runs over the mentioned + * cells, $\eta_K$ are the local error indicators and $\eta$ is the global + * indicator with $\eta^2 = \sum \eta_K^2$, with here the sum running over + * all cells. * * This strategy is more suited for singular functions and error * functionals, but may lead to very slow convergence of the grid diff --git a/deal.II/deal.II/include/grid/tria_accessor.h b/deal.II/deal.II/include/grid/tria_accessor.h index 042ea3a921..20c1f5d3af 100644 --- a/deal.II/deal.II/include/grid/tria_accessor.h +++ b/deal.II/deal.II/include/grid/tria_accessor.h @@ -52,6 +52,8 @@ enum IteratorState { valid, past_the_end, invalid }; * data members, offers comparison operators and the like), but has no * functionality to actually dereference data. This is done in the derived * classes. + * + * @author Wolfgang Bangerth, 1998 */ template class TriaAccessor { @@ -168,14 +170,6 @@ class TriaAccessor { /** * Exception */ - DeclException0 (ExcRefineCellNotUsed); - /** - * Exception - */ - DeclException0 (ExcRefineCellNotActive); - /** - * Exception - */ DeclException1 (ExcInvalidNeighbor, int, << "Neighbor indices must be between 0 and 2^dim-1, but " @@ -269,6 +263,8 @@ class TriaAccessor { * point to lines in #dim# space dimensions. There is a derived class * for lines in one space dimension, in which case a line is also a cell * and thus has much more functionality than in lower dimensions. + * + * @author Wolfgang Bangerth, 1998 */ template class LineAccessor : public TriaAccessor { @@ -487,6 +483,8 @@ class LineAccessor : public TriaAccessor { * to me). There is a derived class * for quads in two space dimension, in which case a quad is also a cell * and thus has much more functionality than in lower dimensions. + * + * @author Wolfgang Bangerth, 1998 */ template class QuadAccessor : public TriaAccessor { @@ -820,6 +818,8 @@ class TriaSubstructAccessor<2> : public QuadAccessor<2> { * example they can be flagged for refinement, they have neighbors, they have * the possibility to check whether they are at the boundary etc. This class * offers access to all this data. + * + * @author Wolfgang Bangerth, 1998 */ template class CellAccessor : public TriaSubstructAccessor { @@ -948,6 +948,18 @@ class CellAccessor : public TriaSubstructAccessor { */ bool active () const; + /** + * Exception + */ + DeclException0 (ExcRefineCellNotActive); + /** + * Exception + */ + DeclException0 (ExcCellFlaggedForRefinement); + /** + * Exception + */ + DeclException0 (ExcCellFlaggedForCoarsening); private: /** * Copy operator. This is normally diff --git a/deal.II/deal.II/include/grid/tria_boundary.h b/deal.II/deal.II/include/grid/tria_boundary.h index 17e57aba2d..e2f5ab2324 100644 --- a/deal.II/deal.II/include/grid/tria_boundary.h +++ b/deal.II/deal.II/include/grid/tria_boundary.h @@ -31,6 +31,8 @@ * the new point right into the middle of the given points, and * #HyperBallBoundary# creating a hyperball with given radius * around a given center point. + * + * @author Wolfgang Bangerth, 1998 */ template class Boundary { diff --git a/deal.II/deal.II/include/grid/tria_iterator.h b/deal.II/deal.II/include/grid/tria_iterator.h index a97716d9a4..ab6bf2bee8 100644 --- a/deal.II/deal.II/include/grid/tria_iterator.h +++ b/deal.II/deal.II/include/grid/tria_iterator.h @@ -127,16 +127,16 @@ template class Triangulation; * \begin{itemize} * \item It must have two members named #present_level# and #present_index# * storing the address of the element in the triangulation presently - *pointed to. Furthermore, the three #Tria{Raw| |Active}Iterator# classes - *have to be friends to the accessor or these data members must be public. + * pointed to. Furthermore, the three #Tria{Raw| |Active}Iterator# classes + * have to be friends to the accessor or these data members must be public. * \item It must have a constructor which takes 1. a #Triangulation*#, * 2. and 3. and integer, denoting the initial level and index. * \item For the #TriaIterator# and the #TriaActiveIterator# class, it must * have a member function #bool used()#, for the latter a member function - *#bool active()#. + * #bool active()#. * \item It should not modify the #present_level# and #present_index# fields, * since this is what the iterator classes do, but it should use them to - *dereference the data it points to. + * dereference the data it points to. * \item It must have void operators #++# and #--#. * \end{itemize} * Then the iterator is able to do what it is supposed to. All of the necessary diff --git a/deal.II/deal.II/include/grid/tria_line.h b/deal.II/deal.II/include/grid/tria_line.h index be519bbc11..d01ae811bd 100644 --- a/deal.II/deal.II/include/grid/tria_line.h +++ b/deal.II/deal.II/include/grid/tria_line.h @@ -15,6 +15,8 @@ * the triangulation is concerned: the index in the level * it belongs to. The level index is implicitely given by the position * in the #lines.lines# list attached to the information of each level. + * + * @author Wolfgang Bangerth, 1998 */ class Line { public: diff --git a/deal.II/deal.II/include/grid/tria_quad.h b/deal.II/deal.II/include/grid/tria_quad.h index 7d99563c7c..80f7f1e8cd 100644 --- a/deal.II/deal.II/include/grid/tria_quad.h +++ b/deal.II/deal.II/include/grid/tria_quad.h @@ -17,6 +17,8 @@ * it belongs to. The level index is implicitely given by the position * in the #quads.quads# list attached to the information of each level * of the triangulation. + * + * @author Wolfgang Bangerth, 1998 */ class Quad { public: diff --git a/deal.II/deal.II/include/numerics/assembler.h b/deal.II/deal.II/include/numerics/assembler.h index a764d53ed4..d57d95b97e 100644 --- a/deal.II/deal.II/include/numerics/assembler.h +++ b/deal.II/deal.II/include/numerics/assembler.h @@ -28,6 +28,8 @@ class dVector; * Equation objects need only provide functions which set up the cell * matrices and the cell right hand side. These are then automatically inserted * into the global matrices and vectors. + * + * @author Wolfgang Bangerth, 1998 */ template class Equation { @@ -217,6 +219,8 @@ struct AssemblerData { /** * An #Assembler# is a specialized version of a #DoFCellAccessor# which adds * functionality to assemble global matrices and vectors from cell base ones. + * + * @author Wolfgang Bangerth, 1998 */ template class Assembler : public DoFCellAccessor { diff --git a/deal.II/deal.II/include/numerics/base.h b/deal.II/deal.II/include/numerics/base.h index 42c5fea0a5..5cdbc74f25 100644 --- a/deal.II/deal.II/include/numerics/base.h +++ b/deal.II/deal.II/include/numerics/base.h @@ -86,6 +86,8 @@ template class Function; * the boundary_values using the #MatrixTool::interpolate_boundary_values# * function. See there for more information. * + * + * @author Wolfgang Bangerth, 1998 */ template class ProblemBase { diff --git a/deal.II/deal.II/include/numerics/data_io.h b/deal.II/deal.II/include/numerics/data_io.h index ff5ce2d836..773d4bfa68 100644 --- a/deal.II/deal.II/include/numerics/data_io.h +++ b/deal.II/deal.II/include/numerics/data_io.h @@ -194,6 +194,8 @@ struct SubCellData { * backtracking nor whether it can be done with a stopping algorithm, if * possible within polynomial time. This kind of numbering must be made * upon construction of the coarse grid, unfortunately. + * + * @author Wolfgang Bangerth, 1998 */ template class DataIn { @@ -317,6 +319,8 @@ class DataIn { * #set parametric# and #splot "filename" using 1:2:x# to get a 3d surface * plot of the (#x-2#)th data set. For example, using #x=4# would mean to * plot the second data set. + * + * @author Wolfgang Bangerth, 1998 */ template class DataOut { diff --git a/deal.II/deal.II/include/numerics/matrices.h b/deal.II/deal.II/include/numerics/matrices.h index 01f5f12763..d1350e51f8 100644 --- a/deal.II/deal.II/include/numerics/matrices.h +++ b/deal.II/deal.II/include/numerics/matrices.h @@ -142,6 +142,9 @@ class dSMatrix; * once. If you only want to create a right hand side as above, there is * a function in the #VectorCreator# class. The use of the latter may be * useful if you want to create many right hand side vectors. + * + * + * @author Wolfgang Bangerth, 1998 */ template class MatrixCreator { diff --git a/deal.II/deal.II/include/numerics/vectors.h b/deal.II/deal.II/include/numerics/vectors.h index d1012878a9..28f1d06614 100644 --- a/deal.II/deal.II/include/numerics/vectors.h +++ b/deal.II/deal.II/include/numerics/vectors.h @@ -243,6 +243,9 @@ enum NormType { * For the global $H_1$ norm and seminorm, the same rule applies as for the * $L_2$ norm: compute the $l_2$ norm of the cell error vector. * \end{itemize} + * + * + * @author Wolfgang Bangerth, 1998 */ template class VectorTools {