Intrepid2
|
Table of contents
Intrepid2::FunctionSpaceTools is a stateless class of expert methods for operations on finite element subspaces of , , and . In Intrepid these spaces are referred to as HGRAD, HCURL, HDIV and HVOL. There are four basic groups of methods:
Notation in this section follows the standard definition of a finite element space by Ciarlet; see The Finite Element Method for Elliptic Problems, Classics in Applied Mathematics, SIAM, 2002. Given a reference cell with a basis , the basis of is defined as follows:
In this formula , where , are the field signs, and is the pullback ("change of variables") transformation. For scalar spaces such as HGRAD and HVOL the field signs are always equal to 1 and can be disregarded. For vector field spaces such as HCURL or HDIV, the field sign of a basis function can be +1 or -1, depending on the orientation of the physical edge or face, associated with the basis function.
The actual form of the pullback depends on which one of the four function spaces HGRAD, HCURL, HDIV and HVOL is being approximated and is computed as follows. Let denote the reference-to-physical map (see Section Reference-to-physical cell mapping); is its Jacobian (see Section Jacobian of the reference-to-physical cell mapping) and . Then,
Intrepid supports pullbacks only for cell topologies that have reference cells; see Reference cells.
In Intrepid integrals of finite element functions over cells, 2-subcells (faces) and 1-subcells (edges) are computed by change of variables to reference frame and require three different kinds of measures.
requires the volume measure defined by the determinant of the Jacobian. This measure is computed by Intrepid2::FunctionSpaceTools::computeCellMeasure
requires the surface measure defined by the norm of the vector product of the surface tangents. This measure is computed by Intrepid2::FunctionSpaceTools::computeFaceMeasure. In this formula R is the parametrization domain for the 2-subcell; see Section Parametrization of physical 1- and 2-subcells for details.
requires the arc measure defined by the norm of the arc tangent vector. This measure is computed by Intrepid2::FunctionSpaceTools::computeEdgeMeasure. In this formula R is the parametrization domain for the 1-subcell; see Section Parametrization of physical 1- and 2-subcells for details.
To make this example more specific, assume curl-conforming finite element spaces. Suppose that we have a physical cell with a basis . A finite element function on this cell is defined by a set of n coefficients :
From Section Pullbacks it follows that
where is the pre-image of x in the reference cell.
Consequently, evaluation of finite element functions at a given set of points comprises of the following four steps:
Evaluation of adimssible derivatives of finite element functions is completely analogous and follows the same four steps. Evaluation of scalar finite element functions is simpler because application of the signes can be skipped for these functions.
Assume the same setting as in Section Evaluation of finite element fields. A finite element operator defined by the finite element basis on the physical cell is a matrix
where and are left and right operators acting on the basis functions. Typically, when the left and the right basis functions are from the same finite element basis (as in this example), the left and right operators are the same. If they are set to VALUE we get a mass matrix; if they are set to an admissible differential operator we get a stiffnesss matrix. Assume again that the basis is curl-conforming and the operators are set to VALUE. Using the basis definition from Section Pullbacks we have that
It follows that
where
is the raw cell operator matrix. The methods Intrepid2::FunctionSpaceTools::applyLeftFieldSigns and Intrepid2::FunctionSpaceTools::applyRightFieldSigns apply the left and right diagonal sign matrices to the raw cell operator.
A finite element operator defined by the finite element basis on the physical cell is a vector
Assuming again operator VALUE and using the same arguments as above, we see that
where
is the raw cell functional.