]> https://gitweb.dealii.org/ - dealii.git/commitdiff
doxygen formatting fixes
authorTimo Heister <timo.heister@gmail.com>
Thu, 23 Mar 2017 15:57:07 +0000 (11:57 -0400)
committerTimo Heister <timo.heister@gmail.com>
Thu, 23 Mar 2017 15:57:07 +0000 (11:57 -0400)
- wrong indentation
- code blocks not marked correctly
- some @ref fixes

43 files changed:
doc/doxygen/headers/fe.h
include/deal.II/base/data_out_base.h
include/deal.II/base/geometric_utilities.h
include/deal.II/distributed/p4est_wrappers.h
include/deal.II/dofs/dof_accessor.h
include/deal.II/fe/fe.h
include/deal.II/fe/fe_bernstein.h
include/deal.II/fe/fe_dgp.h
include/deal.II/fe/fe_dgp_monomial.h
include/deal.II/fe/fe_dgp_nonparametric.h
include/deal.II/fe/fe_dgq.h
include/deal.II/fe/fe_enriched.h
include/deal.II/fe/fe_face.h
include/deal.II/fe/fe_nothing.h
include/deal.II/fe/fe_poly_tensor.h
include/deal.II/fe/fe_q_base.h
include/deal.II/fe/fe_q_hierarchical.h
include/deal.II/fe/fe_q_iso_q1.h
include/deal.II/fe/fe_system.h
include/deal.II/fe/fe_tools.h
include/deal.II/fe/fe_trace.h
include/deal.II/grid/grid_in.h
include/deal.II/grid/tensor_product_manifold.h
include/deal.II/grid/tria.h
include/deal.II/grid/tria_accessor.h
include/deal.II/lac/block_linear_operator.h
include/deal.II/lac/full_matrix.h
include/deal.II/lac/linear_operator.h
include/deal.II/lac/precondition.h
include/deal.II/lac/read_write_vector.h
include/deal.II/lac/trilinos_block_sparse_matrix.h
include/deal.II/lac/trilinos_solver.h
include/deal.II/lac/trilinos_vector_base.h
include/deal.II/lac/vector.h
include/deal.II/lac/vector_view.h
include/deal.II/matrix_free/matrix_free.h
include/deal.II/matrix_free/operators.h
include/deal.II/meshworker/simple.h
include/deal.II/multigrid/mg_tools.h
include/deal.II/numerics/vector_tools.templates.h
include/deal.II/physics/elasticity/kinematics.h
include/deal.II/physics/elasticity/standard_tensors.h
include/deal.II/physics/transformations.h

index 59b827e834b5bce7aaf08f153897e0ceb66c45b5..376c210c63361f1b878b8df7397954341489c320 100644 (file)
@@ -19,7 +19,8 @@
  *
  * All classes related to shape functions and to access to shape
  * functions.  This concerns the actual values of finite elements. For
- * the numbering of degrees of freedom refer to the module on @ref dofs.
+ * the numbering of degrees of freedom refer to the module on
+ * @ref dofs.
  *
  * The classes and functions of this module fall into several sub-groups that
  * are discussed in their respective sub-modules listed above. In addition,
@@ -86,7 +87,8 @@
  * of its face with the neighboring cell. If vector-valued elements are used,
  * the FEValues and related classes allow access to all vector components; if
  * one wants to pick individual components, there are extractor classes that
- * make this task simpler, as described in the @ref vector_valued module.
+ * make this task simpler, as described in the
+ * @ref vector_valued module.
  *
  * The last member of this group, the UpdateFlags enumeration, is used as an
  * optimization: instead of letting the FEValues class compute every possible
  * UpdateFlags enumeration is used to offer symbolic names denoting what you
  * want the FEValues class to compute.
  * 
- * All these classes are used in all @ref Tutorial "tutorial programs" from
- * step-3 onward, and are described there in significant detail.
+ * All these classes are used in all
+ * @ref Tutorial "tutorial programs"
+ * from step-3 onward, and are described there in significant detail.
  *
  * The actual workings of the FEValues class and friends is
  * complicated because it has to be general yet efficient. The page on
- * @ref UpdateFlags attempts to give an overview of how this
- * works.
+ * @ref UpdateFlags
+ * attempts to give an overview of how this works.
  *
  * @ingroup feall
  */
  * point on the unit cell. To be useful in integrating matrix and right hand
  * side entries, one has to have the ability to map these shape functions and
  * gradients to the real cell. This is done using classes derived from the
- * Mapping base class (see the @ref mapping module) in conjunction with the
- * FEValues class (see the @ref feaccess module).
+ * Mapping base class (see
+ * @ref mapping)
+ * in conjunction with the
+ * FEValues class (see
+ * @ref feaccess).
  *
  * <h3>Vector-valued finite elements</h3>
  *
index 9e4d8b543d1a71abe3afb2a5767445855a6af4a9..04b6eb54631c33f91961f730a726ae07c909308d 100644 (file)
@@ -541,9 +541,9 @@ namespace DataOutBase
      * surrounded by angle brackets: For example, if the space dimension is 2
      * and the labels are <tt>"x"</tt> and <tt>"t"</tt>, then the relevant
      * line will start with
-     @verbatim
-     # <x> <t>
-     @endverbatim
+     @verbatim
+     # <x> <t>
+     @endverbatim
      * Any extra labels will be ignored.
      *
      * If you specify these labels yourself then there should be at least
index 2bf0cb8e24acc6824b3daede0ca1bc01f76708c5..2478a80499297d4ba1a1721bec3920682735a401 100644 (file)
@@ -47,7 +47,7 @@ namespace GeometricUtilities
      * and polar/inclination angle $ \in [0,\pi]$ (ommited in 2D).
      *
      * In 3D the transformation is given by
