Loading [MathJax]/extensions/tex2jax.js
MAIA bb96820c
Multiphysics at AIA
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
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)