interp Namespace Reference

AMR-Wind API: amr_wind::interp Namespace Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
amr_wind::interp Namespace Reference

Classes

struct  Index
 

Enumerations

enum class  Limits : int { LOWLIM = -2 , UPLIM = -1 , VALID = 0 }
 

Functions

template<typename It , typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Index check_bounds (const It begin, const It end, const T &x)
 
template<typename It , typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Index bisection_search (const It begin, const It end, const T &x)
 
template<typename It , typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Index nearest_search (const It begin, const It end, const T &x)
 
template<typename It , typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Index find_index (const It begin, const It end, const T &x, const int hint=1)
 
template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type linear_impl (const C1 xbegin, const C2 yinp, const typename std::iterator_traits< C1 >::value_type &xout, const Index &idx, const int ncomp=1, const int comp=0)
 
template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type linear (const C1 xbegin, const C1 xend, const C2 yinp, const typename std::iterator_traits< C1 >::value_type &xout, const int ncomp=1, const int comp=0)
 
template<typename C1 , typename C2 >
C2::value_type linear (const C1 &xinp, const C2 &yinp, const typename C1::value_type &xout, const int ncomp=1, const int comp=0)
 
template<typename C1 , typename C2 >
void linear_monotonic (const C1 &xinp, const C2 &yinp, const C1 &xout, C2 &yout, const int ncomp=1, const int comp=0)
 
template<typename C1 , typename C2 >
void linear (const C1 &xinp, const C2 &yinp, const C1 &xout, C2 &yout, const int ncomp=1, const int comp=0)
 
template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type linear_angle (const C1 xbegin, const C1 xend, const C2 yinp, const typename std::iterator_traits< C1 >::value_type &xout, const typename std::iterator_traits< C1 >::value_type &upper_bound)
 
template<typename C1 , typename C2 >
C2::value_type linear_angle (const C1 &xinp, const C2 &yinp, const typename C1::value_type &xout, const typename C1::value_type &upper_bound)
 
template<typename C1 , typename C2 >
void linear_angle (const C1 &xinp, const C2 &yinp, const C1 &xout, C2 &yout, const typename C1::value_type &upper_bound)
 
template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type bilinear_impl (const C1 xbegin, const C1 ybegin, const int ny, const C2 zinp, const typename std::iterator_traits< C1 >::value_type &xout, const typename std::iterator_traits< C1 >::value_type &yout, const Index &xidx, const Index &yidx)
 
template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type bilinear (const C1 xbegin, const C1 xend, const C1 ybegin, const C1 yend, const C2 zinp, const typename std::iterator_traits< C1 >::value_type &xout, const typename std::iterator_traits< C1 >::value_type &yout)
 
template<typename C1 , typename C2 >
C2::value_type bilinear (const C1 &xinp, const C1 &yinp, const C2 &zinp, const typename C1::value_type &xout, const typename C1::value_type &yout)
 

Enumeration Type Documentation

◆ Limits

enum class amr_wind::interp::Limits : int
strong
Enumerator
LOWLIM 
UPLIM 
VALID 

Function Documentation

◆ bilinear() [1/2]

template<typename C1 , typename C2 >
C2::value_type amr_wind::interp::bilinear ( const C1 & xinp,
const C1 & yinp,
const C2 & zinp,
const typename C1::value_type & xout,
const typename C1::value_type & yout )
inline

◆ bilinear() [2/2]

template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type amr_wind::interp::bilinear ( const C1 xbegin,
const C1 xend,
const C1 ybegin,
const C1 yend,
const C2 zinp,
const typename std::iterator_traits< C1 >::value_type & xout,
const typename std::iterator_traits< C1 >::value_type & yout )

◆ bilinear_impl()

template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type amr_wind::interp::bilinear_impl ( const C1 xbegin,
const C1 ybegin,
const int ny,
const C2 zinp,
const typename std::iterator_traits< C1 >::value_type & xout,
const typename std::iterator_traits< C1 >::value_type & yout,
const Index & xidx,
const Index & yidx )

◆ bisection_search()

template<typename It , typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Index amr_wind::interp::bisection_search ( const It begin,
const It end,
const T & x )

◆ check_bounds()

template<typename It , typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Index amr_wind::interp::check_bounds ( const It begin,
const It end,
const T & x )

◆ find_index()

template<typename It , typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Index amr_wind::interp::find_index ( const It begin,
const It end,
const T & x,
const int hint = 1 )

◆ linear() [1/3]

template<typename C1 , typename C2 >
void amr_wind::interp::linear ( const C1 & xinp,
const C2 & yinp,
const C1 & xout,
C2 & yout,
const int ncomp = 1,
const int comp = 0 )
inline

◆ linear() [2/3]

template<typename C1 , typename C2 >
C2::value_type amr_wind::interp::linear ( const C1 & xinp,
const C2 & yinp,
const typename C1::value_type & xout,
const int ncomp = 1,
const int comp = 0 )
inline

◆ linear() [3/3]

template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type amr_wind::interp::linear ( const C1 xbegin,
const C1 xend,
const C2 yinp,
const typename std::iterator_traits< C1 >::value_type & xout,
const int ncomp = 1,
const int comp = 0 )

◆ linear_angle() [1/3]

template<typename C1 , typename C2 >
void amr_wind::interp::linear_angle ( const C1 & xinp,
const C2 & yinp,
const C1 & xout,
C2 & yout,
const typename C1::value_type & upper_bound )
inline

◆ linear_angle() [2/3]

template<typename C1 , typename C2 >
C2::value_type amr_wind::interp::linear_angle ( const C1 & xinp,
const C2 & yinp,
const typename C1::value_type & xout,
const typename C1::value_type & upper_bound )
inline

◆ linear_angle() [3/3]

template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type amr_wind::interp::linear_angle ( const C1 xbegin,
const C1 xend,
const C2 yinp,
const typename std::iterator_traits< C1 >::value_type & xout,
const typename std::iterator_traits< C1 >::value_type & upper_bound )

◆ linear_impl()

template<typename C1 , typename C2 >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::iterator_traits< C2 >::value_type amr_wind::interp::linear_impl ( const C1 xbegin,
const C2 yinp,
const typename std::iterator_traits< C1 >::value_type & xout,
const Index & idx,
const int ncomp = 1,
const int comp = 0 )

◆ linear_monotonic()

template<typename C1 , typename C2 >
void amr_wind::interp::linear_monotonic ( const C1 & xinp,
const C2 & yinp,
const C1 & xout,
C2 & yout,
const int ncomp = 1,
const int comp = 0 )
inline

◆ nearest_search()

template<typename It , typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Index amr_wind::interp::nearest_search ( const It begin,
const It end,
const T & x )