-     * @f{align*}
+     * @f{align*}{
      *  r &= \sqrt{x^2+y^2+z^2} \\
      *  \theta &= {\rm atan}(y/x) \\
      *  \phi &= {\rm acos} (z/r)
@@ -64,7 +64,7 @@ namespace GeometricUtilities
      * (ommited in 2D).
      *
      * In 3D the transformation is given by
-     * @f{align*}
+     * @f{align*}{
      *  x &= r\, \cos(\theta) \, \sin(\phi) \\
      *  y &= r\, \sin(\theta) \, \sin(\phi) \\
      *  z &= r\, \cos(\phi)
index 795a5619479d1159594270c6c26b060d39633d99..01c8749a7dbbd92004693bc12e8e0d3735129147 100644 (file)
@@ -53,12 +53,12 @@ namespace internal
   namespace p4est
   {
     /**
-    * A structure whose explicit specializations contain typedefs to the
-    * relevant p4est_* and p8est_* types. Using this structure, for example
-    * by saying <tt>types<dim>::connectivity</tt> we can write code in a
-    * dimension independent way, either referring to p4est_connectivity_t or
-    * p8est_connectivity_t, depending on template argument.
-    */
+     * A structure whose explicit specializations contain typedefs to the
+     * relevant p4est_* and p8est_* types. Using this structure, for example
+     * by saying <tt>types<dim>::connectivity</tt> we can write code in a
+     * dimension independent way, either referring to p4est_connectivity_t or
+     * p8est_connectivity_t, depending on template argument.
+     */
     template <int> struct types;
 
     template <>
@@ -486,7 +486,8 @@ namespace internal
      * This struct templatizes the p4est iterate structs and function
      * prototypes, which are used to execute callback functions for faces,
      * edges, and corners that require local neighborhood information, i.e.
-     * the neighboring cells */
+     * the neighboring cells
+     */
     template <int dim> struct iter;
 
     template <> struct iter<2>
@@ -515,9 +516,9 @@ namespace internal
 
 
     /**
-    * Initialize the GeometryInfo<dim>::max_children_per_cell children of the
-    * cell p4est_cell.
-    */
+     * Initialize the GeometryInfo<dim>::max_children_per_cell children of the
+     * cell p4est_cell.
+     */
     template <int dim>
     void
     init_quadrant_children
index 85e3a68c2c99147d42970d2fecb37edd9a984960..45876c87520f6c8688c9480ad754083ded97e4e1 100644 (file)
@@ -180,7 +180,8 @@ namespace internal
  *   edges have @p structdim equal to one, etc.
  * @tparam DoFHandlerType The type of the DoF handler into which accessor
  *   of this type point. This is either the DoFHandler or hp::DoFHandler
- *   class. See also the @ref ConceptDoFHandlerType "DoFHandlerType concept".
+ *   class. See also the
+ *   @ref ConceptDoFHandlerType "DoFHandlerType concept".
  * @tparam level_dof_access If @p false, then the accessor simply represents
  *   a cell, face, or edge in a DoFHandler for which degrees of freedom only
  *   exist on the finest level. Some operations are not allowed in this case,
@@ -875,8 +876,8 @@ public:
   /**
    * Return the <i>global</i> indices of the degrees of freedom located on
    * this object in the standard ordering defined by the finite element. This
-   * function is only available on <i>active</i> objects (see @ref GlossActive
-   * "this glossary entry").
+   * function is only available on <i>active</i> objects (see
+   * @ref GlossActive "this glossary entry").
    *
    * The present vertex must belong to an active cell (and not artificial in a
    * parallel distributed computation).
index 4d9fa3763b3d43bf04ec1f658ef1d5522cfae35b..1d7c58cbe08be06cb8198dbb5c47efc00690e1bf 100644 (file)
@@ -1231,7 +1231,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
@@ -1947,7 +1948,9 @@ public:
    * FETools::compute_node_matrix() function.
    *
    * In more detail, let us assume that the generalized support points
-   * (see @ref GlossGeneralizedSupport "this glossary entry") of the current
+   * (see
+   * @ref GlossGeneralizedSupport "this glossary entry"
+   * ) of the current
    * element are $\hat{\mathbf x}_i$ and that the node functionals associated
    * with the current element are $\Psi_i[\cdot]$. Then, the fact that the
    * element is based on generalized support points, implies that if we
index 98c3df663c5f69f0988cf4f47a63626a499f6141..798eaa645ebb1be28d03781050d2e9a1e832bd82 100644 (file)
@@ -177,7 +177,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index 799cb846be0dbbac1692fd92cabcc9cc8ecd1365..ef22bfabadff6bbfd3b32fee6e1e4e5e500b5740 100644 (file)
@@ -386,7 +386,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index e17f02ce2e854053198abc5ae59743d5cb0c8b9c..ce393da029c3b1a97a3488d9e9286c1ec020043f 100644 (file)
@@ -361,7 +361,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index 6c7e535bcb57285f0f323ae6f288536b1a7a4003..9b054dc0a183deaaf379547f1d66a2614a316a13 100644 (file)
@@ -469,7 +469,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index 9758d3f902d33a567cb9795317cdbb9625f8bc72..1c04563d412d9f3095b20d71cad75bd6f9d05c14 100644 (file)
@@ -275,7 +275,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index d983feda8fcfb15657d7a7b6736331ffdf6fe98a..ded5e7f0f410c8f1d44336e112f68abceded2477 100644 (file)
@@ -97,7 +97,7 @@ DEAL_II_NAMESPACE_OPEN
  * Note that evaluation of gradients (hessians) of the enriched shape functions
  * or the finite element field requires evaluation of gradients (gradients and hessians)
  * of the enrichment functions:
- * @f{align*}
+ * @f{align*}{
  *   U(\mathbf x)
  *     &= \sum_i N_i(\mathbf x) U_i
  *     + \sum_{j,k} N_j(\mathbf x) F_k(\mathbf x) U_{jk} \\
@@ -145,35 +145,35 @@ DEAL_II_NAMESPACE_OPEN
  *
  * When using this class, please cite
  * @code{.bib}
- @Article{Davydov2016,
-   Title                    = {On the h-adaptive PUM and hp-adaptive FEM approaches applied to PDEs in quantum mechanics.},
-   Author                   = {Davydov, D and Gerasimov, T and Pelteret, J.-P. and Steinmann, P.},
-   eprinttype               = {arXiv},
-   eprint                   = {1612.02305},
-   eprintclass              = {physics.comp-ph},
-   Year                     = {2016},
- }
@Article{Davydov2016,
  Title                    = {On the h-adaptive PUM and hp-adaptive FEM approaches applied to PDEs in quantum mechanics.},
  Author                   = {Davydov, D and Gerasimov, T and Pelteret, J.-P. and Steinmann, P.},
  eprinttype               = {arXiv},
  eprint                   = {1612.02305},
  eprintclass              = {physics.comp-ph},
  Year                     = {2016},
}
  * @endcode
  * The PUM was introduced in
  * @code{.bib}
- @Article{Melenk1996,
-  Title                    = {The partition of unity finite element method: Basic theory and applications },
-  Author                   = {Melenk, J.M. and Babu\v{s}ka, I.},
-  Journal                  = {Computer Methods in Applied Mechanics and Engineering},
-  Year                     = {1996},
-  Number                   = {1--4},
-  Pages                    = {289 -- 314},
-  Volume                   = {139},
-}
-@Article{Babuska1997,
-  Title                    = {The partition of unity method},
-  Author                   = {Babu\v{s}ka, I. and Melenk, J. M.},
-  Journal                  = {International Journal for Numerical Methods in Engineering},
-  Year                     = {1997},
-  Number                   = {4},
-  Pages                    = {727--758},
-  Volume                   = {40},
-}
@Article{Melenk1996,
*   Title                    = {The partition of unity finite element method: Basic theory and applications },
*   Author                   = {Melenk, J.M. and Babu\v{s}ka, I.},
*   Journal                  = {Computer Methods in Applied Mechanics and Engineering},
*   Year                     = {1996},
*   Number                   = {1--4},
*   Pages                    = {289 -- 314},
*   Volume                   = {139},
+ * }
+ * @Article{Babuska1997,
*   Title                    = {The partition of unity method},
*   Author                   = {Babu\v{s}ka, I. and Melenk, J. M.},
*   Journal                  = {International Journal for Numerical Methods in Engineering},
*   Year                     = {1997},
*   Number                   = {4},
*   Pages                    = {727--758},
*   Volume                   = {40},
+ * }
  * @endcode
  *
  * <h3>Implementation</h3>
index 7b59245c8648a62932208d2be1e525ca94e131e2..4246522f40a3ed2d7329a05e2c115156f733b83d 100644 (file)
@@ -112,7 +112,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
@@ -216,7 +217,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
@@ -412,7 +414,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index 02dc8a5fe74bb11295b5b7167432e72e4efa32bd..34351ef5fe249c892541584f20a50a79bfcadd7d 100644 (file)
@@ -185,7 +185,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    *
    * In the current case, this element is assumed to dominate if the second
    * argument in the constructor @p dominate is true. When this argument is
index 7e8e10c196f0e916a488e7f08c9adb881686592d..912d31bbe7021bff89f8396184b11106da63fb1e 100644 (file)
@@ -79,7 +79,7 @@ DEAL_II_NAMESPACE_OPEN
  * $\{\varphi_j(\hat{\mathbf x})\}$. Rather, we need to express the finite
  * element shape functions as a linear combination of the basis provided
  * by the polynomial space:
- * @f{align*}
+ * @f{align*}{
  *   \varphi_j = \sum_k c_{jk} \tilde\varphi_j.
  * @f}
  * These expansion coefficients $c_{jk}$ are typically computed in the
index 021c3c40e0e0459597cdf439711ae3d3a27337f5..2a39e81e90c5775f501a3a594dd88f69bbcb76eb 100644 (file)
@@ -259,7 +259,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index 1d7f5b130af01c08573a474ab9bf92ef77dae9f5..b11550778d18b7d101e98cf43d3249729a038d5b 100644 (file)
@@ -656,7 +656,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index 7180b11c50b7f379ef0394a58340b3716b6cac87..d163801c97b639f80ff39de816a9f0f9b67a1c53 100644 (file)
@@ -132,7 +132,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index 024bf4cfde62ee7b7db429f50a759fda72730266..2b8f9b515f2eef9374baa7a2f7f8f934b71636f3 100644 (file)
@@ -832,7 +832,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index b4f8a0270bfa1a3cac07490e4cbe5f7e56272f39..64551e4440ff207578e776f12be38a4e0e5cd480 100644 (file)
@@ -253,14 +253,14 @@ namespace FETools
    * $\varphi_j(\mathbf x) = \sum_{k=1}^N c_{jk} \tilde\varphi_k(\mathbf x)$
    * where we need to determine the expansion coefficients $c_{jk}$. We do this
    * by applying $\Psi_i$ to both sides of the equation, to obtain
-   * @f{align*}
+   * @f{align*}{
    *   \Psi_i [\varphi_j] = \sum_{k=1}^N c_{jk} \Psi_i[\tilde\varphi_k],
    * @f}
    * and we know that the left hand side equals $\delta_{ij}$.
    * If you think of this as a system of $N\times N$ equations for the
    * elements of a matrix on the left and on the right, then this can be
    * written as
-   * @f{align*}
+   * @f{align*}{
    *   I = C X^T
    * @f}
    * where $C$ is the matrix of coefficients $c_{jk}$ and
@@ -912,7 +912,7 @@ namespace FETools
    * two vector components, where the first should have linear shape
    * functions and the second quadratic shape functions. In 1d, the
    * shape functions (on the reference cell) of the base elements are then
-   * @f{align*}
+   * @f{align*}{
    *   Q_1 &= \{ 1-x, x \},
    *   \\  Q_2 &= \{ 2(\frac 12 - x)(1-x), 2(x - \frac 12)x, 4x(1-x) \},
    * @f}
@@ -920,7 +920,7 @@ namespace FETools
    * first vertex, then on the second vertex, then in the interior of
    * the cell). The tensor product construction will create an element with
    * the following shape functions:
-   * @f{align*}
+   * @f{align*}{
    *   Q_1 \times Q_2 &=
    *   \left\{
    *     \begin{pmatrix} 1-x \\ 0 \end{pmatrix},
@@ -942,7 +942,7 @@ namespace FETools
    * previous strategy, combining shape functions simply takes
    * <i>all</i> of the shape functions together. In the case above,
    * this would yield the following element:
-   * @f{align*}
+   * @f{align*}{
    *   Q_1 + Q_2 &= \{ 1-x, 2(\frac 12 - x)(1-x),
    *                   x, 2(x - \frac 12)x, 4x(1-x) \}.
    * @f}
index 03a7586d35fc74a14914d88d9311e84c68cdd29b..9c4fa554068846731b9ee3ed04695be5d89c0474 100644 (file)
@@ -116,7 +116,8 @@ public:
    * neither dominates, or if either could dominate.
    *
    * For a definition of domination, see FiniteElementDomination::Domination
-   * and in particular the @ref hp_paper "hp paper".
+   * and in particular the
+   * @ref hp_paper "hp paper".
    */
   virtual
   FiniteElementDomination::Domination
index eef8c36655aca44d11dadaa5c40ef483c85b408d..dec5aea9d0d2acdb921aaa5ad08c6f2f89180abd 100644 (file)
@@ -38,8 +38,11 @@ template <int dim> struct CellData;
  * geometric (vertex locations) and topological (how vertices form cells,
  * faces, and edges) information is ignored, but the readers for the various
  * formats generally do read information that associates material ids or
- * boundary ids to cells or faces (see @ref GlossMaterialId "this" and
- * @ref GlossBoundaryIndicator "this" glossary entry for more information).
+ * boundary ids to cells or faces (see
+ * @ref GlossMaterialId "this"
+ * and
+ * @ref GlossBoundaryIndicator "this"
+ * glossary entry for more information).
  *
  * @note Since deal.II only supports line, quadrilateral and hexahedral
  * meshes, the functions in this class can only read meshes that consist
index 152c0929fe536ea55a96186d33f1f1a54babe23b..75bc3b8c6dc04a6b1c064a1ee1b8c1a6be4c2d4d 100644 (file)
@@ -26,38 +26,37 @@ DEAL_II_NAMESPACE_OPEN
 
 
 /**
-  * @brief Tensor product manifold of two ChartManifolds.
-  *
-  * This manifold will combine the ChartManifolds @p A and @p B given in the
-  * constructor to form a new ChartManifold by building the tensor product
-  * $A\cross B$. The first @p spacedim_A
-  * dimensions in the real space and the first @p chartdim_A dimensions
-  * of the chart will be given by manifold @p A, while the remaining
-  * coordinates are given by @p B. The manifold is to be used by a
-  * <tt>Triangulation@<dim, space_dim_A+space_dim_B@></tt>.
-  *
-  * An example usage would be the combination of a SphericalManifold with
-  * space dimension 2 and a FlatManifold with space dimension 1 to form
-  * a cylindrical manifold.
-  *
-  * pull_back(), push_forward(), and push_forward_gradient() are implemented
-  * by splitting the input argument into inputs for @p A and @p B according
-  * to the given dimensions and applying the corresponding operations before
-  * concatenating the result.
-  *
-  * @note The dimension arguments @p dim_A and @p dim_B are not used.
-  *
-  * @tparam dim Dimension of cells (needs to match first template argument of
-  * the Triangulation to be attached to.
-  * @tparam dim_A Dimension of ChartManifold A.
-  * @tparam spacedim_A Spacial dimension of ChartManifold A.
-  * @tparam chartdim_A Chart dimension of ChartManifold A.
-  * @tparam dim_B Dimension of ChartManifold B.
-  * @tparam spacedim_B Spacial dimension of ChartManifold B.
-  * @tparam chartdim_B Chart dimension of ChartManifold B.
-  *
-  * @author Luca Heltai, Timo Heister, 2016
-  */
+ * @brief Tensor product manifold of two ChartManifolds.
+ *
+ * This manifold will combine the ChartManifolds @p A and @p B given in the
+ * constructor to form a new ChartManifold by building the tensor product
+ * $A\cross B$. The first @p spacedim_A dimensions in the real space and the
+ * first @p chartdim_A dimensions of the chart will be given by manifold @p A,
+ * while the remaining coordinates are given by @p B. The manifold is to be
+ * used by a <tt>Triangulation@<dim, space_dim_A+space_dim_B@></tt>.
+ *
+ * An example usage would be the combination of a SphericalManifold with space
+ * dimension 2 and a FlatManifold with space dimension 1 to form a cylindrical
+ * manifold.
+ *
+ * pull_back(), push_forward(), and push_forward_gradient() are implemented by
+ * splitting the input argument into inputs for @p A and @p B according to the
+ * given dimensions and applying the corresponding operations before
+ * concatenating the result.
+ *
+ * @note The dimension arguments @p dim_A and @p dim_B are not used.
+ *
+ * @tparam dim Dimension of cells (needs to match first template argument of
+ * the Triangulation to be attached to.
+ * @tparam dim_A Dimension of ChartManifold A.
+ * @tparam spacedim_A Spacial dimension of ChartManifold A.
+ * @tparam chartdim_A Chart dimension of ChartManifold A.
+ * @tparam dim_B Dimension of ChartManifold B.
+ * @tparam spacedim_B Spacial dimension of ChartManifold B.
+ * @tparam chartdim_B Chart dimension of ChartManifold B.
+ *
+ * @author Luca Heltai, Timo Heister, 2016
+ */
 template <int dim,
           int dim_A, int spacedim_A, int chartdim_A,
           int dim_B, int spacedim_B, int chartdim_B>
index 13e5fd6fc6d8a0665cde8c7dbab7aefcf457df72..74ef9ca22344ca0f053af6eb898b29d2b62a8116 100644 (file)
@@ -3081,27 +3081,27 @@ public:
 
 
   /**
-    * Declare the (coarse) face pairs given in the argument of this function
-    * as periodic. This way it it possible to obtain neighbors across periodic
-    * boundaries.
-    *
-    * The vector can be filled by the function
-    * GridTools::collect_periodic_faces.
-    *
-    * For more information on periodic boundary conditions see
-    * GridTools::collect_periodic_faces,
-    * DoFTools::make_periodicity_constraints and step-45.
-    *
-    * @note Before this function can be used the Triangulation has to be
-    * initialized and must not be refined.
-    */
+   * Declare the (coarse) face pairs given in the argument of this function as
+   * periodic. This way it it possible to obtain neighbors across periodic
+   * boundaries.
+   *
+   * The vector can be filled by the function
+   * GridTools::collect_periodic_faces.
+   *
+   * For more information on periodic boundary conditions see
+   * GridTools::collect_periodic_faces, DoFTools::make_periodicity_constraints
+   * and step-45.
+   *
+   * @note Before this function can be used the Triangulation has to be
+   * initialized and must not be refined.
+   */
   virtual void
   add_periodicity
   (const std::vector<GridTools::PeriodicFacePair<cell_iterator> > &);
 
   /**
-    * Return the periodic_face_map.
-    */
+   * Return the periodic_face_map.
+   */
   const std::map<std::pair<cell_iterator, unsigned int>,std::pair<std::pair<cell_iterator, unsigned int>, std::bitset<3> > > &
   get_periodic_face_map() const;
 
@@ -3219,11 +3219,11 @@ protected:
 
 private:
   /**
-    * If add_periodicity() is called, this variable stores the given
-    * periodic face pairs on level 0 for later access during the
-    * identification of ghost cells for the multigrid hierarchy and for
-    * setting up the periodic_face_map.
-    */
+   * If add_periodicity() is called, this variable stores the given periodic
+   * face pairs on level 0 for later access during the identification of ghost
+   * cells for the multigrid hierarchy and for setting up the
+   * periodic_face_map.
+   */
   std::vector<GridTools::PeriodicFacePair<cell_iterator> > periodic_face_pairs_level_0;
 
   /**
index 5f2f0a9e63f85f074e82223fd6e8d2854ee48b9d..5266f721e94de6ebaa558fbf1948c8db1ac7fc8f 100644 (file)
@@ -2524,7 +2524,8 @@ public:
 
   /**
    * For a cell with its @c ith face at a periodic boundary,
-   * (see @ref GlossPeriodicConstraints "the entry for periodic boundaries")
+   * see
+   * @ref GlossPeriodicConstraints "the entry for periodic boundaries",
    * this function returns an iterator to the cell on the other side
    * of the periodic boundary. If there is no periodic boundary at the @c ith
    * face, an exception will be thrown.
index 74d3aa19c5a9c2bc86bf1f94224056947650f50b..176afd707c31bbe811a8a386ffebe4338130178e 100644 (file)
@@ -378,34 +378,35 @@ namespace internal
 
 
     /**
-    * A dummy class for BlockLinearOperators that do not require any extensions
-    * to facilitate the operations of the block matrix or its subblocks.
-    *
-    * This is the Payload class typically associated with deal.II's native
-    * BlockSparseMatrix. To use Trilinos and PETSc BlockSparseMatrices it is
-    * necessary to initialize a BlockLinearOperator with their associated
-    * BlockPayload.
-    *
-    * @author Jean-Paul Pelteret, Matthias Maier, 2016
-    *
-    * @ingroup LAOperators
-    */
+     * A dummy class for BlockLinearOperators that do not require any
+     * extensions to facilitate the operations of the block matrix or its
+     * subblocks.
+     *
+     * This is the Payload class typically associated with deal.II's native
+     * BlockSparseMatrix. To use Trilinos and PETSc BlockSparseMatrices it is
+     * necessary to initialize a BlockLinearOperator with their associated
+     * BlockPayload.
+     *
+     * @author Jean-Paul Pelteret, Matthias Maier, 2016
+     *
+     * @ingroup LAOperators
+     */
     template<typename PayloadBlockType>
     class EmptyBlockPayload
     {
     public:
       /**
-      * Type of payload held by each subblock
-      */
+       * Type of payload held by each subblock
+       */
       typedef PayloadBlockType BlockType;
 
       /**
-      * Default constructor
-      *
-      * Since this class does not do anything in particular and needs no special
-      * configuration, we have only one generic constructor that can be called
-      * under any conditions.
-      */
+       * Default constructor
+       *
+       * Since this class does not do anything in particular and needs no
+       * special configuration, we have only one generic constructor that can
+       * be called under any conditions.
+       */
       template <typename... Args>
       EmptyBlockPayload (const Args &...)
       { }
index 0a0d6398920a97b7e3a0366c775e00ae331d982f..dec7308bd572499841ef2c53d898d7315084bab8 100644 (file)
@@ -54,7 +54,9 @@ template <typename number> class LAPACKFullMatrix;
  * @note Instantiations for this template are provided for <tt>@<float@>,
  * @<double@>, @<std::complex@<float@>@>,
  * @<std::complex@<double@>@></tt>. Others can be generated in application
- * programs (see the section on @ref Instantiations in the manual).
+ * programs, see
+ * @ref Instantiations
+ * for details.
  *
  * @author Guido Kanschat, Franz-Theo Suttmeier, Wolfgang Bangerth, 1993-2004
  */
index 1403d17d7a8bb419231abe2777c44a14365f2c52..59a39340f2e57dd4629008975aaed70bdbdfbe42 100644 (file)
@@ -921,36 +921,36 @@ namespace internal
 
 
     /**
-    * A dummy class for LinearOperators that do not require any extensions
-    * to facilitate the operations of the matrix.
-    *
-    * This is the Payload class typically associated with deal.II's native
-    * SparseMatrix. To use Trilinos and PETSc SparseMatrices it is necessary
-    * to initialize a LinearOperator with their associated Payload.
-    *
-    * @author Jean-Paul Pelteret, Matthias Maier, 2016
-    *
-    * @ingroup LAOperators
-    */
+     * A dummy class for LinearOperators that do not require any extensions to
+     * facilitate the operations of the matrix.
+     *
+     * This is the Payload class typically associated with deal.II's native
+     * SparseMatrix. To use Trilinos and PETSc SparseMatrices it is necessary
+     * to initialize a LinearOperator with their associated Payload.
+     *
+     * @author Jean-Paul Pelteret, Matthias Maier, 2016
+     *
+     * @ingroup LAOperators
+     */
     class EmptyPayload
     {
     public:
 
       /**
-      * Default constructor
-      *
-      * Since this class does not do anything in particular and needs no special
-      * configuration, we have only one generic constructor that can be called
-      * under any conditions.
-      */
+       * Default constructor
+       *
+       * Since this class does not do anything in particular and needs no
+       * special configuration, we have only one generic constructor that can
+       * be called under any conditions.
+       */
       template <typename... Args>
       EmptyPayload (const Args &...)
       { }
 
 
       /**
-      * Returns a payload configured for identity operations
-      */
+       * Returns a payload configured for identity operations
+       */
       EmptyPayload
       identity_payload () const
       {
@@ -959,8 +959,8 @@ namespace internal
 
 
       /**
-      * Returns a payload configured for null operations
-      */
+       * Returns a payload configured for null operations
+       */
       EmptyPayload
       null_payload () const
       {
@@ -969,8 +969,8 @@ namespace internal
 
 
       /**
-      * Returns a payload configured for transpose operations
-      */
+       * Returns a payload configured for transpose operations
+       */
       EmptyPayload
       transpose_payload () const
       {
@@ -979,8 +979,8 @@ namespace internal
 
 
       /**
-      * Returns a payload configured for inverse operations
-      */
+       * Returns a payload configured for inverse operations
+       */
       template <typename Solver, typename Preconditioner>
       EmptyPayload
       inverse_payload (Solver &, const Preconditioner &) const
@@ -990,9 +990,9 @@ namespace internal
     };
 
     /**
-    * Operator that returns a payload configured to support the
-    * addition of two LinearOperators
-    */
+     * Operator that returns a payload configured to support the addition of
+     * two LinearOperators
+     */
     inline
     EmptyPayload operator+(const EmptyPayload &,
                            const EmptyPayload &)
@@ -1001,9 +1001,9 @@ namespace internal
     }
 
     /**
-    * Operator that returns a payload configured to support the
-    * multiplication of two LinearOperators
-    */
+     * Operator that returns a payload configured to support the
+     * multiplication of two LinearOperators
+     */
     inline
     EmptyPayload operator*(const EmptyPayload &,
                            const EmptyPayload &)
index 20fe5e1a25f46919c2d696d3ad0e3f1749b1e758..d2e80e25153e709fa1334b43d5085e6ed11a4b7b 100644 (file)
@@ -864,14 +864,14 @@ private:
  *
  * For details on the algorithm, see section 5.1 of
  * @code{.bib}
- @Book{Varga2009,
-   Title       = {Matrix iterative analysis},
-   Author      = {Varga, R. S.},
-   Publisher   = {Springer},
-   Address     = {Berlin},
-   Edition     = {2nd},
-   Year        = {2009},
- }
@Book{Varga2009,
  Title       = {Matrix iterative analysis},
  Author      = {Varga, R. S.},
  Publisher   = {Springer},
  Address     = {Berlin},
  Edition     = {2nd},
  Year        = {2009},
}
  * @endcode
  *
  * <h4>Requirements on the templated classes</h4>
index 631ecec5c1e357920ea739aacc280c6057dbbbd3..520dc4a1983345b64b5a1615de5790c2ce38ee49 100644 (file)
@@ -213,12 +213,12 @@ namespace LinearAlgebra
     /**
      * Apply the functor @p func to each element of the vector. The functor
      * should look like
-     * <code>
+     * @code
      * struct Functor
      * {
      *    void operator() (Number &value);
      * };
-     * </code>
+     * @endcode
      *
      * @note This function requires C++11 and read_write_vector.templates.h
      * needs to be included.
index 8015170f971193e38ea4fea909c5659f79da290a..4864876808410fe4852bcf3a68922aec53fe44d0 100644 (file)
@@ -573,38 +573,38 @@ namespace TrilinosWrappers
     {
 
       /**
-      * This is an extension class to BlockLinearOperators for Trilinos
-      * block sparse matrices.
-      *
-      * @note This class does very little at the moment other than to check
-      * that the correct Payload type for each subblock has been chosen
-      * correctly. Further extensions to the class may be necessary in the
-      * future in order to add further functionality to BlockLinearOperators
-      * while retaining compatability with the Trilinos sparse matrix and
-      * preconditioner classes.
-      *
-      * @author Jean-Paul Pelteret, 2016
-      *
-      * @ingroup TrilinosWrappers
-      */
+       * This is an extension class to BlockLinearOperators for Trilinos block
+       * sparse matrices.
+       *
+       * @note This class does very little at the moment other than to check
+       * that the correct Payload type for each subblock has been chosen
+       * correctly. Further extensions to the class may be necessary in the
+       * future in order to add further functionality to BlockLinearOperators
+       * while retaining compatability with the Trilinos sparse matrix and
+       * preconditioner classes.
+       *
+       * @author Jean-Paul Pelteret, 2016
+       *
+       * @ingroup TrilinosWrappers
+       */
       template<typename PayloadBlockType>
       class TrilinosBlockPayload
       {
       public:
         /**
-        * Type of payload held by each subblock
-        */
+         * Type of payload held by each subblock
+         */
         typedef PayloadBlockType BlockType;
 
         /**
-        * Default constructor
-        *
-        * This simply checks that the payload for each block has been chosen
-        * correctly (i.e. is of type TrilinosPayload). Apart from this, this
-        * class does not do anything in particular and needs no special
-        * configuration, we have only one generic constructor that can be
-        * called under any conditions.
-        */
+         * Default constructor
+         *
+         * This simply checks that the payload for each block has been chosen
+         * correctly (i.e. is of type TrilinosPayload). Apart from this, this
+         * class does not do anything in particular and needs no special
+         * configuration, we have only one generic constructor that can be
+         * called under any conditions.
+         */
         template <typename... Args>
         TrilinosBlockPayload (const Args &...)
         {
index 7f89c783b87d42e1d96395740b2b8ea65e3b3453..b846247506a04bae729f0e63d90943d404dc2896 100644 (file)
@@ -310,8 +310,8 @@ namespace TrilinosWrappers
     void do_solve(const Preconditioner &preconditioner);
 
     /**
-    * A function that sets the preconditioner that the solver will apply
-    */
+     * A function that sets the preconditioner that the solver will apply
+     */
     template<typename Preconditioner>
     void set_preconditioner (AztecOO              &solver,
                              const Preconditioner &preconditioner);
index a97e48f8a0cc398bac68f7b8416c1109a77284e9..9009682b2b8b9f4bb7b707b1dbfa592f0ec9371e 100644 (file)
@@ -55,10 +55,10 @@ template <typename number> class Vector;
  */
 
 /**
-* A namespace in which wrapper classes for Trilinos objects reside.
-*
-* @ingroup TrilinosWrappers
-*/
+ * A namespace in which wrapper classes for Trilinos objects reside.
+ *
+ * @ingroup TrilinosWrappers
+ */
 namespace TrilinosWrappers
 {
   // forward declaration
index 6aa7a25da6ef0bf959097e03da65ecd0781a095a..4c63d2aa680940b147bb32c06efc262b2a35f21c 100644 (file)
@@ -121,7 +121,8 @@ struct VectorOperation
  * @note Instantiations for this template are provided for <tt>@<float@>,
  * @<double@>, @<std::complex@<float@>@>, @<std::complex@<double@>@></tt>;
  * others can be generated in application programs (see the section on
- * @ref Instantiations in the manual).
+ * @ref Instantiations
+ * in the manual).
  *
  * @author Guido Kanschat, Franz-Theo Suttmeier, Wolfgang Bangerth
  */
index 298ead3026529258697887333a0b8c37268ee4d1..485e130fc36640cf0c56746239bc556f5d1b1b54 100644 (file)
@@ -122,7 +122,8 @@ DEAL_II_NAMESPACE_OPEN
  * @note Instantiations for this template are provided for <tt>@<float@>,
  * @<double@>, @<std::complex@<float@>@>, @<std::complex@<double@>@></tt>;
  * others can be generated in application programs (see the section on
- * @ref Instantiations in the manual).
+ * @ref Instantiations
+ * in the manual).
  *
  * @author Luca Heltai, 2009
  */
index 3e9c6b8db50348bff992b64167a2e34a6dc569d3..c03216c089bab7758744a41c87585e6c0e8c34f9 100644 (file)
@@ -568,9 +568,11 @@ public:
    * component is to be used.
    *
    * For the vectors used with MatrixFree and in FEEvaluation, a vector needs
-   * to hold all @ref GlossLocallyActiveDof "locally active DoFs" and also
-   * some of the @ref GlossLocallyRelevantDof "locally relevant DoFs". The
-   * selection of DoFs is such that one can read all degrees of freedom on all
+   * to hold all
+   * @ref GlossLocallyActiveDof "locally active DoFs"
+   * and also some of the
+   * @ref GlossLocallyRelevantDof "locally relevant DoFs".
+   * The selection of DoFs is such that one can read all degrees of freedom on all
    * locally relevant elements (locally active) plus the degrees of freedom
    * that contraints expand into from the locally owned cells. However, not
    * all locally relevant DoFs are stored because most of them would never be
@@ -590,9 +592,11 @@ public:
    * component is to be used.
    *
    * For the vectors used with MatrixFree and in FEEvaluation, a vector needs
-   * to hold all @ref GlossLocallyActiveDof "locally active DoFs" and also
-   * some of the @ref GlossLocallyRelevantDof "locally relevant DoFs". The
-   * selection of DoFs is such that one can read all degrees of freedom on all
+   * to hold all
+   * @ref GlossLocallyActiveDof "locally active DoFs"
+   * and also some of the
+   * @ref GlossLocallyRelevantDof "locally relevant DoFs".
+   * The selection of DoFs is such that one can read all degrees of freedom on all
    * locally relevant elements (locally active) plus the degrees of freedom
    * that contraints expand into from the locally owned cells. However, not
    * all locally relevant DoFs are stored because most of them would never be
@@ -894,7 +898,9 @@ public:
    * of a list of vectors. Multiple threads will each get a separate storage
    * field and separate vectors, ensuring thread safety. The mechanism to
    * acquire and release objects is similar to the mechanisms used for the
-   * local contributions of WorkStream, see @ref workstream_paper.
+   * local contributions of WorkStream, see
+   * @ref workstream_paper "the WorkStream paper"
+   * .
    */
   AlignedVector<VectorizedArray<Number> > *acquire_scratch_data() const;
 
index a561ce1530e7e3a2d9c1d8b4f054c555b94e6bc7..f14bc021ba123ce4f5fc345e740c478cb1e16e95 100644 (file)
@@ -444,8 +444,9 @@ namespace MatrixFreeOperators
    * coupling over the multigrid interface needs to be taken into account.
    * This is done by the so-called interface (or edge) matrices that compute
    * the part of the residual that is missed by the level matrix with
-   * homogeneous Dirichlet conditions. We refer to the @ref mg_paper
-   * "Multigrid paper by Janssen and Kanschat" for more details.
+   * homogeneous Dirichlet conditions. We refer to the
+   * @ref mg_paper "Multigrid paper by Janssen and Kanschat"
+   * for more details.
    *
    * For the implementation of those interface matrices, most infrastructure
    * is already in place and provided by MatrixFreeOperators::Base through the
index 732e9472a2e5910f4e74cea544e2e047497bfde9..5282f4ee639d81abc8bc77254f224aa0e8ca7ff4 100644 (file)
@@ -211,10 +211,10 @@ namespace MeshWorker
       std::vector<SmartPointer<MatrixType,MatrixSimple<MatrixType> > > matrix;
 
       /**
-        * The smallest positive number that will be entered into the global
-        * matrix. All smaller absolute values will be treated as zero and will
-        * not be assembled.
-        */
+       * The smallest positive number that will be entered into the global
+       * matrix. All smaller absolute values will be treated as zero and will
+       * not be assembled.
+       */
       const double threshold;
 
     private:
@@ -462,9 +462,9 @@ namespace MeshWorker
 
     private:
       /**
-        * Assemble a single matrix <code>M</code> into the element at
-        * <code>index</code> in the vector #matrix.
-        */
+       * Assemble a single matrix <code>M</code> into the element at
+       * <code>index</code> in the vector #matrix.
+       */
       void assemble(const FullMatrix<double> &M,
                     const Vector<double> &vector,
                     const unsigned int index,
index 1d89b1bfe2c2878fb6cc081ff069b83d95f2ae02..2796a95db87364493a1b21c99a5f5ec3bc515d83 100644 (file)
@@ -204,13 +204,12 @@ namespace MGTools
                       const ComponentMask               &component_mask = ComponentMask());
 
   /**
-  * The same function as above, but return an IndexSet rather than a
-  * std::set<unsigned int> on each level and use a std::set of
-  * boundary_ids as input.
-  *
-  * Previous content in @p boundary_indices is not overwritten,
-  * but added to.
-  */
+   * The same function as above, but return an IndexSet rather than a
+   * std::set<unsigned int> on each level and use a std::set of boundary_ids
+   * as input.
+   *
+   * Previous content in @p boundary_indices is not overwritten, but added to.
+   */
   template <int dim, int spacedim>
   void
   make_boundary_list (const DoFHandler<dim,spacedim>      &mg_dof,
index 50a7db5a860086172477defa250f21db046e0225..30e751f574350042bbc9e4c8650166b2593cb812 100644 (file)
@@ -968,11 +968,11 @@ namespace VectorTools
 
 
     /**
-      * Helper interface. After figuring out the number of components
-      * in project_matrix_free_component, we determine the degree of the
-      * FiniteElement and call project_matrix_free with the appropriate
-      * template arguments.
-      */
+     * Helper interface. After figuring out the number of components in
+     * project_matrix_free_component, we determine the degree of the
+     * FiniteElement and call project_matrix_free with the appropriate
+     * template arguments.
+     */
     template <int components, int dim, typename Number, int spacedim>
     void project_matrix_free_degree
     (const Mapping<dim, spacedim>               &mapping,
index 9c80108f8c3d48efcb435604b5481875b5bfe6ce..75a7a4e0e4ef0849757a2a0fb3fd8b15d4a95988 100644 (file)
@@ -42,7 +42,7 @@ namespace Physics
      * 0 case, where the metric tensor is the identity tensor.
      *
      * @author Jean-Paul Pelteret, Andrew McBride, 2016
-    */
+     */
     namespace Kinematics
     {
 
index 91c4ec3734d079488d2d3d983d81b62ae9bdc03e..e34f1784a1157eb00e21b4fcf70899ae46aac270 100644 (file)
@@ -41,7 +41,7 @@ namespace Physics
      * @relates Tensor
      * @relates SymmetricTensor
      * @author Jean-Paul Pelteret, Andrew McBride, 2016
-    */
+     */
     template <int dim>
     class StandardTensors
     {
index e7e6ebff06b3734fcf7c1b48d3ead42e5e687daf..a8a377b083c48cf9caf85a76cfaaffba4d402f21 100644 (file)
@@ -34,7 +34,7 @@ namespace Physics
      * rotation angles and axes of rotation.
      *
      * @author Jean-Paul Pelteret, 2017
-    */
+     */
     namespace Rotations
     {
       /**
@@ -43,52 +43,53 @@ namespace Physics
 //@{
 
       /**
-      * Returns the rotation matrix for 2-d Euclidean space, namely
-      * @f[
-      *  \mathbf{R} := \left[ \begin{array}{cc}
-      *  cos(\theta) & sin(\theta) \\
-      *  -sin(\theta) & cos(\theta)
-      * \end{array}\right]
-      * @f]
-      * where $\theta$ is the rotation angle given in radians.
-      * In particular, this describes the counter-clockwise rotation of a vector
-      * relative to a
-      * <a href="http://mathworld.wolfram.com/RotationMatrix.html">fixed set of right-handed axes</a>.
-      *
-      * @param[in] angle The rotation angle (about the z-axis) in radians
-      */
+       * Returns the rotation matrix for 2-d Euclidean space, namely
+       * @f[
+       *  \mathbf{R} := \left[ \begin{array}{cc}
+       *  cos(\theta) & sin(\theta) \\
+       *  -sin(\theta) & cos(\theta)
+       * \end{array}\right]
+       * @f]
+       * where $\theta$ is the rotation angle given in radians. In particular,
+       * this describes the counter-clockwise rotation of a vector relative to
+       * a <a href="http://mathworld.wolfram.com/RotationMatrix.html">fixed
+       * set of right-handed axes</a>.
+       *
+       * @param[in] angle The rotation angle (about the z-axis) in radians
+       */
       template<typename Number>
       Tensor<2,2,Number>
       rotation_matrix_2d (const Number &angle);
 
 
       /**
-      * Returns the rotation matrix for 3-d Euclidean space.
-      * Most concisely stated using the Rodrigues' rotation formula, this
-      * function returns the equivalent of
-      * @f[
-      *  \mathbf{R} := cos(\theta)\mathbf{I} + sin(\theta)\mathbf{W}
-      *              + (1-cos(\theta))\mathbf{u}\otimes\mathbf{u}
-      * @f]
-      * where $\mathbf{u}$ is the axial vector (an axial vector) and $\theta$
-      * is the rotation angle given in radians, $\mathbf{I}$ is the identity
-      * tensor and $\mathbf{W}$ is the skew symmetric tensor of $\mathbf{u}$.
-      *
-      * @dealiiWriggersA{374,9.194}
-      * This presents Rodrigues' rotation formula, but the implementation used
-      * in this function is described in this
-      * <a href="https://en.wikipedia.org/wiki/Rotation_matrix#Rotation_matrix_from_axis_and_angle">wikipedia link</a>.
-      * In particular, this describes the counter-clockwise rotation of a vector
-      * <a href="http://mathworld.wolfram.com/RotationMatrix.html">in a plane with its normal</a>.
-      * defined by the @p axis of rotation.
-      * An alternative implementation is discussed at
-      * <a href="https://www.gamedev.net/resources/_/technical/math-and-physics/do-we-really-need-quaternions-r1199">this link</a>,
-      * but is inconsistent (sign-wise) with the Rodrigues' rotation formula as
-      * it describes the rotation of a coordinate system.
-      *
-      * @param[in] axis  A unit vector that defines the axis of rotation
-      * @param[in] angle The rotation angle in radians
-      */
+       * Returns the rotation matrix for 3-d Euclidean space. Most concisely
+       * stated using the Rodrigues' rotation formula, this function returns
+       * the equivalent of
+       * @f[
+       *  \mathbf{R} := cos(\theta)\mathbf{I} + sin(\theta)\mathbf{W}
+       *              + (1-cos(\theta))\mathbf{u}\otimes\mathbf{u}
+       * @f]
+       * where $\mathbf{u}$ is the axial vector (an axial vector) and $\theta$
+       * is the rotation angle given in radians, $\mathbf{I}$ is the identity
+       * tensor and $\mathbf{W}$ is the skew symmetric tensor of $\mathbf{u}$.
+       *
+       * @dealiiWriggersA{374,9.194} This presents Rodrigues' rotation
+       * formula, but the implementation used in this function is described in
+       * this <a
+       * href="https://en.wikipedia.org/wiki/Rotation_matrix#Rotation_matrix_from_axis_and_angle">wikipedia
+       * link</a>. In particular, this describes the counter-clockwise
+       * rotation of a vector <a
+       * href="http://mathworld.wolfram.com/RotationMatrix.html">in a plane
+       * with its normal</a>. defined by the @p axis of rotation. An
+       * alternative implementation is discussed at <a
+       * href="https://www.gamedev.net/resources/_/technical/math-and-physics/do-we-really-need-quaternions-r1199">this
+       * link</a>, but is inconsistent (sign-wise) with the Rodrigues'
+       * rotation formula as it describes the rotation of a coordinate system.
+       *
+       * @param[in] axis  A unit vector that defines the axis of rotation
+       * @param[in] angle The rotation angle in radians
+       */
       template<typename Number>
       Tensor<2,3,Number>
       rotation_matrix_3d (const Point<3,Number> &axis,
@@ -101,8 +102,8 @@ namespace Physics
     /**
      * Transformation of tensors that are defined in terms of a set of
      * contravariant bases. Rank-1 and rank-2 contravariant tensors
-     * $\left(\bullet\right)^{\sharp} = \mathbf{T}$ (and its spatial counterpart
-     * $\mathbf{t}$) typically satisfy the relation
+     * $\left(\bullet\right)^{\sharp} = \mathbf{T}$ (and its spatial
+     * counterpart $\mathbf{t}$) typically satisfy the relation
      * @f[
      *    \int_{V_{0}} \nabla_{0} \cdot \mathbf{T} \; dV
      *      = \int_{\partial V_{0}} \mathbf{T} \cdot \mathbf{N} \; dA
@@ -110,12 +111,12 @@ namespace Physics
      *      = \int_{V_{t}} \nabla \cdot \mathbf{t} \; dv
      * @f]
      * where $V_{0}$ and $V_{t}$ are respectively control volumes in the
-     * reference and spatial configurations, and their surfaces $\partial V_{0}$
-     * and $\partial V_{t}$ have the outwards facing normals $\mathbf{N}$ and
-     * $\mathbf{n}$.
+     * reference and spatial configurations, and their surfaces $\partial
+     * V_{0}$ and $\partial V_{t}$ have the outwards facing normals
+     * $\mathbf{N}$ and $\mathbf{n}$.
      *
      * @author Jean-Paul Pelteret, Andrew McBride, 2016
-    */
+     */
     namespace Contravariant
     {
 
@@ -125,85 +126,92 @@ namespace Physics
 //@{
 
       /**
-      * Returns the result of the push forward transformation on a
-      * contravariant vector, i.e.
-      * @f[
-      *  \chi\left(\bullet\right)^{\sharp}
-      *    := \mathbf{F} \cdot \left(\bullet\right)^{\sharp}
-      * @f]
-      *
-      * @param[in] V The (referential) vector to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{V} \right)$
-      */
+       * Returns the result of the push forward transformation on a
+       * contravariant vector, i.e.
+       * @f[
+       *  \chi\left(\bullet\right)^{\sharp}
+       *    := \mathbf{F} \cdot \left(\bullet\right)^{\sharp}
+       * @f]
+       *
+       * @param[in] V The (referential) vector to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{V} \right)$
+       */
       template <int dim, typename Number>
       Tensor<1,dim,Number>
       push_forward (const Tensor<1,dim,Number> &V,
                     const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-2
-      * contravariant tensor, i.e.
-      * @f[
-      *  \chi\left(\bullet\right)^{\sharp}
-      *    := \mathbf{F} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{T}
-      * @f]
-      *
-      * @param[in] T The (referential) rank-2 tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{T} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-2
+       * contravariant tensor, i.e.
+       * @f[
+       *  \chi\left(\bullet\right)^{\sharp}
+       *    := \mathbf{F} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{T}
+       * @f]
+       *
+       * @param[in] T The (referential) rank-2 tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{T} \right)$
+       */
       template <int dim, typename Number>
       Tensor<2,dim,Number>
       push_forward (const Tensor<2,dim,Number> &T,
                     const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-2
-      * contravariant symmetric tensor, i.e.
-      * @f[
-      *  \chi\left(\bullet\right)^{\sharp}
-      *    := \mathbf{F} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{T}
-      * @f]
-      *
-      * @param[in] T The (referential) rank-2 symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{T} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-2
+       * contravariant symmetric tensor, i.e.
+       * @f[
+       *  \chi\left(\bullet\right)^{\sharp}
+       *    := \mathbf{F} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{T}
+       * @f]
+       *
+       * @param[in] T The (referential) rank-2 symmetric tensor to be operated
+       * on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{T} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<2,dim,Number>
       push_forward (const SymmetricTensor<2,dim,Number> &T,
                     const Tensor<2,dim,Number>          &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-4
-      * contravariant tensor, i.e. (in index notation)
-      * @f[
-      *  \left[ \chi\left(\bullet\right)^{\sharp} \right]_{ijkl}
-      *    := F_{iI} F_{jJ} \left(\bullet\right)^{\sharp}_{IJKL} F_{kK} F_{lL}
-      * @f]
-      *
-      * @param[in] H The (referential) rank-4 tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{H} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-4
+       * contravariant tensor, i.e. (in index notation)
+       * @f[
+       *  \left[ \chi\left(\bullet\right)^{\sharp} \right]_{ijkl}
+       *    := F_{iI} F_{jJ} \left(\bullet\right)^{\sharp}_{IJKL} F_{kK} F_{lL}
+       * @f]
+       *
+       * @param[in] H The (referential) rank-4 tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{H} \right)$
+       */
       template <int dim, typename Number>
       Tensor<4,dim,Number>
       push_forward (const Tensor<4,dim,Number> &H,
                     const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-4
-      * contravariant symmetric tensor, i.e. (in index notation)
-      * @f[
-      *  \left[ \chi\left(\bullet\right)^{\sharp} \right]_{ijkl}
-      *    := F_{iI} F_{jJ} \left(\bullet\right)^{\sharp}_{IJKL} F_{kK} F_{lL}
-      * @f]
-      *
-      * @param[in] H The (referential) rank-4 symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{H} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-4
+       * contravariant symmetric tensor, i.e. (in index notation)
+       * @f[
+       *  \left[ \chi\left(\bullet\right)^{\sharp} \right]_{ijkl}
+       *    := F_{iI} F_{jJ} \left(\bullet\right)^{\sharp}_{IJKL} F_{kK} F_{lL}
+       * @f]
+       *
+       * @param[in] H The (referential) rank-4 symmetric tensor to be operated
+       * on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{H} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<4,dim,Number>
       push_forward (const SymmetricTensor<4,dim,Number> &H,
@@ -217,85 +225,90 @@ namespace Physics
 //@{
 
       /**
-      * Returns the result of the pull back transformation on a
-      * contravariant vector, i.e.
-      * @f[
-      *  \chi^{-1}\left(\bullet\right)^{\sharp}
-      *    := \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp}
-      * @f]
-      *
-      * @param[in] v The (spatial) vector to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{v} \right)$
-      */
+       * Returns the result of the pull back transformation on a contravariant
+       * vector, i.e.
+       * @f[
+       *  \chi^{-1}\left(\bullet\right)^{\sharp}
+       *    := \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp}
+       * @f]
+       *
+       * @param[in] v The (spatial) vector to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{v} \right)$
+       */
       template <int dim, typename Number>
       Tensor<1,dim,Number>
       pull_back (const Tensor<1,dim,Number> &v,
                  const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-2
-      * contravariant tensor, i.e.
-      * @f[
-      *  \chi^{-1}\left(\bullet\right)^{\sharp}
-      *    := \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{-T}
-      * @f]
-      *
-      * @param[in] t The (spatial) tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{t} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-2
+       * contravariant tensor, i.e.
+       * @f[
+       *  \chi^{-1}\left(\bullet\right)^{\sharp}
+       *    := \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{-T}
+       * @f]
+       *
+       * @param[in] t The (spatial) tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{t} \right)$
+       */
       template <int dim, typename Number>
       Tensor<2,dim,Number>
       pull_back (const Tensor<2,dim,Number> &t,
                  const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-2
-      * contravariant symmetric tensor, i.e.
-      * @f[
-      *  \chi^{-1}\left(\bullet\right)^{\sharp}
-      *    := \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{-T}
-      * @f]
-      *
-      * @param[in] t The (spatial) symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{t} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-2
+       * contravariant symmetric tensor, i.e.
+       * @f[
+       *  \chi^{-1}\left(\bullet\right)^{\sharp}
+       *    := \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{-T}
+       * @f]
+       *
+       * @param[in] t The (spatial) symmetric tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{t} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<2,dim,Number>
       pull_back (const SymmetricTensor<2,dim,Number> &t,
                  const Tensor<2,dim,Number>          &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-4
-      * contravariant tensor, i.e. (in index notation)
-      * @f[
-      *  \left[ \chi^{-1}\left(\bullet\right)^{\sharp} \right]_{IJKL}
-      *    := F^{-1}_{Ii} F^{-1}_{Jj} \left(\bullet\right)^{\sharp}_{ijkl} F^{-1}_{Kk} F^{-1}_{Ll}
-      * @f]
-      *
-      * @param[in] h The (spatial) tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{h} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-4
+       * contravariant tensor, i.e. (in index notation)
+       * @f[
+       *  \left[ \chi^{-1}\left(\bullet\right)^{\sharp} \right]_{IJKL}
+       *    := F^{-1}_{Ii} F^{-1}_{Jj} \left(\bullet\right)^{\sharp}_{ijkl} F^{-1}_{Kk} F^{-1}_{Ll}
+       * @f]
+       *
+       * @param[in] h The (spatial) tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{h} \right)$
+       */
       template <int dim, typename Number>
       Tensor<4,dim,Number>
       pull_back (const Tensor<4,dim,Number> &h,
                  const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-4
-      * contravariant symmetric tensor, i.e. (in index notation)
-      * @f[
-      *  \left[ \chi^{-1}\left(\bullet\right)^{\sharp} \right]_{IJKL}
-      *    := F^{-1}_{Ii} F^{-1}_{Jj} \left(\bullet\right)^{\sharp}_{ijkl} F^{-1}_{Kk} F^{-1}_{Ll}
-      * @f]
-      *
-      * @param[in] h The (spatial) symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{h} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-4
+       * contravariant symmetric tensor, i.e. (in index notation)
+       * @f[
+       *  \left[ \chi^{-1}\left(\bullet\right)^{\sharp} \right]_{IJKL}
+       *    := F^{-1}_{Ii} F^{-1}_{Jj} \left(\bullet\right)^{\sharp}_{ijkl} F^{-1}_{Kk} F^{-1}_{Ll}
+       * @f]
+       *
+       * @param[in] h The (spatial) symmetric tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{h} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<4,dim,Number>
       pull_back (const SymmetricTensor<4,dim,Number> &h,
@@ -307,8 +320,8 @@ namespace Physics
     /**
      * Transformation of tensors that are defined in terms of a set of
      * covariant basis vectors. Rank-1 and rank-2 covariant tensors
-     * $\left(\bullet\right)^{\flat} = \mathbf{T}$ (and its spatial counterpart
-     * $\mathbf{t}$) typically satisfy the relation
+     * $\left(\bullet\right)^{\flat} = \mathbf{T}$ (and its spatial
+     * counterpart $\mathbf{t}$) typically satisfy the relation
      * @f[
      *    \int_{\partial V_{0}} \left[ \nabla_{0} \times \mathbf{T} \right] \cdot \mathbf{N} \; dA
      *      = \oint_{\partial A_{0}} \mathbf{T} \cdot \mathbf{L} \; dL
@@ -316,12 +329,13 @@ namespace Physics
      *      = \int_{\partial V_{t}} \left[ \nabla \times \mathbf{t} \right] \cdot \mathbf{n} \; da
      * @f]
      * where the control surfaces $\partial V_{0}$ and $\partial V_{t}$ with
-     * outwards facing normals $\mathbf{N}$ and $\mathbf{n}$ are bounded by the
-     * curves $\partial A_{0}$ and $\partial A_{0}$ that are, respectively,
-     * associated with the line directors $\mathbf{L}$ and $\mathbf{l}$.
+     * outwards facing normals $\mathbf{N}$ and $\mathbf{n}$ are bounded by
+     * the curves $\partial A_{0}$ and $\partial A_{0}$ that are,
+     * respectively, associated with the line directors $\mathbf{L}$ and
+     * $\mathbf{l}$.
      *
      * @author Jean-Paul Pelteret, Andrew McBride, 2016
-    */
+     */
     namespace Covariant
     {
 
@@ -331,85 +345,92 @@ namespace Physics
 //@{
 
       /**
-      * Returns the result of the push forward transformation on a covariant
-      * vector, i.e.
-      * @f[
-      *  \chi\left(\bullet\right)^{\flat}
-      *    := \mathbf{F}^{-T} \cdot \left(\bullet\right)^{\flat}
-      * @f]
-      *
-      * @param[in] V The (referential) vector to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{V} \right)$
-      */
+       * Returns the result of the push forward transformation on a covariant
+       * vector, i.e.
+       * @f[
+       *  \chi\left(\bullet\right)^{\flat}
+       *    := \mathbf{F}^{-T} \cdot \left(\bullet\right)^{\flat}
+       * @f]
+       *
+       * @param[in] V The (referential) vector to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{V} \right)$
+       */
       template <int dim, typename Number>
       Tensor<1,dim,Number>
       push_forward (const Tensor<1,dim,Number> &V,
                     const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-2
-      * covariant tensor, i.e.
-      * @f[
-      *  \chi\left(\bullet\right)^{\flat}
-      *    := \mathbf{F}^{-T} \cdot \left(\bullet\right)^{\flat} \cdot \mathbf{F}^{-1}
-      * @f]
-      *
-      * @param[in] T The (referential) rank-2 tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{T} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-2
+       * covariant tensor, i.e.
+       * @f[
+       *  \chi\left(\bullet\right)^{\flat}
+       *    := \mathbf{F}^{-T} \cdot \left(\bullet\right)^{\flat} \cdot \mathbf{F}^{-1}
+       * @f]
+       *
+       * @param[in] T The (referential) rank-2 tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{T} \right)$
+       */
       template <int dim, typename Number>
       Tensor<2,dim,Number>
       push_forward (const Tensor<2,dim,Number> &T,
                     const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-2
-      * covariant symmetric tensor, i.e.
-      * @f[
-      *  \chi\left(\bullet\right)^{\flat}
-      *    := \mathbf{F}^{-T} \cdot \left(\bullet\right)^{\flat} \cdot \mathbf{F}^{-1}
-      * @f]
-      *
-      * @param[in] T The (referential) rank-2 symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{T} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-2
+       * covariant symmetric tensor, i.e.
+       * @f[
+       *  \chi\left(\bullet\right)^{\flat}
+       *    := \mathbf{F}^{-T} \cdot \left(\bullet\right)^{\flat} \cdot \mathbf{F}^{-1}
+       * @f]
+       *
+       * @param[in] T The (referential) rank-2 symmetric tensor to be operated
+       * on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{T} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<2,dim,Number>
       push_forward (const SymmetricTensor<2,dim,Number> &T,
                     const Tensor<2,dim,Number>          &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-4
-      * covariant tensor, i.e. (in index notation)
-      * @f[
-      *  \left[ \chi\left(\bullet\right)^{\flat} \right]_{ijkl}
-      *    := F^{-T}_{iI} F^{-T}_{jJ} \left(\bullet\right)^{\flat}_{IJKL} F^{-T}_{kK} F^{-T}_{lL}
-      * @f]
-      *
-      * @param[in] H The (referential) rank-4 tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{H} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-4
+       * covariant tensor, i.e. (in index notation)
+       * @f[
+       *  \left[ \chi\left(\bullet\right)^{\flat} \right]_{ijkl}
+       *    := F^{-T}_{iI} F^{-T}_{jJ} \left(\bullet\right)^{\flat}_{IJKL} F^{-T}_{kK} F^{-T}_{lL}
+       * @f]
+       *
+       * @param[in] H The (referential) rank-4 tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{H} \right)$
+       */
       template <int dim, typename Number>
       Tensor<4,dim,Number>
       push_forward (const Tensor<4,dim,Number> &H,
                     const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-4
-      * covariant symmetric tensor, i.e. (in index notation)
-      * @f[
-      *  \left[ \chi\left(\bullet\right)^{\flat} \right]_{ijkl}
-      *    := F^{-T}_{iI} F^{-T}_{jJ} \left(\bullet\right)^{\flat}_{IJKL} F^{-T}_{kK} F^{-T}_{lL}
-      * @f]
-      *
-      * @param[in] H The (referential) rank-4 symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi\left( \mathbf{H} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-4
+       * covariant symmetric tensor, i.e. (in index notation)
+       * @f[
+       *  \left[ \chi\left(\bullet\right)^{\flat} \right]_{ijkl}
+       *    := F^{-T}_{iI} F^{-T}_{jJ} \left(\bullet\right)^{\flat}_{IJKL} F^{-T}_{kK} F^{-T}_{lL}
+       * @f]
+       *
+       * @param[in] H The (referential) rank-4 symmetric tensor to be operated
+       * on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi\left( \mathbf{H} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<4,dim,Number>
       push_forward (const SymmetricTensor<4,dim,Number> &H,
@@ -423,85 +444,90 @@ namespace Physics
 //@{
 
       /**
-      * Returns the result of the pull back transformation on a
-      * covariant vector, i.e.
-      * @f[
-      *  \chi^{-1}\left(\bullet\right)^{\flat}
-      *    := \mathbf{F}^{T} \cdot \left(\bullet\right)^{\flat}
-      * @f]
-      *
-      * @param[in] v The (spatial) vector to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{v} \right)$
-      */
+       * Returns the result of the pull back transformation on a covariant
+       * vector, i.e.
+       * @f[
+       *  \chi^{-1}\left(\bullet\right)^{\flat}
+       *    := \mathbf{F}^{T} \cdot \left(\bullet\right)^{\flat}
+       * @f]
+       *
+       * @param[in] v The (spatial) vector to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{v} \right)$
+       */
       template <int dim, typename Number>
       Tensor<1,dim,Number>
       pull_back (const Tensor<1,dim,Number> &v,
                  const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-2
-      * covariant tensor, i.e.
-      * @f[
-      *  \chi^{-1}\left(\bullet\right)^{\flat}
-      *    := \mathbf{F}^{T} \cdot \left(\bullet\right)^{\flat} \cdot \mathbf{F}
-      * @f]
-      *
-      * @param[in] t The (spatial) tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{t} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-2
+       * covariant tensor, i.e.
+       * @f[
+       *  \chi^{-1}\left(\bullet\right)^{\flat}
+       *    := \mathbf{F}^{T} \cdot \left(\bullet\right)^{\flat} \cdot \mathbf{F}
+       * @f]
+       *
+       * @param[in] t The (spatial) tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{t} \right)$
+       */
       template <int dim, typename Number>
       Tensor<2,dim,Number>
       pull_back (const Tensor<2,dim,Number> &t,
                  const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-2
-      * covariant symmetric tensor, i.e.
-      * @f[
-      *  \chi^{-1}\left(\bullet\right)^{\flat}
-      *    := \mathbf{F}^{T} \cdot \left(\bullet\right)^{\flat} \cdot \mathbf{F}
-      * @f]
-      *
-      * @param[in] t The (spatial) symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{t} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-2
+       * covariant symmetric tensor, i.e.
+       * @f[
+       *  \chi^{-1}\left(\bullet\right)^{\flat}
+       *    := \mathbf{F}^{T} \cdot \left(\bullet\right)^{\flat} \cdot \mathbf{F}
+       * @f]
+       *
+       * @param[in] t The (spatial) symmetric tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{t} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<2,dim,Number>
       pull_back (const SymmetricTensor<2,dim,Number> &t,
                  const Tensor<2,dim,Number>          &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-4
-      * contravariant tensor, i.e. (in index notation)
-      * @f[
-      *  \left[ \chi^{-1}\left(\bullet\right)^{\flat} \right]_{IJKL}
-      *    := F^{T}_{Ii} F^{T}_{Jj} \left(\bullet\right)^{\flat}_{ijkl} F^{T}_{Kk} F^{T}_{Ll}
-      * @f]
-      *
-      * @param[in] h The (spatial) tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{h} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-4
+       * contravariant tensor, i.e. (in index notation)
+       * @f[
+       *  \left[ \chi^{-1}\left(\bullet\right)^{\flat} \right]_{IJKL}
+       *    := F^{T}_{Ii} F^{T}_{Jj} \left(\bullet\right)^{\flat}_{ijkl} F^{T}_{Kk} F^{T}_{Ll}
+       * @f]
+       *
+       * @param[in] h The (spatial) tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{h} \right)$
+       */
       template <int dim, typename Number>
       Tensor<4,dim,Number>
       pull_back (const Tensor<4,dim,Number> &h,
                  const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-4
-      * contravariant symmetric tensor, i.e. (in index notation)
-      * @f[
-      *  \left[ \chi^{-1}\left(\bullet\right)^{\flat} \right]_{IJKL}
-      *    := F^{T}_{Ii} F^{T}_{Jj} \left(\bullet\right)^{\flat}_{ijkl} F^{T}_{Kk} F^{T}_{Ll}
-      * @f]
-      *
-      * @param[in] h The (spatial) symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\chi^{-1}\left( \mathbf{h} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-4
+       * contravariant symmetric tensor, i.e. (in index notation)
+       * @f[
+       *  \left[ \chi^{-1}\left(\bullet\right)^{\flat} \right]_{IJKL}
+       *    := F^{T}_{Ii} F^{T}_{Jj} \left(\bullet\right)^{\flat}_{ijkl} F^{T}_{Kk} F^{T}_{Ll}
+       * @f]
+       *
+       * @param[in] h The (spatial) symmetric tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\chi^{-1}\left( \mathbf{h} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<4,dim,Number>
       pull_back (const SymmetricTensor<4,dim,Number> &h,
@@ -516,7 +542,7 @@ namespace Physics
      * change associated with the mapping.
      *
      * @author Jean-Paul Pelteret, Andrew McBride, 2016
-    */
+     */
     namespace Piola
     {
 
@@ -526,85 +552,97 @@ namespace Physics
 //@{
 
       /**
-      * Returns the result of the push forward transformation on a
-      * contravariant vector, i.e.
-      * @f[
-      *  \textrm{det} \mathbf{F}^{-1} \; \chi\left(\bullet\right)^{\sharp}
-      *    := \frac{1}{\textrm{det} \mathbf{F}} \; \mathbf{F} \cdot \left(\bullet\right)^{\sharp}
-      * @f]
-      *
-      * @param[in] V The (referential) vector to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left( \mathbf{V} \right)$
-      */
+       * Returns the result of the push forward transformation on a
+       * contravariant vector, i.e.
+       * @f[
+       *  \textrm{det} \mathbf{F}^{-1} \; \chi\left(\bullet\right)^{\sharp}
+       *    := \frac{1}{\textrm{det} \mathbf{F}} \; \mathbf{F} \cdot \left(\bullet\right)^{\sharp}
+       * @f]
+       *
+       * @param[in] V The (referential) vector to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left(
+       * \mathbf{V} \right)$
+       */
       template <int dim, typename Number>
       Tensor<1,dim,Number>
       push_forward (const Tensor<1,dim,Number> &V,
                     const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-2
-      * contravariant tensor, i.e.
-      * @f[
-      *  \textrm{det} \mathbf{F}^{-1} \; \chi\left(\bullet\right)^{\sharp}
-      *    := \frac{1}{\textrm{det} \mathbf{F}} \; \mathbf{F} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{T}
-      * @f]
-      *
-      * @param[in] T The (referential) rank-2 tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left( \mathbf{T} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-2
+       * contravariant tensor, i.e.
+       * @f[
+       *  \textrm{det} \mathbf{F}^{-1} \; \chi\left(\bullet\right)^{\sharp}
+       *    := \frac{1}{\textrm{det} \mathbf{F}} \; \mathbf{F} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{T}
+       * @f]
+       *
+       * @param[in] T The (referential) rank-2 tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left(
+       * \mathbf{T} \right)$
+       */
       template <int dim, typename Number>
       Tensor<2,dim,Number>
       push_forward (const Tensor<2,dim,Number> &T,
                     const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-2
-      * contravariant symmetric tensor, i.e.
-      * @f[
-      *  \textrm{det} \mathbf{F}^{-1} \; \chi\left(\bullet\right)^{\sharp}
-      *    := \frac{1}{\textrm{det} \mathbf{F}} \; \mathbf{F} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{T}
-      * @f]
-      *
-      * @param[in] T The (referential) rank-2 symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left( \mathbf{T} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-2
+       * contravariant symmetric tensor, i.e.
+       * @f[
+       *  \textrm{det} \mathbf{F}^{-1} \; \chi\left(\bullet\right)^{\sharp}
+       *    := \frac{1}{\textrm{det} \mathbf{F}} \; \mathbf{F} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{T}
+       * @f]
+       *
+       * @param[in] T The (referential) rank-2 symmetric tensor to be operated
+       * on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left(
+       * \mathbf{T} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<2,dim,Number>
       push_forward (const SymmetricTensor<2,dim,Number> &T,
                     const Tensor<2,dim,Number>          &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-4
-      * contravariant tensor, i.e. (in index notation)
-      * @f[
-      *  \textrm{det} \mathbf{F}^{-1} \; \left[ \chi\left(\bullet\right)^{\sharp} \right]_{ijkl}
-      *    := \frac{1}{\textrm{det} \mathbf{F}} \; F_{iI} F_{jJ} \left(\bullet\right)^{\sharp}_{IJKL} F_{kK} F_{lL}
-      * @f]
-      *
-      * @param[in] H The (referential) rank-4 tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left( \mathbf{H} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-4
+       * contravariant tensor, i.e. (in index notation)
+       * @f[
+       *  \textrm{det} \mathbf{F}^{-1} \; \left[ \chi\left(\bullet\right)^{\sharp} \right]_{ijkl}
+       *    := \frac{1}{\textrm{det} \mathbf{F}} \; F_{iI} F_{jJ} \left(\bullet\right)^{\sharp}_{IJKL} F_{kK} F_{lL}
+       * @f]
+       *
+       * @param[in] H The (referential) rank-4 tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left(
+       * \mathbf{H} \right)$
+       */
       template <int dim, typename Number>
       Tensor<4,dim,Number>
       push_forward (const Tensor<4,dim,Number> &H,
                     const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the push forward transformation on a rank-4
-      * contravariant symmetric tensor, i.e. (in index notation)
-      * @f[
-      *  \textrm{det} \mathbf{F}^{-1} \; \left[ \chi\left(\bullet\right)^{\sharp} \right]_{ijkl}
-      *    := \frac{1}{\textrm{det} \mathbf{F}} \; F_{iI} F_{jJ} \left(\bullet\right)^{\sharp}_{IJKL} F_{kK} F_{lL}
-      * @f]
-      *
-      * @param[in] H The (referential) rank-4 symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left( \mathbf{H} \right)$
-      */
+       * Returns the result of the push forward transformation on a rank-4
+       * contravariant symmetric tensor, i.e. (in index notation)
+       * @f[
+       *  \textrm{det} \mathbf{F}^{-1} \; \left[ \chi\left(\bullet\right)^{\sharp} \right]_{ijkl}
+       *    := \frac{1}{\textrm{det} \mathbf{F}} \; F_{iI} F_{jJ} \left(\bullet\right)^{\sharp}_{IJKL} F_{kK} F_{lL}
+       * @f]
+       *
+       * @param[in] H The (referential) rank-4 symmetric tensor to be operated
+       * on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\frac{1}{\textrm{det} \mathbf{F}} \; \chi\left(
+       * \mathbf{H} \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<4,dim,Number>
       push_forward (const SymmetricTensor<4,dim,Number> &H,
@@ -618,85 +656,95 @@ namespace Physics
 //@{
 
       /**
-      * Returns the result of the pull back transformation on a
-      * contravariant vector, i.e.
-      * @f[
-      *  \textrm{det} \mathbf{F} \; \chi^{-1}\left(\bullet\right)^{\sharp}
-      *    := \textrm{det} \mathbf{F} \; \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp}
-      * @f]
-      *
-      * @param[in] v The (spatial) vector to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{v} \right)$
-      */
+       * Returns the result of the pull back transformation on a contravariant
+       * vector, i.e.
+       * @f[
+       *  \textrm{det} \mathbf{F} \; \chi^{-1}\left(\bullet\right)^{\sharp}
+       *    := \textrm{det} \mathbf{F} \; \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp}
+       * @f]
+       *
+       * @param[in] v The (spatial) vector to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{v}
+       * \right)$
+       */
       template <int dim, typename Number>
       Tensor<1,dim,Number>
       pull_back (const Tensor<1,dim,Number> &v,
                  const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-2
-      * contravariant tensor, i.e.
-      * @f[
-      *  \textrm{det} \mathbf{F} \; \chi^{-1}\left(\bullet\right)^{\sharp}
-      *    := \textrm{det} \mathbf{F} \; \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{-T}
-      * @f]
-      *
-      * @param[in] t The (spatial) tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{t} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-2
+       * contravariant tensor, i.e.
+       * @f[
+       *  \textrm{det} \mathbf{F} \; \chi^{-1}\left(\bullet\right)^{\sharp}
+       *    := \textrm{det} \mathbf{F} \; \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{-T}
+       * @f]
+       *
+       * @param[in] t The (spatial) tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{t}
+       * \right)$
+       */
       template <int dim, typename Number>
       Tensor<2,dim,Number>
       pull_back (const Tensor<2,dim,Number> &t,
                  const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-2
-      * contravariant symmetric tensor, i.e.
-      * @f[
-      *  \textrm{det} \mathbf{F} \; \chi^{-1}\left(\bullet\right)^{\sharp}
-      *    := \textrm{det} \mathbf{F} \; \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{-T}
-      * @f]
-      *
-      * @param[in] t The (spatial) symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{t} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-2
+       * contravariant symmetric tensor, i.e.
+       * @f[
+       *  \textrm{det} \mathbf{F} \; \chi^{-1}\left(\bullet\right)^{\sharp}
+       *    := \textrm{det} \mathbf{F} \; \mathbf{F}^{-1} \cdot \left(\bullet\right)^{\sharp} \cdot \mathbf{F}^{-T}
+       * @f]
+       *
+       * @param[in] t The (spatial) symmetric tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{t}
+       * \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<2,dim,Number>
       pull_back (const SymmetricTensor<2,dim,Number> &t,
                  const Tensor<2,dim,Number>          &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-4
-      * contravariant tensor, i.e. (in index notation)
-      * @f[
-      *  \textrm{det} \mathbf{F} \; \left[ \chi^{-1}\left(\bullet\right)^{\sharp} \right]_{IJKL}
-      *    := \textrm{det} \mathbf{F} \; F^{-1}_{Ii} F^{-1}_{Jj} \left(\bullet\right)^{\sharp}_{ijkl} F^{-1}_{Kk} F^{-1}_{Ll}
-      * @f]
-      *
-      * @param[in] h The (spatial) tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{h} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-4
+       * contravariant tensor, i.e. (in index notation)
+       * @f[
+       *  \textrm{det} \mathbf{F} \; \left[ \chi^{-1}\left(\bullet\right)^{\sharp} \right]_{IJKL}
+       *    := \textrm{det} \mathbf{F} \; F^{-1}_{Ii} F^{-1}_{Jj} \left(\bullet\right)^{\sharp}_{ijkl} F^{-1}_{Kk} F^{-1}_{Ll}
+       * @f]
+       *
+       * @param[in] h The (spatial) tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{h}
+       * \right)$
+       */
       template <int dim, typename Number>
       Tensor<4,dim,Number>
       pull_back (const Tensor<4,dim,Number> &h,
                  const Tensor<2,dim,Number> &F);
 
       /**
-      * Returns the result of the pull back transformation on a rank-4
-      * contravariant symmetric tensor, i.e. (in index notation)
-      * @f[
-      *  \textrm{det} \mathbf{F} \; \left[ \chi^{-1}\left(\bullet\right)^{\sharp} \right]_{IJKL}
-      *    := \textrm{det} \mathbf{F} \; F^{-1}_{Ii} F^{-1}_{Jj} \left(\bullet\right)^{\sharp}_{ijkl} F^{-1}_{Kk} F^{-1}_{Ll}
-      * @f]
-      *
-      * @param[in] h The (spatial) symmetric tensor to be operated on
-      * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-      * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{h} \right)$
-      */
+       * Returns the result of the pull back transformation on a rank-4
+       * contravariant symmetric tensor, i.e. (in index notation)
+       * @f[
+       *  \textrm{det} \mathbf{F} \; \left[ \chi^{-1}\left(\bullet\right)^{\sharp} \right]_{IJKL}
+       *    := \textrm{det} \mathbf{F} \; F^{-1}_{Ii} F^{-1}_{Jj} \left(\bullet\right)^{\sharp}_{ijkl} F^{-1}_{Kk} F^{-1}_{Ll}
+       * @f]
+       *
+       * @param[in] h The (spatial) symmetric tensor to be operated on
+       * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+       * \mathbf{X} \right)$
+       * @return      $\textrm{det} \mathbf{F} \; \chi^{-1}\left( \mathbf{h}
+       * \right)$
+       */
       template <int dim, typename Number>
       SymmetricTensor<4,dim,Number>
       pull_back (const SymmetricTensor<4,dim,Number> &h,
@@ -711,26 +759,27 @@ namespace Physics
 //@{
 
     /**
-    * Returns the result of applying Nanson's formula for the transformation of
-    * the material surface area element $d\mathbf{A}$ to the current surfaces
-    * area element $d\mathbf{a}$ under the nonlinear transformation map
-    * $\mathbf{x} = \boldsymbol{\varphi} \left( \mathbf{X} \right)$.
-    *
-    * The returned result is the spatial normal scaled by the ratio of areas
-    * between the reference and spatial surface elements, i.e.
-    * @f[
-    *  \mathbf{n} \frac{da}{dA}
-    *    := \textrm{det} \mathbf{F} \, \mathbf{F}^{-T} \cdot \mathbf{N}
-    *     = \textrm{cof} \mathbf{F} \cdot \mathbf{N} \, .
-    * @f]
-    *
-    * @param[in] N The referential normal unit vector $\mathbf{N}$
-    * @param[in] F The deformation gradient tensor $\mathbf{F} \left( \mathbf{X} \right)$
-    * @return      The scaled spatial normal vector $\mathbf{n} \frac{da}{dA}$
-    *
-    * @dealiiHolzapfelA{75,2.55}
-    * @dealiiWriggersA{23,3.11}
-    */
+     * Returns the result of applying Nanson's formula for the transformation
+     * of the material surface area element $d\mathbf{A}$ to the current
+     * surfaces area element $d\mathbf{a}$ under the nonlinear transformation
+     * map $\mathbf{x} = \boldsymbol{\varphi} \left( \mathbf{X} \right)$.
+     *
+     * The returned result is the spatial normal scaled by the ratio of areas
+     * between the reference and spatial surface elements, i.e.
+     * @f[
+     *  \mathbf{n} \frac{da}{dA}
+     *    := \textrm{det} \mathbf{F} \, \mathbf{F}^{-T} \cdot \mathbf{N}
+     *     = \textrm{cof} \mathbf{F} \cdot \mathbf{N} \, .
+     * @f]
+     *
+     * @param[in] N The referential normal unit vector $\mathbf{N}$
+     * @param[in] F The deformation gradient tensor $\mathbf{F} \left(
+     * \mathbf{X} \right)$
+     * @return      The scaled spatial normal vector $\mathbf{n}
+     * \frac{da}{dA}$
+     *
+     * @dealiiHolzapfelA{75,2.55} @dealiiWriggersA{23,3.11}
+     */
     template<int dim, typename Number>
     Tensor<1,dim,Number>
     nansons_formula (const Tensor<1,dim,Number> &N,

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.