MFEM  v4.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Attributes | List of all members
mfem::DofToQuad Class Reference

Structure representing the matrices/tensors needed to evaluate (in reference space) the values, gradients, divergences, or curls of a FiniteElement at a the quadrature points of a given IntegrationRule. More...

#include <fe.hpp>

Collaboration diagram for mfem::DofToQuad:
[legend]

Public Types

enum  Mode { FULL, TENSOR }
 Type of data stored in the arrays B, Bt, G, and Gt. More...
 

Public Attributes

class FiniteElementFE
 The FiniteElement that created and owns this object. More...
 
const IntegrationRuleIntRule
 IntegrationRule that defines the quadrature points at which the basis functions of the FE are evaluated. More...
 
Mode mode
 Describes the contents of the B, Bt, G, and Gt arrays, see Mode. More...
 
int ndof
 Number of degrees of freedom = number of basis functions. When mode is TENSOR, this is the 1D number. More...
 
int nqpt
 Number of quadrature points. When mode is TENSOR, this is the 1D number. More...
 
Array< double > B
 Basis functions evaluated at quadrature points. More...
 
Array< double > Bt
 Transpose of B. More...
 
Array< double > G
 Gradients/divergences/curls of basis functions evaluated at quadrature points. More...
 
Array< double > Gt
 Transpose of G. More...
 

Detailed Description

Structure representing the matrices/tensors needed to evaluate (in reference space) the values, gradients, divergences, or curls of a FiniteElement at a the quadrature points of a given IntegrationRule.

Object of this type are typically created and owned by the respective FiniteElement object.

Definition at line 125 of file fe.hpp.

Member Enumeration Documentation

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 (TODO).

Definition at line 138 of file fe.hpp.

Member Data Documentation

Array<double> mfem::DofToQuad::B

Basis functions evaluated at quadrature points.

The storage layout is column-major with dimensions:

  • nqpt x ndof, for scalar elements, or
  • nqpt x dim x ndof, for vector elements, (TODO)

where

  • dim = dimension of the finite element reference space when mode is FULL, and dim = 1 when mode is TENSOR.

Definition at line 174 of file fe.hpp.

Array<double> mfem::DofToQuad::Bt

Transpose of B.

The storage layout is column-major with dimensions:

  • ndof x nqpt, for scalar elements, or
  • ndof x nqpt x dim, for vector elements (TODO).

Definition at line 180 of file fe.hpp.

class FiniteElement* mfem::DofToQuad::FE

The FiniteElement that created and owns this object.

This pointer is not owned.

Definition at line 130 of file fe.hpp.

Array<double> mfem::DofToQuad::G

Gradients/divergences/curls of basis functions evaluated at quadrature points.

The storage layout is column-major with dimensions:

  • nqpt x dim x ndof, for scalar elements, or
  • nqpt x ndof, for H(div) vector elements (TODO), or
  • nqpt x cdim x ndof, for H(curl) vector elements (TODO),

where

  • dim = dimension of the finite element reference space when mode is FULL, and 1 when mode is TENSOR,
  • cdim = 1/1/3 in 1D/2D/3D, respectively, when mode is FULL, and cdim = 1 when mode is TENSOR.

Definition at line 195 of file fe.hpp.

Array<double> mfem::DofToQuad::Gt

Transpose of G.

The storage layout is column-major with dimensions:

  • ndof x nqpt x dim, for scalar elements, or
  • ndof x nqpt, for H(div) vector elements (TODO), or
  • ndof x nqpt x cdim, for H(curl) vector elements (TODO).

Definition at line 202 of file fe.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 135 of file fe.hpp.

Mode mfem::DofToQuad::mode

Describes the contents of the B, Bt, G, and Gt arrays, see Mode.

Definition at line 155 of file fe.hpp.

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 159 of file fe.hpp.

int mfem::DofToQuad::nqpt

Number of quadrature points. When mode is TENSOR, this is the 1D number.

Definition at line 163 of file fe.hpp.


The documentation for this class was generated from the following file: