Interpolations

SemiLagrangian.AbstractInterpolationType

Abstract supertype for all interpolation type

Type parameters

  • T : type of number on witch interpolation works
  • edge : type of edge treatment
  • order : order of interpolation

Implementation constraint

  • tabfct::Vector : this attribut must be on the implementation, it is a table of function of size order+1
source
SemiLagrangian.interpolate!Method
interpolate!(fp, fi, decint, allprecal, interp)
interpolate!(fp, fi, decint, allprecal, interp, tabmod)

apply an offset to the function fi interpolate by interp struct, the result is in fp vector, decint and precal are precompute with getprecal method, the TypeEdge is InsideEdge, it is a marginal case

Arguments

  • fp::AbstractVector : output vector
  • fi::AbstractVector : input vector
  • decint : offset in units of dx
  • allprecal::Vector{Vector{T}} : vector of vector of length order+1 precompute with getprecal(interp, dec) (dec is the offset)
  • interp::AbstractInterpolation{T, InsideEdge, order} : interpolation implementation, note that TypeEdge is CircEdge
  • tabmod=gettabmod(length(fi)) : precompute for "begin at one" modulo

Returns :

  • No return
source
SemiLagrangian.interpolate!Method
interpolate!(fp, fi, decint, precal, interp)
interpolate!(fp, fi, decint, precal, interp, tabmod)

apply an offset to the function fi interpolate by interp struct, the result is in fp vector, decint and precal are precompute with getprecal method, the TypeEdge is CircEdge

Arguments

  • fp::AbstractVector : output vector
  • fi::AbstractVector : input vector
  • decint : offset in units of dx
  • precal::Vector : vector of length order+1 precompute with getprecal(interp, dec) (dec is the offset)
  • interp::AbstractInterpolation{T, CircEdge, order} : interpolation implementation, note that TypeEdge is CircEdge
  • tabmod=gettabmod(length(fi)) : precompute for "begin at one" modulo

Returns :

  • No return
source
SemiLagrangian.interpolate!Method
interpolate!(fp, fi, dec, interp)

apply the offset dec to the function fi interpolate by interp struct, the result is in fp Vector

Arguments

  • fp : output vector of length n
  • fi : input vector of length n
  • dec : offset in units of dx
  • interp::AbstractInterpolation : interpolation implementation

Returns :

  • No return
source
SemiLagrangian.solMethod
sol(_, b)

Interface method to transform the treated line, by default this method does nothing

Arguments :

  • _::AbstractInterpolation : interpolation implementation
  • line::AbstractVector : line to transform

Return :

The transformed line

source