... ... @@ -3,7 +3,7 @@ The class [DOFVector](#class-dofvector) acts as a container for storing the coefficients of the solution discrete function. It is attached to a global basis to give its coefficients a meaning. A [DiscreteFunction](#class-discretefunction) goes one step further and transforms a DOFVector or subspaces of a DOFVector (with respecto to a sub basis) into a [GridFunction](/reference/GridFunctions) that allows to use it like a function defined on a grid. into a [GridFunction](../GridFunctions) that allows to use it like a function defined on a grid. Let $\{\phi_i\}$ be the set of basis functions of a finite-element space $V$. A function $u\in V$ can be represented as ... ... @@ -68,21 +68,21 @@ The value_type is often the same as T, but might be just something similar, [interpolate_noalias](#function-dofvectorinterpolate) | Interpolation of GridFunction to DOFVector assuming no aliasing [operator<<](#function-dofvectorinterpolate) | Operator for the interpolation ??? seealso "Functions inherited from [VectorFacade](/reference/MatVecBase/#class-vectorfacade)" ??? seealso "Functions inherited from [VectorFacade](../MatVecBase/#class-vectorfacade)" Function | Descriptions --------------------------------|--------------------------------------------- [basis](/reference/MatVecBase#function-vectorbasebasis) | Return the GlobalBasis associated with the vector [backend](/reference/MatVecBase#function-vectorbasebackend) | Return the backend vector wrapper implementing the actual algebra [localSize,globalSize](/reference/MatVecBase#function-vectorbasesize) | The number of entries in the local part of the vector [resize,resizeZero](/reference/MatVecBase#function-vectorbaseglobalSize)| Resize the vector to the size of the basis [init](/reference/MatVecBase#function-vectorbaseglobalSize) | Prepare the vector for insertion of values [finish](/reference/MatVecBase#function-vectorbaseglobalSize) | Finish the insertion of values [at](/reference/MatVecBase#function-vectorbaseat) | Return the value of the vector at the given local index [insert,set,add](/reference/MatVecBase#function-vectorbaseinsert) | Insert a single value into the matrix [gather](/reference/MatVecBase#function-vectorbasegather) | Extract values from the vector referring to the given local indices [scatter](/reference/MatVecBase#function-vectorbasescatter) | Insert a block of values into the vector [copy](/reference/MatVecBase#function-vectorbasescatter) | Copies a block of values into the vector [forEach](/reference/MatVecBase#function-vectorbasescatter) | Apply a functor to each value at given indices [basis](../MatVecBase#function-vectorbasebasis) | Return the GlobalBasis associated with the vector [backend](../MatVecBase#function-vectorbasebackend) | Return the backend vector wrapper implementing the actual algebra [localSize,globalSize](../MatVecBase#function-vectorbasesize) | The number of entries in the local part of the vector [resize,resizeZero](../MatVecBase#function-vectorbaseglobalSize)| Resize the vector to the size of the basis [init](../MatVecBase#function-vectorbaseglobalSize) | Prepare the vector for insertion of values [finish](../MatVecBase#function-vectorbaseglobalSize) | Finish the insertion of values [at](../MatVecBase#function-vectorbaseat) | Return the value of the vector at the given local index [insert,set,add](../MatVecBase#function-vectorbaseinsert) | Insert a single value into the matrix [gather](../MatVecBase#function-vectorbasegather) | Extract values from the vector referring to the given local indices [scatter](../MatVecBase#function-vectorbasescatter) | Insert a block of values into the vector [copy](../MatVecBase#function-vectorbasescatter) | Copies a block of values into the vector [forEach](../MatVecBase#function-vectorbasescatter) | Apply a functor to each value at given indices ## function DOFVector::DOFVector ... ...
 ... ... @@ -35,7 +35,7 @@ elementary terms. ### Examples of expressions Before we give examples where and how to use GridFunctions, we demonstrate what an Expression could be, to create a GridFunction from. In the following examples, we assume that a [ProblemStat](reference/Problem#class-problemstat) named prob is already we assume that a [ProblemStat](../Problem#class-problemstat) named prob is already created and initialized. #### 1. Discrete Functions ... ... @@ -95,7 +95,7 @@ prob.addMatrixOperator(opB, Row, Col); auto opL = makeOperator(LinearForm, Expression); prob.addVectorOperator(opL, Row);  See also [makeOperator()](reference/Operators#function-makeoperator). See also [makeOperator()](../Operators#function-makeoperator). #### 2. Usage of GridFunctions in BoundaryConditions: c++ ... ...
 ... ... @@ -19,9 +19,9 @@ auto makeOperator(Tag tag, Expr&& expr, QuadratureArgs&&... args)  Constructs a GridFunctionOperator that can be passed to a [ProblemStat](reference/Problem#class-problemstat) in the member functions [addMatrixOperator()](reference/Problem#function-problemstataddmatrixoperator) or [addVectorOperator()](reference/Problem#function-problemstataddvectoroperator). [ProblemStat](../Problem#class-problemstat) in the member functions [addMatrixOperator()](../Problem#function-problemstataddmatrixoperator) or [addVectorOperator()](../Problem#function-problemstataddvectoroperator). The tag therby identifies which type of operator to create, the expr is used as a coefficient function in the operator and the optional quadrature arguments are used to determine a quadrature rule for the integration of the operator on an ... ... @@ -35,14 +35,14 @@ element. zero-order terms, first-order terms, and second-order terms. See the examples below. Expr expr : An Expression is anything, a [GridFunction](reference/GridFunctions) can : An Expression is anything, a [GridFunction](../GridFunctions) can be created from, sometimes also called PreGridFunction. It includes constants, functors callable with GlobalCoordinates, and any combination of GridFunctions. QuadratureArgs args... : Arguments that are passed to a quadrature creator. Anything that needs a quadrature formula needs to determine the (approximative) polynomial degree of the GridFunctions. If the [GridFunction](reference/GridFunctions) builds a of the GridFunctions. If the [GridFunction](../GridFunctions) builds a polynomial expression, it can be deduced automatically, i.e. if it includes constants, DOFVectors, and arithmetic operator operator+, operator-, or operator*. If the polynomial order can not be deduced, the compiler gives an error. Then, this ... ... @@ -112,7 +112,7 @@ special basis, like a taylor-hood basis. ### Examples #### Tags and expressions The general procedure to describe a PDE is to decompose it into individual terms and add all of them to a [ProblemStat](reference/Problem#class-problemstat): all of them to a [ProblemStat](../Problem#class-problemstat): c++ using Grid = /* any dune grid type */; using Traits = TaylorHoodBasis; ... ... @@ -245,4 +245,4 @@ prob.addMatrixOperator(op, 0, 0); prob.addVectorOperator(op, 0);  See also an example of usage in the examples folder examples/convection_diffusion.cc \ No newline at end of file See also an example of usage in the examples folder examples/convection_diffusion.cc`