MFEM v4.7.0
Finite element discretization library
|
Class to compute face normal derivatives (in reference coordinate) of an L2 grid function (used internally by L2FaceRestriction). More...
#include <normal_deriv_restriction.hpp>
Public Member Functions | |
L2NormalDerivativeFaceRestriction (const FiniteElementSpace &fes_, const ElementDofOrdering f_ordering, const FaceType face_type_) | |
Constructor. | |
void | Mult (const Vector &x, Vector &y) const |
Computes the normal derivatives on the face_type faces of the mesh. | |
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. | |
Internal compute kernels. Public because of nvcc restriction. | |
template<int T_D1D = 0> | |
void | Mult2D (const Vector &x, Vector &y) const |
template<int T_D1D = 0> | |
void | AddMultTranspose2D (const Vector &x, Vector &y, const real_t a) const |
template<int T_D1D = 0> | |
void | Mult3D (const Vector &x, Vector &y) const |
template<int T_D1D = 0> | |
void | AddMultTranspose3D (const Vector &x, Vector &y, const real_t a) const |
Protected Attributes | |
const FiniteElementSpace & | fes |
The L2 finite element space. | |
const FaceType | face_type |
Face type: either boundary or interior. | |
const int | dim |
Dimension of the mesh. | |
const int | nf |
Number of faces of the given face_type. | |
const int | ne |
Number of elements. | |
int | ne_type |
Number of elements with faces of type face type. | |
Array< int > | face_to_elem |
Face-wise information array. | |
Array< int > | elem_to_face |
Element-wise information array. | |
Array< int > | face_to_vol |
maps face index to volume index | |
Class to compute face normal derivatives (in reference coordinate) of an L2 grid function (used internally by L2FaceRestriction).
Definition at line 25 of file normal_deriv_restriction.hpp.
mfem::L2NormalDerivativeFaceRestriction::L2NormalDerivativeFaceRestriction | ( | const FiniteElementSpace & | fes_, |
const ElementDofOrdering | f_ordering, | ||
const FaceType | face_type_ ) |
Constructor.
[in] | fes_ | The associated FiniteElementSpace (should be L2/DG). |
[in] | f_ordering | Request a specific face dof ordering. Currently only ElementDofOrdering::LEXICOGRAPHIC is supported. |
[in] | face_type_ | Type of faces to compute restriction (interior or boundary). |
Definition at line 94 of file normal_deriv_restriction.cpp.
void mfem::L2NormalDerivativeFaceRestriction::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.
x | Face E-vector layout (face_dofs x vdim x 2 x nf). |
y | L-vector layout. |
a | Optional coefficient (y = y + a*R^t*x) |
Definition at line 275 of file normal_deriv_restriction.cpp.
void mfem::L2NormalDerivativeFaceRestriction::AddMultTranspose2D | ( | const Vector & | x, |
Vector & | y, | ||
const real_t | a ) const |
Definition at line 557 of file normal_deriv_restriction.cpp.
void mfem::L2NormalDerivativeFaceRestriction::AddMultTranspose3D | ( | const Vector & | x, |
Vector & | y, | ||
const real_t | a ) const |
Definition at line 677 of file normal_deriv_restriction.cpp.
Computes the normal derivatives on the face_type faces of the mesh.
[in] | x | The L-vector degrees of freedom. |
[out] | y | The face E(like)-vector degrees of freedom of the format (face_dofs x vdim x 2 x nf) where nf is the number of faces of type face_type. The face_dofs are ordered according to f_ordering specified in the constructor. |
Definition at line 232 of file normal_deriv_restriction.cpp.
void mfem::L2NormalDerivativeFaceRestriction::Mult2D | ( | const Vector & | x, |
Vector & | y ) const |
Definition at line 320 of file normal_deriv_restriction.cpp.
void mfem::L2NormalDerivativeFaceRestriction::Mult3D | ( | const Vector & | x, |
Vector & | y ) const |
Definition at line 432 of file normal_deriv_restriction.cpp.
|
protected |
Dimension of the mesh.
Definition at line 30 of file normal_deriv_restriction.hpp.
|
protected |
Element-wise information array.
Definition at line 36 of file normal_deriv_restriction.hpp.
|
protected |
Face-wise information array.
Definition at line 35 of file normal_deriv_restriction.hpp.
|
protected |
maps face index to volume index
Definition at line 37 of file normal_deriv_restriction.hpp.
|
protected |
Face type: either boundary or interior.
Definition at line 29 of file normal_deriv_restriction.hpp.
|
protected |
The L2 finite element space.
Definition at line 28 of file normal_deriv_restriction.hpp.
|
protected |
Number of elements.
Definition at line 32 of file normal_deriv_restriction.hpp.
|
protected |
Number of elements with faces of type face type.
Definition at line 33 of file normal_deriv_restriction.hpp.
|
protected |
Number of faces of the given face_type.
Definition at line 31 of file normal_deriv_restriction.hpp.