* owned by this class, and is accessible via reference through the
* get_object_with_name() method.
*
- * This function ensures that no @p entry with the given @name is
+ * This function ensures that no @p entry with the given @p name is
* already stored by this class instance.
*/
template <typename Type>
* get_object_with_name() method.
*
* This function does not perform any checks to ensure that the @p entry
- * with the given @name is already stored by this class instance. If the
+ * with the given @p name is already stored by this class instance. If the
* @p name does in fact point to existing data, then this is overwritten.
*/
template <typename Type>
* referenced object lives longer than this class instance. The stored
* reference is accessible through the get_object_with_name() method.
*
- * This function ensures that no @p entry with the given @name is
+ * This function ensures that no @p entry with the given @p name is
* already stored by this class instance.
*/
template <typename Type>
* reference is accessible through the get_object_with_name() method.
*
* This function does not perform any checks to ensure that the @p entry
- * with the given @name is already stored by this class instance. If the
+ * with the given @p name is already stored by this class instance. If the
* @p name does in fact point to existing data, then this is overwritten.
*/
template <typename Type>
* vector components is deduced from the size of the vector in the constructor.
*
* To be more concrete, let us consider the following example:
+ *
* @code
* RangeNumberType
* first_component(const Point<2> &p)
* }
*
* FunctionFromFunctionObjects<2, RangeNumberType>
- * custom_function({&first_component, &second_component},
- * {&zero_gradient, &zero_gradient});
+ * custom_function({&first_component, &second_component},
+ * {&zero_gradient, &zero_gradient});
* @endcode
*
* @author Luca Heltai, 2019
* valid symbols or symbolic expressions.
*
* @tparam ignore_invalid_symbols See the
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function for a detailed discussion on the role of this
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function for a detailed discussion on the role of this
* template argument.
*
* @tparam SymbolicType Any symbolic type that is understood by the
* @endcode
*
* @tparam ignore_invalid_symbols See the
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function for a detailed discussion on the role of this
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function for a detailed discussion on the role of this
* template argument.
*
* @tparam SymbolicType Any symbolic type that is understood by the
* given by @p symbol, to the symbolic map @p symbol_map.
*
* For more context which this function is used, see the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function.
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function for a detailed discussion on the role of this
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function for a detailed discussion on the role of this
* template argument.
*
* @tparam SymbolicType A type that represents a symbolic variable.
* functions.
*
* For more context which this function is used, see the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function.
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function for a detailed discussion on the role of this
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function for a detailed discussion on the role of this
* template argument.
*
* @tparam SymbolicType Any symbolic type that is understood by the
* map @p symbol_map.
*
* For more context which this function is used, see the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function.
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function for a detailed discussion on the role of this
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function for a detailed discussion on the role of this
* template argument.
*
* @tparam ValueType A type that corresponds to the @p value that the
* functions.
*
* For more context which this function is used, see the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function.
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function.
*
* With this function it is possible to add entries from different types
* to a symbolic map. An example may be as follows:
* @endcode
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function for a detailed discussion on the role of this
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function for a detailed discussion on the role of this
* template argument.
*
* @tparam SymbolicType Any symbolic type that is understood by the
*
* It is possible to map symbolic types to other symbolic types
* using this function. For more details on this, see the other
- * @ref make_substitution_map(const Expression &,const ValueType &)
+ * @ref make_substitution_map(const Expression &, const ValueType &)
* function.
*
* @tparam ExpressionType A type that represents a symbolic expression.
*
* It is possible to map symbolic types to other symbolic types
* using this function. For more details on this, see the other
- * @ref make_substitution_map(const Expression &,const ValueType &)
+ * @ref make_substitution_map(const Expression &, const ValueType &)
* function.
*
* @tparam ExpressionType A type that represents a symbolic expression.
*
* It is possible to map symbolic types to other symbolic types
* using this function. For more details on this, see the other
- * @ref make_substitution_map(const Expression &,const ValueType &)
+ * @ref make_substitution_map(const Expression &, const ValueType &)
* function.
*
* @tparam ExpressionType A type that represents a symbolic expression.
*
* It is possible to map symbolic types to other symbolic types
* using this function. For more details on this, see the other
- * @ref make_substitution_map(const Expression &,const ValueType &)
+ * @ref make_substitution_map(const Expression &, const ValueType &)
* function.
*
* @tparam ExpressionType Any symbolic expression type that is understood
* &`.
*
* For more context which this function is used, see the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &, const Expression &) function.
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &,const Expression &) function for a detailed
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function for a detailed
* discussion on the role of this template argument.
*
* @tparam ExpressionType A type that represents a symbolic expression.
* &`.
*
* For more context which this function is used, see the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &, const Expression &) function.
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &,const Expression &) function for a detailed
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function for a detailed
* discussion on the role of this template argument.
*
* @tparam ExpressionType A type that represents a symbolic expression.
* are no duplicate entries between the two maps.
*
* For more context which this function is used, see the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &, const Expression &) function.
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &,const Expression &) function for a detailed
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function for a detailed
* discussion on the role of this template argument.
*/
template <bool ignore_invalid_symbols = false>
* @endcode
*
* For more context which this function is used, see the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &, const Expression &) function.
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &,const Expression &) function for a detailed
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function for a detailed
* discussion on the role of this template argument.
*
* @tparam ExpressionType Any symbolic expression type that is understood
* @endcode
*
* For more context which this function is used, see the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &, const Expression &) function.
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &,const Expression &) function for a detailed
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function for a detailed
* discussion on the role of this template argument.
*
* @tparam ExpressionType Any symbolic expression type that is understood
*
* It is possible to map symbolic types to other symbolic types
* using this function. For more details on this, see the other
- * @ref make_substitution_map(const Expression &,const ValueType &)
+ * @ref make_substitution_map(const Expression &, const ValueType &)
* function.
*
* @tparam ExpressionType Any symbolic expression type that is understood
* the returned result may still be symbolic in nature.
*
* For an example of what this function does, see the documentation for the
- * other @ref resolve_explicit_dependencies(const
- * types::substitution_map &) function.
+ * other
+ * @ref resolve_explicit_dependencies(const types::substitution_map &)
+ * function.
*
* @tparam ExpressionType A type that represents a symbolic expression.
* The Differentiation::SD::Expression class is often suitable for
* variables either a numeric interpretation or some symbolic definition.
*
* For more information regarding the performance of symbolic substitution,
- * see the other @ref substitute(const Expression &,
- * const types::substitution_map &) function.
+ * see the other
+ * @ref substitute(const Expression &, const types::substitution_map &)
+ * function.
*
* @note It is not required that all symbolic expressions be fully resolved
* when using this function. In other words, partial substitutions are
* variables either a numeric interpretation or some symbolic definition.
*
* For more information regarding the performance of symbolic substitution,
- * see the other @ref substitute(const Expression &,
- * const types::substitution_map &) function.
+ * see the other
+ * @ref substitute(const Expression &, const types::substitution_map &)
+ * function.
*
* @note It is not required that all symbolic expressions be fully resolved
* when using this function. In other words, partial substitutions are
*
* For more information regarding the performance of symbolic substitution,
* and the outcome of evaluation using a substitution map with cyclic
- * dependencies, see the @ref substitute(const Expression &,
- * const types::substitution_map &) function.
+ * dependencies, see the
+ * @ref substitute(const Expression &, const types::substitution_map &)
+ * function.
*
* @note It is required that all symbols in the @p expression be
* successfully resolved by the @p substitution_map.
*
* For more information regarding the performance of symbolic substitution,
* and the outcome of evaluation using a substitution map with cyclic
- * dependencies, see the @ref substitute(const Expression &,
- * const types::substitution_map &) function.
+ * dependencies, see the
+ * @ref substitute(const Expression &, const types::substitution_map &)
+ * function.
*
* @note It is required that all symbols in the @p expression be
* successfully resolved by the substitution map that is generated with the
* map @p symbol_map.
*
* For more context which this function is used, see the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function.
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function for a detailed discussion on the role of this
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function for a detailed discussion on the role of this
* template argument.
*
* @tparam SymbolicType A type that represents a symbolic variable.
* map @p symbol_map.
*
* For more context which this function is used, see the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function.
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_symbol_map(types::substitution_map &,const
- * Expression &) function for a detailed discussion on the role of this
+ * @ref add_to_symbol_map(types::substitution_map &, const Expression &)
+ * function for a detailed discussion on the role of this
* template argument.
*
* @tparam SymbolicType A type that represents a symbolic variable.
* @p value_tensor.
*
* For more context which this function is used, see the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &, const Expression &) function.
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &,const Expression &) function for a detailed
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function for a detailed
* discussion on the role of this template argument.
*
* @tparam ExpressionType A type that represents a symbolic expression.
* their paired values extracted from the corresponding elements of the @p value_tensor.
*
* For more context which this function is used, see the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &, const Expression &) function.
+ * @ref add_to_substitution_map(types::substitution_map &,const Expression &, const Expression &)
+ * function.
*
* @tparam ignore_invalid_symbols See the other
- * @ref add_to_substitution_map(types::substitution_map &,const
- * Expression &,const Expression &) function for a detailed
+ * @ref add_to_substitution_map(types::substitution_map &, const Expression &, const Expression &)
+ * function for a detailed
* discussion on the role of this template argument.
*
* @tparam ExpressionType A type that represents a symbolic expression.
*
* For more information regarding the performance of symbolic substitution,
* and the outcome of evaluation using a substitution map with cyclic
- * dependencies, see the @ref substitute(const Expression &,
- * const types::substitution_map &) function.
+ * dependencies, see the
+ * @ref substitute(const Expression &, const types::substitution_map &)
+ * function.
*
* @note It is not required that all symbolic expressions be fully resolved
* when using this function. In other words, partial substitutions are
*
* For more information regarding the performance of symbolic substitution,
* and the outcome of evaluation using a substitution map with cyclic
- * dependencies, see the @ref substitute(const Expression &,
- * const types::substitution_map &) function.
+ * dependencies, see the
+ * @ref substitute(const Expression &, const types::substitution_map &)
+ * function.
*
* @note It is not required that all symbolic expressions be fully resolved
* when using this function. In other words, partial substitutions are
*
* For more information regarding the performance of symbolic substitution,
* and the outcome of evaluation using a substitution map with cyclic
- * dependencies, see the @ref substitute(const Expression &,
- * const types::substitution_map &) function.
+ * dependencies, see the
+ * @ref substitute(const Expression &, const types::substitution_map &)
+ * function.
*
* @note It is required that all symbols in @p expression_tensor be
* successfully resolved by the @p substitution_map.
*
* For more information regarding the performance of symbolic substitution,
* and the outcome of evaluation using a substitution map with cyclic
- * dependencies, see the @ref substitute(const Expression &,
- * const types::substitution_map &) function.
+ * dependencies, see the
+ * @ref substitute(const Expression &, const types::substitution_map &)
+ * function.
*
* @note It is required that all symbols in @p expression_tensor be
* successfully resolved by the @p substitution_map.
/**
* This class declares a local alias that denotes a mapping between a boundary
- * indicator (see @ref GlossBoundaryIndicator) that is used to describe what
+ * indicator (see
+ * @ref GlossBoundaryIndicator)
+ * that is used to describe what
* kind of boundary condition holds on a particular piece of the boundary, and
* the function describing the actual function that provides the boundary values
* on this part of the boundary. This type is required in many functions in the
* The matrix <i>M</i> may be computed with FETools::compute_node_matrix().
* This function relies on the existence of #generalized_support_points and
* FiniteElement::convert_generalized_support_point_values_to_dof_values()
- * (see the @ref GlossGeneralizedSupport "glossary entry on generalized
- * support points" for more information). With this, one can then use the
+ * (see the
+ * @ref GlossGeneralizedSupport "glossary entry on generalized support points"
+ * for more information). With this, one can then use the
* following piece of code in the constructor of a class derived from
* FiniteElement to compute the $M$ matrix:
* @code
*
* <h4>Node values</h4>
*
- * The @ref GlossNodes "node values" are moments on faces.
+ * The
+ * @ref GlossNodes "node values"
+ * are moments on faces.
*
* <h4>Generalized support points</h4>
*
* If the argument @p colorize is false, then all boundary indicators are
* set to zero (the default boundary indicator) for 2d and 3d. If it is
* true, the boundary is
- * @ref GlossColorization "colorized" as in hyper_rectangle(). In 1d the
+ * @ref GlossColorization "colorized"
+ * as in hyper_rectangle(). In 1d the
* indicators are always colorized, see hyper_rectangle().
*
* @image html hyper_cubes.png
* @p y-direction are 2 and 3, the ones for @p z are 4 and 5. This
* corresponds to the numbers of faces of the unit square of cube as laid
* out in the documentation of the GeometryInfo class; see also
- * @ref GlossColorization "the glossary entry on colorization". Importantly,
- * however, in 3d @ref GlossColorization "colorization" does not set @p
+ * @ref GlossColorization "the glossary entry on colorization".
+ * Importantly,
+ * however, in 3d
+ * @ref GlossColorization "colorization"
+ * does not set @p
* boundary_ids of <i>edges</i>, but only of <i>faces</i>, because each
* boundary edge is shared between two faces and it is not clear how the
* boundary id of an edge should be set in that case.
* @p z are 4 and 5. Additionally, material ids are assigned to the cells
* according to the octant their center is in: being in the right half plane
* for any coordinate direction <i>x<sub>i</sub></i> adds 2<sup>i</sup> (see
- * @ref GlossColorization "the glossary entry on colorization"). For
+ * @ref GlossColorization "the glossary entry on colorization").
+ * For
* instance, the center point (1,-1,1) yields a material id 5 (this means
* that in 2d only material ids 0,1,2,3 are assigned independent from the
* number of repetitions).
* If the @p colorize flag is <code>true</code>, the boundary_ids of the
* boundary faces are assigned such that the lower one in the x-direction is
* 0, and the upper one is 1 (see
- * @ref GlossColorization "the glossary entry on colorization"). The
+ * @ref GlossColorization "the glossary entry on colorization").
+ * The
* indicators for the surfaces in the y-direction are 2 and 3, and the ones
* for the z-direction are 5 and 6. The hole boundary has indicator 4.
*
* The resulting Triangulation uses three manifolds: a PolarManifold (in 2D)
* or CylindricalManifold (in 3D) with manifold id $0$, a
* TransfiniteInterpolationManifold with manifold id $1$, and a FlatManifold
- * everywhere else. For more information on this topic see @ref
- * GlossManifoldIndicator "the glossary entry on manifold indicators". The
+ * everywhere else. For more information on this topic see
+ * @ref* GlossManifoldIndicator "the glossary entry on manifold indicators".
+ * The
* cell faces on the cylinder and surrounding shells have manifold ids of
* $0$, while the cell volumes adjacent to the shells (or, if they do not
* exist, the cylinder) have a manifold id of $1$. Put another way: this
* If the argument @p colorize is false, then all boundary indicators are
* set to zero for 2d and 3d. If it is true, the boundary is colorized as in
* hyper_rectangle() (see
- * @ref GlossColorization "the glossary entry on colorization"). In 1d the
+ * @ref GlossColorization "the glossary entry on colorization").
+ * In 1d the
* indicators are always colorized, see hyper_rectangle().
*
* @param tria The triangulation that will be created
* If the flag @p colorize is set, the outer cells get material ids
* according to the following scheme: extending over the inner cube in (+/-)
* x-direction: 1/2. In y-direction 4/8, in z-direction 16/32. The cells at
- * corners and edges (3d) get these values bitwise or'd (see also @ref
- * GlossColorization "the glossary entry on colorization").
+ * corners and edges (3d) get these values bitwise or'd (see also
+ * @ref GlossColorization "the glossary entry on colorization").
*
* Presently only available in 2d and 3d.
*
* @param L Extension in @p z-direction (only used in 3d).
* @param repetitions Number of subdivisions along the @p z-direction.
* @param colorize Whether to assign different boundary indicators to
- * different faces
- * (see @ref GlossColorization "the glossary entry on colorization").
+ * different faces (see
+ * @ref GlossColorization "the glossary entry on colorization").
* The colors are given in lexicographic ordering for the
* flat faces (0 to 3 in 2d, 0 to 5 in 3d) plus the curved hole (4 in 2d,
* and 6 in 3d). If @p colorize is set to false, then flat faces get the
* the two initial meshes. This function computes such a mesh.
*
* @note If you want to create a mesh that is the merger of two other
- * @ref GlossCoarseMesh "coarse meshes", for example in order to compose
+ * @ref GlossCoarseMesh "coarse meshes",
+ * for example in order to compose
* a mesh for a complicated geometry
* from meshes for simpler geometries, then this is not the function for
* you. Instead, consider GridGenerator::merge_triangulations().
* input) will always be the last entry in the first category.
*
* @note The 2d input triangulation @p input must be a
- * @ref GlossCoarseMesh "coarse mesh", i.e., it cannot have any
+ * @ref GlossCoarseMesh "coarse mesh",
+ * i.e., it cannot have any
* refined cells.
*
* @note Since @p input and @p output have different spatial dimensions, no
* indicators.
*
* @note The 2d input triangulation @p input must be a
- * @ref GlossCoarseMesh "coarse mesh", i.e., it cannot have any
+ * @ref GlossCoarseMesh "coarse mesh",
+ * i.e., it cannot have any
* refined cells.
*
* @note Since @p input and @p output have different spatial dimensions no
* value of the function.
*
* @note The function builds the surface mesh by creating a
- * @ref GlossCoarseMesh "coarse mesh" from
+ * @ref GlossCoarseMesh "coarse mesh"
+ * from
* the selected faces of the coarse cells of the volume mesh. It copies the
* boundary indicators of these faces to the cells of the coarse surface
* mesh. The surface mesh is then refined in the same way as the faces of
* individually, which could also be of use to other processes. An
* example would be if the input vector of bounding boxes
* corresponded to a covering of the locally owned partition of a
- * mesh (see @ref GlossLocallyOwnedCell) of a
+ * mesh (see
+ * @ref GlossLocallyOwnedCell)
+ * of a
* parallel::distributed::Triangulation object. While these may
* overlap the bounding boxes of other processes, finding which
* process owns the cell that encloses a given point is vastly
*/
patch_level_1 = 0x4,
/**
- * Each @ref GlossCoarseMesh "coarse grid" cell is refined at least once,
+ * Each
+ * @ref GlossCoarseMesh "coarse grid"
+ * cell is refined at least once,
* i.e., the triangulation
* might have active cells on level 1 but not on level 0. This flag
* ensures that a mesh which has coarsest_level_1 has still
* of the latter being a list of <tt>1<<dim</tt> vertex indices. The
* triangulation must be empty upon calling this function and the cell list
* should be useful (connected domain, etc.). The result of calling this
- * function is a @ref GlossCoarseMesh "coarse mesh".
+ * function is a
+ * @ref GlossCoarseMesh "coarse mesh".
*
* Material data for the cells is given within the @p cells array, while
* boundary information is given in the @p subcelldata field.
/**
- * Apply the functor @tparam Binop to each element of @p v1 and @p v2.
+ * Apply the functor @p Binop to each element of @p v1 and @p v2.
*
* @ingroup CUDAWrappers
*/
/**
- * Apply the functor @tparam Binop to the elements of @p v1 that have
+ * Apply the functor @p Binop to the elements of @p v1 that have
* indices in @p mask and @p v2. The size of @p mask should be greater
* than the size of @p v1. @p mask and @p v2 should have the same size @p
* N.
/**
- * Perform a reduction on @p v using @tparam Operation.
+ * Perform a reduction on @p v using @p Operation.
*
* @ingroup CUDAWrappers
*/
* CPU. When the memory space is CUDA, all the data is allocated on the GPU.
* The operations on the vector are performed on the chosen memory space. *
* From the host, there are two methods to access the elements of the Vector
- * when using the CUDA memory space: <ul>
+ * when using the CUDA memory space:
+ * <ul>
* <li> use get_values()
* <code>
* Vector<double, MemorySpace::CUDA> vector(local_range, comm);
/**
* Perform one of the matrix-matrix operations:
- * @f{align*}
+ * @f{align*}{
* \mathrm{sub}(C) &\dealcoloneq \alpha op(\mathrm{sub}(A))op(\mathrm{sub}(B))
* + \beta \mathrm{sub}(C), \\
* \mathrm{sub}(C) &\dealcoloneq \alpha op(\mathrm{sub}(A))op(\mathrm{sub}(B))
* + beta sub(C),
- * @f
+ * @f}
* where
* $\mathrm{sub}(C)$ denotes C(IC:IC+M-1,JC:JC+N-1), and, $op(X)$ is one of
* $op(X) = X$ or $op(X) = X^T$.
/**
* A class that represents a vector of numerical elements. As for the
- * other classes, in the @ref Vectors group, this class has a substantial
+ * other classes, in the
+ * @ref Vectors
+ * group, this class has a substantial
* number of member functions. These include:
* - functions that initialize the vector or change its size;
* - functions that compute properties of the vector, such as a variety of
* construction of these temporaries *on demand*, and easy access to
* values, gradients, etc., of already computed solution vectors.
*
- * The methods in @ref CurrentCellMethods initialize on demand internal FEValues,
+ * The methods in
+ * @ref CurrentCellMethods
+ * initialize on demand internal FEValues,
* FEFaceValues, and FESubfaceValues objects on the current cell, allowing the
* use of this class as a single substitute for three different objects used
* to integrate and query finite element values on cells, faces, and subfaces.
*
- * Similarly, the methods in @ref NeighborCellMethods initialize on demand
+ * Similarly, the methods in
+ * @ref NeighborCellMethods
+ * initialize on demand
* (different) internal FEValues, FEFaceValues, and FESubfaceValues, on
* neighbor cells, allowing the use of this class also as a single substitute
* for the additional three objects you would typically need to integrate on
*
* If you need to retrieve values or gradients of finite element solution
* vectors, on the cell, face, or subface that has just beeing initialized
- * with one of the functions in @ref CurrentCellMethods, you can use the
- * methods in @ref CurrentCellEvaluation.
+ * with one of the functions in
+ * @ref CurrentCellMethods,
+ * you can use the
+ * methods in
+ * @ref CurrentCellEvaluation.
*
* An example usage for this class is given by the following snippet of code:
*
* @endcode
*
* @note The current implementation in ROL doesn't support vector sizes above
- * the largest value of int type. Some of the vectors in deal.II (@ref Vector)
+ * the largest value of int type. Some of the vectors in deal.II (
+ * @ref Vector)
* may not satisfy the above requirements.
*
* @author Vishal Boddu, 2017