PhyStar  v0.0.0 thu24
interp::InterpLagrangeCart< T_real, N_order > Struct Template Reference

Lagrange interpolation with N_order. More...

#include <interpolation.hpp>

Static Public Member Functions

static T_real LagBase (const int &num, const T_real &xp, const Array1< T_real > &x)
 Base function of Lagrange interpolation. More...
 
static Range LagRange (const int &ind, const int &N)
 index range of interpolate points for N_order More...
 
static T_real Interp3D (const Vec< T_real, 3 > &pos, const Array1< T_real > &X, const Array1< T_real > &Y, const Array1< T_real > &Z, const Array< T_real, 3 > &field)
 kernel function of 3D interpolation More...
 
static T_real Interp2D (const Vec< T_real, 2 > &pos, const Array1< T_real > &X, const Array1< T_real > &Y, const Array< T_real, 2 > &field)
 kernel function of 2D interpolation More...
 
static T_real Interp1D (const Vec< T_real, 1 > &pos, const Array1< T_real > &X, const Array< T_real, 1 > &field)
 kernel function of 1D interpolation More...
 
static T_real Interpolate3D (const Vec< T_real, 3 > &pos, const Array1< T_real > &X, const Array1< T_real > &Y, const Array1< T_real > &Z, const Array< T_real, 3 > &field)
 3D interpolation More...
 
static T_real Interpolate2D (const Vec< T_real, 2 > &pos, const Array1< T_real > &X, const Array1< T_real > &Y, const Array< T_real, 2 > &field)
 2D interpolation More...
 
static T_real Interpolate1D (const Vec< T_real, 1 > &pos, const Array1< T_real > &X, const Array< T_real, 1 > &field)
 1D interpolation More...
 
static T_real Interpolate3D (T_real pos[], T_real X[], T_real Y[], T_real Z[], T_real field[], const int nx, const int ny, const int nz)
 3D interpolation More...
 
static T_real Interpolate2D (T_real pos[], T_real X[], T_real Y[], T_real field[], const int nx, const int ny)
 2D interpolation More...
 
static T_real Interpolate1D (T_real &pos, T_real X[], T_real field[], const int nx)
 1D interpolation More...
 

Static Public Attributes

static const int order = N_order
 

Detailed Description

template<typename T_real = double, int N_order = 2>
struct interp::InterpLagrangeCart< T_real, N_order >

Lagrange interpolation with N_order.

Template Parameters
T_realtype of real, default double
N_orderorder of interpolation

Member Function Documentation

◆ Interp1D()

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::Interp1D ( const Vec< T_real, 1 > &  pos,
const Array1< T_real > &  X,
const Array< T_real, 1 > &  field 
)
inlinestatic

kernel function of 1D interpolation

Parameters
posparticle position
Xinterpolate nodes,x
fieldvalues at interpolate nodes
Returns
T_real

◆ Interp2D()

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::Interp2D ( const Vec< T_real, 2 > &  pos,
const Array1< T_real > &  X,
const Array1< T_real > &  Y,
const Array< T_real, 2 > &  field 
)
inlinestatic

kernel function of 2D interpolation

Parameters
posparticle position
Xinterpolate nodes,x
Yinterpolate nodes,y
fieldvalues at interpolate nodes
Returns
T_real

◆ Interp3D()

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::Interp3D ( const Vec< T_real, 3 > &  pos,
const Array1< T_real > &  X,
const Array1< T_real > &  Y,
const Array1< T_real > &  Z,
const Array< T_real, 3 > &  field 
)
inlinestatic

kernel function of 3D interpolation

Parameters
posparticle position
Xinterpolate nodes,x
Yinterpolate nodes,y
Zinterpolate nodes,z
fieldvalues at interpolate nodes
Returns
T_real

◆ Interpolate1D() [1/2]

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::Interpolate1D ( const Vec< T_real, 1 > &  pos,
const Array1< T_real > &  X,
const Array< T_real, 1 > &  field 
)
inlinestatic

1D interpolation

Parameters
posparticle position
Xmesh points,x
fieldphysical values on mesh grids
Returns
T_real

◆ Interpolate1D() [2/2]

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::Interpolate1D ( T_real &  pos,
T_real  X[],
T_real  field[],
const int  nx 
)
inlinestatic

1D interpolation

Parameters
pos1x3, particle position
X1xNx, mesh points,x
fieldNx x 1 , values at mesh grids
nxNx
Returns
T_real

◆ Interpolate2D() [1/2]

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::Interpolate2D ( const Vec< T_real, 2 > &  pos,
const Array1< T_real > &  X,
const Array1< T_real > &  Y,
const Array< T_real, 2 > &  field 
)
inlinestatic

2D interpolation

Parameters
posparticle position
Xmesh points,x
Ymesh points, y
fieldphysical values on mesh grids
Returns
T_real

◆ Interpolate2D() [2/2]

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::Interpolate2D ( T_real  pos[],
T_real  X[],
T_real  Y[],
T_real  field[],
const int  nx,
const int  ny 
)
inlinestatic

2D interpolation

Parameters
pos1x2, particle position
X1xNx, mesh points,x
Y1xNy, mesh points,y
fieldNx x Ny , values at mesh grids
nxNx
nyNy
Returns
T_real

◆ Interpolate3D() [1/2]

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::Interpolate3D ( const Vec< T_real, 3 > &  pos,
const Array1< T_real > &  X,
const Array1< T_real > &  Y,
const Array1< T_real > &  Z,
const Array< T_real, 3 > &  field 
)
inlinestatic

3D interpolation

Parameters
posparticle position
Xmesh points,x
Ymesh points, y
Zmesh points, z
fieldphysical values on mesh grids
Returns
T_real

◆ Interpolate3D() [2/2]

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::Interpolate3D ( T_real  pos[],
T_real  X[],
T_real  Y[],
T_real  Z[],
T_real  field[],
const int  nx,
const int  ny,
const int  nz 
)
inlinestatic

3D interpolation

Parameters
pos1x3, particle position
X1xNx, mesh points,x
Y1xNy, mesh points,y
Z1xNz, mesh points,z
fieldNx x Ny x Nz, values at mesh grids
nxNx
nyNy
nzNz
Returns
T_real

◆ LagBase()

template<typename T_real = double, int N_order = 2>
static T_real interp::InterpLagrangeCart< T_real, N_order >::LagBase ( const int &  num,
const T_real &  xp,
const Array1< T_real > &  x 
)
inlinestatic

Base function of Lagrange interpolation.

Parameters
numnum-th base function,l_num(xp)
xpposition
xinterpolate nodes
Returns
T_real

◆ LagRange()

template<typename T_real = double, int N_order = 2>
static Range interp::InterpLagrangeCart< T_real, N_order >::LagRange ( const int &  ind,
const int &  N 
)
inlinestatic

index range of interpolate points for N_order

—0—1—2—3—4—5—6—...—N-1—N | | |<–N_order+1-->| ind0 ind1

Parameters
indcurrent index of points
Nsize of current array
Returns
Range

Member Data Documentation

◆ order

template<typename T_real = double, int N_order = 2>
const int interp::InterpLagrangeCart< T_real, N_order >::order = N_order
inlinestatic

The documentation for this struct was generated from the following file: