![]() |
MFEM v4.10.0
Finite element discretization library
|
Structure representing the matrices/tensors needed to evaluate (in reference space) the values, gradients, divergences, or curls of a FiniteElement at the quadrature points of a given IntegrationRule. More...
#include <fe_base.hpp>
Public Types | |
| enum | Mode { FULL , TENSOR , LEXICOGRAPHIC_FULL , RAGGED_TENSOR } |
| Type of data stored in the arrays B, Bt, G, and Gt. More... | |
Public Member Functions | |
| DofToQuad | Abs () const |
| Returns absolute value of the maps. | |
| virtual | ~DofToQuad ()=default |
Static Public Member Functions | |
| static DofToQuad * | SearchArray (const Array< DofToQuad * > &dof2quad_array, const IntegrationRule &ir, DofToQuad::Mode mode) |
| Auxiliary function for searching DofToQuad arrays. | |
Public Attributes | |
| const class FiniteElement * | FE |
| The FiniteElement that created and owns this object. | |
| const IntegrationRule * | IntRule |
| IntegrationRule that defines the quadrature points at which the basis functions of the FE are evaluated. | |
| Mode | mode |
| Describes the contents of the B, Bt, G, and Gt arrays, see Mode. | |
| int | ndof |
| Number of degrees of freedom = number of basis functions. When mode is TENSOR, this is the 1D number. | |
| int | nqpt |
| Number of quadrature points. When mode is TENSOR, this is the 1D number. | |
| Array< real_t > | B |
| Basis functions evaluated at quadrature points. | |
| Array< real_t > | Bt |
| Transpose of B. | |
| Array< real_t > | G |
| Gradients/divergences/curls of basis functions evaluated at quadrature points. | |
| Array< real_t > | Gt |
| Transpose of G. | |
Structure representing the matrices/tensors needed to evaluate (in reference space) the values, gradients, divergences, or curls of a FiniteElement at the quadrature points of a given IntegrationRule.
Objects of this type are typically created and owned by the respective FiniteElement object.
Definition at line 140 of file fe_base.hpp.
Type of data stored in the arrays B, Bt, G, and Gt.
| Enumerator | |
|---|---|
| FULL | Full multidimensional representation which does not use tensor product structure. The ordering of the degrees of freedom is as defined by FE. |
| TENSOR | Tensor product representation using 1D matrices/tensors with dimensions using 1D number of quadrature points and degrees of freedom. When representing a vector-valued FiniteElement, two DofToQuad objects are used to describe the "closed" and "open" 1D basis functions. |
| LEXICOGRAPHIC_FULL | Full multidimensional representation which does not use tensor product structure. The ordering of the degrees of freedom is the same as TENSOR, but the sizes of B and G are the same as FULL. |
| RAGGED_TENSOR | Ragged tensor product representation using 1D matrices/tensors with dimensions using 1D number of quadrature points and ragged tensor degrees of freedom. Used only for partial assembly of the H1 positive basis. The size of B is d1d x qnpt x dim. Since different Gauss-Jacobi quadrature rules are employed in each dimension, we need to store dim arrays. |
Definition at line 153 of file fe_base.hpp.
|
virtualdefault |
| DofToQuad mfem::DofToQuad::Abs | ( | ) | const |
Returns absolute value of the maps.
Definition at line 23 of file fe_base.cpp.
|
inlinestatic |
Auxiliary function for searching DofToQuad arrays.
Definition at line 1460 of file fe_base.hpp.
Basis functions evaluated at quadrature points.
The storage layout is column-major with dimensions:
where
Definition at line 201 of file fe_base.hpp.
| const class FiniteElement* mfem::DofToQuad::FE |
The FiniteElement that created and owns this object.
This pointer is not owned.
Definition at line 145 of file fe_base.hpp.
Gradients/divergences/curls of basis functions evaluated at quadrature points.
The storage layout is column-major with dimensions:
where
Definition at line 222 of file fe_base.hpp.
| const IntegrationRule* mfem::DofToQuad::IntRule |
IntegrationRule that defines the quadrature points at which the basis functions of the FE are evaluated.
This pointer is not owned.
Definition at line 150 of file fe_base.hpp.
| Mode mfem::DofToQuad::mode |
| int mfem::DofToQuad::ndof |
Number of degrees of freedom = number of basis functions. When mode is TENSOR, this is the 1D number.
Definition at line 186 of file fe_base.hpp.
| int mfem::DofToQuad::nqpt |
Number of quadrature points. When mode is TENSOR, this is the 1D number.
Definition at line 190 of file fe_base.hpp.