Manicore
Library to implement schemes on n-dimensionnal manifolds.
Classes | Functions
Integration

Classes providing support to compute mass matrices. More...

Classes

struct  Manicore::dCell_traces< dimension, 1 >
 Specialization for edges. More...
 

Functions

template<size_t dimension, size_t d>
 Manicore::requires (d > 0 &&d<=dimension) struct dCell_mass
 Compute the mass matrices of a d-cell. More...
 

Detailed Description

Classes providing support to compute mass matrices.

Function Documentation

◆ requires()

template<size_t dimension, size_t d>
Manicore::requires ( ,
0 &&d<=  dimension 
)

Compute the mass matrices of a d-cell.

Interface with quadrature rule.

Compute the traces matrices of a d-cell onto its boundary.

Template Parameters
dimensionDimension of the manifold
dDimension of the cell
dimensionDimension of the manifold
dDimension of the cell
Warning
This does not take ownership of the mesh but keep a pointer of it. This class is intended to be short-lived but ensure that the mesh survives this class.

Generate the quadrature rule and implement the evaluate of every quantity used.

< Cell index

< Polynomial degree

< Quadrature rule to use

< Integral object generating the quadrature

Do nothing

Mass matrices of all form degree

masses[k] is the mass for the k-forms

< Cell index

< Polynomial degree

< Quadrature degree

< Masses of all the cell of dimension d-1

< Integral object for the dimension d

< Integral object for the dimension d-1

Do nothing

Trace matrices for all form degree and all boundary cell

traces[k][i_b] is the trace for a k-form on the i_b-boundary cell, using relative index

starTraces[k][i_b] is \( \star \text{tr} \star^{-1} \) of a \(d-k\)-form on the i_b-boundary cell, using relative index

The trace of d-form is not included. The array uses the global dimension to give an uniform interface, however only the first d elements are used.

Warning
Ensure that the mesh survives this class

< Mesh used for the quadrature

Generic interface to generate quadrature rule on any dimension

< Cell index

< Degree of exactness

Evaluate the polynomial basis on a cell

Returns
Matrix of size : [quad.size(), Dimension::PolyDim (r,d) ] The columns correspond to the polynomial basis

< Cell index

< Polynomial degree

< Quadrature rule

Evaluate the polynomial basis on a quadrature of the boundary

Returns
Matrix of size : [quad.size(), Dimension::PolyDim (r,d) ] The columns correspond to the polynomial basis

< Cell index

< Relative index of the boundary (e.g. between 0 and 2 for a triangle)

< Polynomial degree

< Quadrature rule on the boundary

Evaluate the volume form on a quadrature of the boundary

Returns
Vector of size : quad.size()

< Cell index

< Quadrature rule

Evaluate the pullback by I of the \(L^2\) product on the exterior algebra of the exterior algebra on the reference element.

Compute the matrix of \( I_T^* (\langle \cdot , \cdot \rangle_{g}) \).

Template Parameters
lForm degree

< Cell index

< Quadrature rule

Evaluate the pullback by I of the \(L^2\) product on the exterior algebra of the exterior algebra on the reference element composed with the trace on the right.

Compute the matrix of \( I_F^* (\langle \cdot , I_F^* J_T^* \cdot \rangle_{g}) \).

Template Parameters
lForm degree

< Cell index

< Relative index of the boundary

< Quadrature rule on the boundary

Evaluate the pullback by I of the \(L^2\) product on the exterior algebra of the exterior algebra on the reference element composed with the trace on the right and the Hodge star on both side.

Compute the matrix of \( I_F^* (\langle \cdot , \star I_F^* J_T^* \star^{-1} \cdot \rangle_{g}) \). Expect a \(d-l\) form on the right and a \(d-1-l\) form on the left.

Template Parameters
lHodge dual of the form degree

< Cell index

< Relative index of the boundary

< Quadrature rule on the boundary

Access the mesh associated with this object

< Cell index

< Polynomial degree

< Quadrature degree

< Masses of all the cell of dimension d-1

< Integral object for the dimension d

< Integral object for the dimension d-1

Do nothing

Trace matrices for all form degree and all boundary cell

traces[k][i_b] is the trace for a k-form on the i_b-boundary cell, using relative index

starTraces[k][i_b] is \( \star \text{tr} \star^{-1} \) of a \(d-k\)-form on the i_b-boundary cell, using relative index

The trace of d-form is not included. The array uses the global dimension to give an uniform interface, however only the first d elements are used.

Warning
Ensure that the mesh survives this class

< Mesh used for the quadrature

Generic interface to generate quadrature rule on any dimension

< Cell index

< Degree of exactness

Evaluate the polynomial basis on a cell

Returns
Matrix of size : [quad.size(), Dimension::PolyDim (r,d) ] The columns correspond to the polynomial basis

< Cell index

< Polynomial degree

< Quadrature rule

Evaluate the polynomial basis on a quadrature of the boundary

Returns
Matrix of size : [quad.size(), Dimension::PolyDim (r,d) ] The columns correspond to the polynomial basis

< Cell index

< Relative index of the boundary (e.g. between 0 and 2 for a triangle)

< Polynomial degree

< Quadrature rule on the boundary

Evaluate the volume form on a quadrature of the boundary

Returns
Vector of size : quad.size()

< Cell index

< Quadrature rule

Evaluate the pullback by I of the \(L^2\) product on the exterior algebra of the exterior algebra on the reference element.

Compute the matrix of \( I_T^* (\langle \cdot , \cdot \rangle_{g}) \).

Template Parameters
lForm degree

< Cell index

< Quadrature rule

Evaluate the pullback by I of the \(L^2\) product on the exterior algebra of the exterior algebra on the reference element composed with the trace on the right.

Compute the matrix of \( I_F^* (\langle \cdot , I_F^* J_T^* \cdot \rangle_{g}) \).

Template Parameters
lForm degree

< Cell index

< Relative index of the boundary

< Quadrature rule on the boundary

Evaluate the pullback by I of the \(L^2\) product on the exterior algebra of the exterior algebra on the reference element composed with the trace on the right and the Hodge star on both side.

Compute the matrix of \( I_F^* (\langle \cdot , \star I_F^* J_T^* \star^{-1} \cdot \rangle_{g}) \). Expect a \(d-l\) form on the right and a \(d-1-l\) form on the left.

Template Parameters
lHodge dual of the form degree

< Cell index

< Relative index of the boundary

< Quadrature rule on the boundary

Access the mesh associated with this object