*
* Given this explanation, the code above will lead to a hierarchical
* representation of data that looks like this (the content of files is
- * indicated at the right in a different font): @image html
- * parameter_handler.png Once parameters have been read in, the contents of
+ * indicated at the right in a different font):
+ *
+ * @image html parameter_handler.png
+ *
+ * Once parameters have been read in, the contents of
* the <code>value</code> "files" may be different while the other files
* remain untouched.
*
* <dl> <dt> 1D <dd> <i> x<sup>0</sup>, x<sup>1</sup>,...,x<sup>n</sup></i>
* <dt> 2D: <dd> <i> x<sup>0</sup>y<sup>0</sup>,
* x<sup>1</sup>y<sup>0</sup>,...,
- * x<sup>n</sup>y<sup>0</sup>,<br>
+ * x<sup>n</sup>y<sup>0</sup>,
+ * <br>
* x<sup>0</sup>y<sup>1</sup>, x<sup>1</sup>y<sup>1</sup>,...,
- * x<sup>n-1</sup>y<sup>1</sup>,<br>
+ * x<sup>n-1</sup>y<sup>1</sup>,
+ * <br>
* x<sup>0</sup>y<sup>2</sup>,...
- * x<sup>n-2</sup>y<sup>2</sup>,<br>...<br>
+ * x<sup>n-2</sup>y<sup>2</sup>,
+ * <br>
+ * ...
+ * <br>
* x<sup>0</sup>y<sup>n-1</sup>,
- * x<sup>1</sup>y<sup>n-1</sup>,<br>
+ * x<sup>1</sup>y<sup>n-1</sup>,
+ * <br>
* x<sup>0</sup>y<sup>n</sup> </i> <dt> 3D: <dd> <i>
* x<sup>0</sup>y<sup>0</sup>z<sup>0</sup>,...,
- * x<sup>n</sup>y<sup>0</sup>z<sup>0</sup>,<br>
+ * x<sup>n</sup>y<sup>0</sup>z<sup>0</sup>,
+ * <br>
* x<sup>0</sup>y<sup>1</sup>z<sup>0</sup>,...,
- * x<sup>n-1</sup>y<sup>1</sup>z<sup>0</sup>,<br>...<br>
- * x<sup>0</sup>y<sup>n</sup>z<sup>0</sup>,<br>
+ * x<sup>n-1</sup>y<sup>1</sup>z<sup>0</sup>,
+ * <br>
+ * ...
+ * <br>
+ * x<sup>0</sup>y<sup>n</sup>z<sup>0</sup>,
+ * <br>
* x<sup>0</sup>y<sup>0</sup>z<sup>1</sup>,...
- * x<sup>n-1</sup>y<sup>0</sup>z<sup>1</sup>,<br>...<br>
- * x<sup>0</sup>y<sup>n-1</sup>z<sup>1</sup>,<br>
+ * x<sup>n-1</sup>y<sup>0</sup>z<sup>1</sup>,
+ * <br>
+ * ...
+ * <br>
+ * x<sup>0</sup>y<sup>n-1</sup>z<sup>1</sup>,
+ * <br>
* x<sup>0</sup>y<sup>0</sup>z<sup>2</sup>,...
- * x<sup>n-2</sup>y<sup>0</sup>z<sup>2</sup>,<br>...<br>
+ * x<sup>n-2</sup>y<sup>0</sup>z<sup>2</sup>,
+ * <br>
+ * ...
+ * <br>
* x<sup>0</sup>y<sup>0</sup>z<sup>n</sup> </i> </dl>
*
* @ingroup Polynomials
* actually several times faster.
*
* <table> <tr>
- * <td> @image html "reorder_sparsity_step_31_original.png" </td>
- * <td> @image html "reorder_sparsity_step_31_random.png" </td>
- * <td> @image html "reorder_sparsity_step_31_deal_cmk.png" </td>
+ * <td>
+ * @image html "reorder_sparsity_step_31_original.png"
+ * </td>
+ * <td>
+ * @image html "reorder_sparsity_step_31_random.png"
+ * </td>
+ * <td>
+ * @image html "reorder_sparsity_step_31_deal_cmk.png"
+ * </td>
* </tr> <tr> <td>
* Enumeration as produced by deal.II's DoFHandler::distribute_dofs function
* and no further reordering apart from the component-wise one.
* With this renumbering, we needed an average of 57.3 iterations for the
* testcase outlined above, and a runtime of 6min10s. </td> </td> </tr>
*
- * <tr> <td> @image html "reorder_sparsity_step_31_boost_cmk.png" </td>
- * <td> @image html "reorder_sparsity_step_31_boost_king.png" </td>
- * <td> @image html "reorder_sparsity_step_31_boost_md.png" </td>
+ * <tr> <td>
+ * @image html "reorder_sparsity_step_31_boost_cmk.png"
+ * </td>
+ * <td>
+ * @image html "reorder_sparsity_step_31_boost_king.png"
+ * </td>
+ * <td>
+ * @image html "reorder_sparsity_step_31_boost_md.png"
+ * </td>
* </tr> <tr> <td> Cuthill-
* McKee enumeration as produced by calling the BOOST implementation of the
* algorithm provided by DoFRenumbering::boost::Cuthill_McKee after
* With this renumbering, we needed an average of 58.9 iterations for the
* testcase outlined above, and a runtime of 6min11s. </td> </tr>
*
- * <tr> <td> @image html "reorder_sparsity_step_31_downstream.png" </td> <td>
+ * <tr> <td>
+ * @image html "reorder_sparsity_step_31_downstream.png"
+ * </td> <td>
* </td> <td> </td> </tr> <tr> <td> Downstream enumeration using
* DoFRenumbering::downstream using a direction that points diagonally through
* the domain.
* Since discontinuous elements have no topological couplings between grid
* cells and code may actually depend on this property, <i>L<sup>2</sup></i>
* conformity is handled in a special way in the sense
- * that it is <b>not</b> implied by any higher conformity. </ol>
+ * that it is <b>not</b> implied by any higher conformity.
+ * </ol>
*
* In order to test if a finite element conforms to a certain space, use
* FiniteElementData<dim>::conforms().
* elements of type FE_DGP(1) or FE_DGPMonomial(1).
*
* This can be understood by the following 2-d example: consider the cell with
- * vertices at $(0,0),(1,0),(0,1),(s,s)$: @image html dgp_doesnt_contain_p.png
+ * vertices at $(0,0),(1,0),(0,1),(s,s)$:
+ * @image html dgp_doesnt_contain_p.png
*
* For this cell, a bilinear transformation $F$ produces the relations $x=\hat
* x+\hat x\hat y$ and $y=\hat y+\hat x\hat y$ that correlate reference
* elements of type FE_DGP(1) or FE_DGPMonomial(1).
*
* This can be understood by the following 2-d example: consider the cell with
- * vertices at $(0,0),(1,0),(0,1),(s,s)$: @image html dgp_doesnt_contain_p.png
+ * vertices at $(0,0),(1,0),(0,1),(s,s)$:
+ * @image html dgp_doesnt_contain_p.png
*
* For this cell, a bilinear transformation $F$ produces the relations $x=\hat
* x+\hat x\hat y$ and $y=\hat y+\hat x\hat y$ that correlate reference
*/
/**
- * Exception @ingroup Exceptions
+ * Exception
+ *
+ * @ingroup Exceptions
*/
DeclException1 (ExcInvalidLevel,
int,
<< "You tried to do something on level " << arg1
<< ", but this level is empty.");
/**
- * Exception @ingroup Exceptions
+ * Exception
+ *
+ * @ingroup Exceptions
*/
DeclException0 (ExcNonOrientableTriangulation);
/**
* In the decomposition phase, computes a strengthening factor for the
* diagonal entry in row <tt>row</tt> with sum of absolute values of its
- * elements <tt>rowsum</tt>.<br> Note:
- * The default implementation in SparseLUDecomposition returns
+ * elements <tt>rowsum</tt>.
+ *
+ * @note The default implementation in SparseLUDecomposition returns
* <tt>strengthen_diagonal</tt>'s value.
*/
virtual number get_strengthen_diagonal(const number rowsum, const size_type row) const;
* revolves around the question what the normal vector is. Consider the
* following situation:
*
- * <p ALIGN="center"> @image html no_normal_flux_1.png </p>
+ * <p ALIGN="center">
+ * @image html no_normal_flux_1.png
+ * </p>
*
* Here, we have two cells that use a bilinear mapping (i.e. MappingQ1).
* Consequently, for each of the cells, the normal vector is perpendicular
*
* Unfortunately, this is not quite enough. Consider the situation here:
*
- * <p ALIGN="center"> @image html no_normal_flux_2.png </p>
+ * <p ALIGN="center">
+ * @image html no_normal_flux_2.png
+ * </p>
*
* If again the top and right edges approximate a curved boundary, and the
* left boundary a separate boundary (for example straight) so that the
* we have considered above, is discretized with the following mesh, then we
* get into trouble:
*
- * <p ALIGN="center"> @image html no_normal_flux_3.png </p>
+ * <p ALIGN="center">
+ * @image html no_normal_flux_3.png
+ * </p>
*
* Here, the algorithm assumes that the boundary does not have a corner at
* the point where faces $F1$ and $F2$ join because at that point there are
* The situation is more complicated in 3d. Consider the following case
* where we want to compute the constraints at the marked vertex:
*
- * <p ALIGN="center"> @image html no_normal_flux_4.png </p>
+ * <p ALIGN="center">
+ * @image html no_normal_flux_4.png
+ * </p>
*
* Here, we get four different normal vectors, one from each of the four
* faces that meet at the vertex. Even though they may form a complete set