OISEAU
A modern DGTD framework
Loading...
Searching...
No Matches
oiseau::dg::nodal::RefQuadrilateral Class Reference

Represents a reference quadrilateral element for nodal Discontinuous Galerkin methods. More...

#include <ref_quadrilateral.hpp>

Inheritance diagram for oiseau::dg::nodal::RefQuadrilateral:
oiseau::dg::nodal::RefElement

Public Member Functions

 RefQuadrilateral (unsigned order)
 Constructs a RefQuadrilateral object of a specific polynomial order.
Public Member Functions inherited from oiseau::dg::nodal::RefElement
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 Public Member Functions

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.

Additional Inherited Members

Protected Member Functions inherited from oiseau::dg::nodal::RefElement
 RefElement (unsigned order)
Protected Attributes inherited from oiseau::dg::nodal::RefElement
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

Detailed Description

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.

Constructor & Destructor Documentation

◆ RefQuadrilateral()

oiseau::dg::nodal::RefQuadrilateral::RefQuadrilateral ( unsigned order)
explicit

Constructs a RefQuadrilateral object of a specific polynomial order.

Parameters
orderThe polynomial order for the basis functions on the quadrilateral. Determines the number of nodes in each direction and approximation accuracy.

Member Function Documentation

◆ 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
rs2D array (shape: N_points × 2) of (r, s) coordinates where to evaluate.
iPolynomial degree index in the r-direction (0 ≤ i ≤ order).
jPolynomial 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
rs2D array (shape: N_points × 2) of (r, s) coordinates.
iPolynomial degree index in the r-direction.
jPolynomial 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