MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
dgcartesianinterpolation.h File Reference

Go to the source code of this file.

Classes

class  DgInterpolation
 Class stores precalculated values for interpolation & integration on the reference interval [-1,1]. More...
 

Namespaces

namespace  maia
 Namespace for auxiliary functions/classes.
 
namespace  maia::dg
 
namespace  maia::dg::interpolation
 Holds helper functions for the interpolation.
 

Functions

void maia::dg::interpolation::calcLegendrePolyAndDeriv (MInt Nmax, MFloat x, MFloat *polynomial, MFloat *derivative)
 Evaluates the Legendre polynomial and its derivative of degree Nmax at point x. More...
 
void maia::dg::interpolation::calcLegendreGaussNodesAndWeights (MInt Nmax, MFloat *nodes, MFloat *wInt)
 Calculate the Gauss integration nodes and weight for the Legendre polynomials on the interval [-1,1]. More...
 
void maia::dg::interpolation::calcQandL (MInt Nmax, MFloat x, MFloat &q, MFloat &qDeriv, MFloat &poly)
 Auxiliary function (only used by calcLegendreGaussLobattoNodesAndWeights()) More...
 
void maia::dg::interpolation::calcLegendreGaussLobattoNodesAndWeights (MInt Nmax, MFloat *nodes, MFloat *wInt)
 Calculate the Gauss-Lobatto integration nodes and weight for the Legendre polynomials on the interval [-1,1]. More...
 
void maia::dg::interpolation::calcBarycentricWeights (MInt Nmax, const MFloat *nodes, MFloat *weights)
 Calculates the barycentric weights for Lagrange interpolation at thei specified nodes. More...
 
MFloat maia::dg::interpolation::getLagrangeInterpolation (MFloat x, MInt Nmax, const MFloat *nodes, const MFloat *values, const MFloat *wBary)
 Calculates the interpolated value at point x given a set of nodes, values, and weights. More...
 
void maia::dg::interpolation::calcLagrangeInterpolatingPolynomials (const MFloat x, const MInt polyDeg, const MFloat *nodes, const MFloat *wBary, MFloat *polynomials)
 Calculates the values of the Lagrangian polynomials l_j for a given point x in [-1,1]. More...
 
void maia::dg::interpolation::calcLhat (const MFloat x, const MInt polyDeg, const MFloat *nodes, const MFloat *wInt, const MFloat *wBary, MFloat *Lhat)
 Calculates the Lagrange polynomials evaluated at point x in [-1,1] and pre-divides them by the integration weights. More...
 
MBool maia::dg::interpolation::ascendingAbsVal (MFloat i, MFloat j)
 
void maia::dg::interpolation::calcPolynomialDerivativeMatrix (MInt Nmax, const MFloat *nodes, const MFloat *wBary, MFloat *derivMatrix)
 Calculates the first derivative approximation matrix. More...
 
void maia::dg::interpolation::calcDhat (MInt Nmax, const MFloat *nodes, const MFloat *wInt, const MFloat *wBary, MFloat *dhatMatrix)
 Calculates the polynomial derivative matrix and normalizes it using the integration weights. More...
 
template<MInt nDim, MInt noVariables>
void maia::dg::interpolation::prolongToFaceGauss (const MFloat *const source, const MInt faceId, const MInt noNodes1D, const MFloat *const LFaceN, const MFloat *const LFaceP, MFloat *const destination)
 Extrapolates ("prolongs") the Gauss node values of an element to a given face. More...
 
template<MInt nDim, MInt noVariables, class T , class U >
void maia::dg::interpolation::prolongToFaceGaussLobatto (const T source, const MInt faceId, const MInt noNodes1D, U destination)
 Extrapolates ("prolongs") the Gauss-Lobatto node values of an element to a given face. More...
 
template<class T , class U , class V , class W >
void maia::dg::interpolation::calcPolynomialInterpolationMatrix (MInt noNodesIn, const T nodesIn, MInt noNodesOut, const U nodesOut, const V wBary, W vandermonde)
 Calculate the polynomial interpolation matrix (Vandermonde) to interpolate from one set of nodes to another. More...
 
template<MInt nDim, class T , class U , class V >
void maia::dg::interpolation::interpolateNodes (const T source, U vandermonde, MInt noNodesIn, MInt noNodesOut, MInt noVariables, V destination)