Represents a reference quadrilateral element for nodal Discontinuous Galerkin methods.
More...
#include <ref_quadrilateral.hpp>
|
| | RefQuadrilateral (unsigned order) |
| | Constructs a RefQuadrilateral object of a specific polynomial order.
|
|
const xt::xarray< double > & | v () const |
|
const xt::xarray< double > & | gv () const |
|
const xt::xarray< double > & | d () const |
|
const xt::xarray< double > & | r () const |
|
unsigned | order () const |
|
unsigned | number_of_nodes () const |
|
unsigned | number_of_face_nodes () const |
|
| static xt::xarray< double > | basis_function (const xt::xarray< double > &rs, int i, int j) |
| | Static member function that evaluates a 2D tensor-product basis function on the reference quadrilateral.
|
| static xt::xarray< double > | grad_basis_function (const xt::xarray< double > &rs, int i, int j) |
| | Static member function that computes the gradient of a tensor-product basis function on the reference quadrilateral.
|
|
|
| RefElement (unsigned order) |
|
unsigned | m_order |
|
unsigned | m_np {} |
|
unsigned | m_nfp {} |
|
xt::xarray< double > | m_v |
|
xt::xarray< double > | m_gv |
|
xt::xarray< double > | m_d |
|
xt::xarray< double > | m_r |
Represents a reference quadrilateral element for nodal Discontinuous Galerkin methods.
The reference quadrilateral is defined in (r, s) coordinates on the square [-1, 1] × [-1, 1]. This class computes properties like nodal distribution, Vandermonde matrices, and differentiation operators for a specified polynomial order.
◆ RefQuadrilateral()
| oiseau::dg::nodal::RefQuadrilateral::RefQuadrilateral |
( |
unsigned | order | ) |
|
|
explicit |
Constructs a RefQuadrilateral object of a specific polynomial order.
- Parameters
-
| order | The polynomial order for the basis functions on the quadrilateral. Determines the number of nodes in each direction and approximation accuracy. |
◆ basis_function()
| xt::xarray< double > oiseau::dg::nodal::RefQuadrilateral::basis_function |
( |
const xt::xarray< double > & | rs, |
|
|
int | i, |
|
|
int | j ) |
|
static |
Static member function that evaluates a 2D tensor-product basis function on the reference quadrilateral.
The basis function is defined as the product of 1D Jacobi polynomials: \(\phi_{ij}(r, s) = P_i^{0,0}(r) \; P_j^{0,0}(s)\), evaluated at (r,s) points.
- Parameters
-
| rs | 2D array (shape: N_points × 2) of (r, s) coordinates where to evaluate. |
| i | Polynomial degree index in the r-direction (0 ≤ i ≤ order). |
| j | Polynomial degree index in the s-direction (0 ≤ j ≤ order). |
- Returns
- 1D array (length N_points) of basis function values at each (r, s) point.
◆ grad_basis_function()
| xt::xarray< double > oiseau::dg::nodal::RefQuadrilateral::grad_basis_function |
( |
const xt::xarray< double > & | rs, |
|
|
int | i, |
|
|
int | j ) |
|
static |
Static member function that computes the gradient of a tensor-product basis function on the reference quadrilateral.
Computes derivatives with respect to r and s separately using: \(\partial_r \phi_{ij} = P'_i(r) P_j(s),\quad
\partial_s \phi_{ij} = P_i(r) P'_j(s)\).
- Parameters
-
| rs | 2D array (shape: N_points × 2) of (r, s) coordinates. |
| i | Polynomial degree index in the r-direction. |
| j | Polynomial degree index in the s-direction. |
- Returns
- 2D array (shape: N_points × 2) containing (∂/∂r, ∂/∂s) for each point.
The documentation for this class was generated from the following files:
- /__w/oiseau/oiseau/src/oiseau/dg/nodal/ref_quadrilateral.hpp
- /__w/oiseau/oiseau/src/oiseau/dg/nodal/ref_quadrilateral.cpp