12#ifndef MFEM_NORMAL_DERIV_RESTRICTION
13#define MFEM_NORMAL_DERIV_RESTRICTION
20class FiniteElementSpace;
68 template <
int T_D1D = 0>
71 template <
int T_D1D = 0>
74 template <
int T_D1D = 0>
77 template <
int T_D1D = 0>
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
Class to compute face normal derivatives (in reference coordinate) of an L2 grid function (used inter...
void Mult(const Vector &x, Vector &y) const
Computes the normal derivatives on the face_type faces of the mesh.
Array< int > elem_to_face
Element-wise information array.
L2NormalDerivativeFaceRestriction(const FiniteElementSpace &fes_, const ElementDofOrdering f_ordering, const FaceType face_type_)
Constructor.
const int nf
Number of faces of the given face_type.
Array< int > face_to_elem
Face-wise information array.
const FiniteElementSpace & fes
The L2 finite element space.
int ne_type
Number of elements with faces of type face type.
const FaceType face_type
Face type: either boundary or interior.
void Mult2D(const Vector &x, Vector &y) const
const int ne
Number of elements.
void Mult3D(const Vector &x, Vector &y) const
void AddMultTranspose(const Vector &x, Vector &y, const real_t a=1.0) const
Computes the transpose of the action of Mult(), accumulating into y with coefficient a.
Array< int > face_to_vol
maps face index to volume index
const int dim
Dimension of the mesh.
void AddMultTranspose2D(const Vector &x, Vector &y, const real_t a) const
void AddMultTranspose3D(const Vector &x, Vector &y, const real_t a) const
ElementDofOrdering
Constants describing the possible orderings of the DOFs in one element.