12 #ifndef MFEM_RESTRICTION
13 #define MFEM_RESTRICTION
15 #include "../linalg/operator.hpp"
16 #include "../mesh/mesh.hpp"
21 class FiniteElementSpace;
133 const int face_id2,
const int orientation,
134 const int size1d,
const int index);
139 #endif //MFEM_RESTRICTION
void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).
void MultTransposeUnsigned(const Vector &x, Vector &y) const
Compute MultTranspose without applying signs based on DOF orientations.
Operator that extracts Face degrees of freedom.
L2FaceRestriction(const FiniteElementSpace &, const ElementDofOrdering, const FaceType, const L2FaceValues m=L2FaceValues::DoubleValued)
Array< int > gather_indices
void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).
H1FaceRestriction(const FiniteElementSpace &, const ElementDofOrdering, const FaceType)
void MultTranspose(const Vector &x, Vector &y) const
Action of the transpose operator: y=A^t(x). The default behavior in class Operator is to generate an ...
Array< int > gather_indices
L2ElementRestriction(const FiniteElementSpace &)
const FiniteElementSpace & fes
void MultTranspose(const Vector &x, Vector &y) const
Action of the transpose operator: y=A^t(x). The default behavior in class Operator is to generate an ...
Operator that extracts Face degrees of freedom.
const FiniteElementSpace & fes
ElementRestriction(const FiniteElementSpace &, ElementDofOrdering)
int ToLexOrdering(const int dim, const int face_id, const int size1d, const int index)
const FiniteElementSpace & fes
void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).
Operator that converts FiniteElementSpace L-vectors to E-vectors.
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).
void GetFaceDofs(const int dim, const int face_id, const int dof1d, Array< int > &faceMap)
Return the face degrees of freedom returned in Lexicographic order.
void MultTranspose(const Vector &x, Vector &y) const
Action of the transpose operator: y=A^t(x). The default behavior in class Operator is to generate an ...
Array< int > scatter_indices1
ElementDofOrdering
Constants describing the possible orderings of the DOFs in one element.
int index(int i, int j, int nx, int ny)
int PermuteFaceL2(const int dim, const int face_id1, const int face_id2, const int orientation, const int size1d, const int index)
Permute dofs or quads on a face for e2 to match with the ordering of e1.
Operator that converts L2 FiniteElementSpace L-vectors to E-vectors.
Array< int > scatter_indices
Array< int > scatter_indices2
void MultTranspose(const Vector &x, Vector &y) const
Action of the transpose operator: y=A^t(x). The default behavior in class Operator is to generate an ...