Neko  0.8.1
A portable framework for high-order spectral element flow simulations
interpolation::interpolator_t Type Reference

Interpolation between two space::space_t. More...

Collaboration diagram for interpolation::interpolator_t:

Public Member Functions

procedure, pass(this) init => interpolator_init
 Constructor. More...
 
procedure, pass(this) free => interpolator_free
 Destructor. More...
 
procedure, pass(this) map => interpolator_map
 Interpolate an array to one of Xh or Yh. More...
 
procedure, pass(this) map_host => interpolator_map_host
 Interpolate an array to one of Xh or Yh on the host. More...
 

Public Attributes

type(space_t), pointer xh
 First space. More...
 
type(space_t), pointer yh
 Second space. More...
 
real(kind=rp), dimension(:,:), allocatable xh_to_yh
 Interpolation weights from Xh to Yh. More...
 
real(kind=rp), dimension(:,:), allocatable xh_to_yht
 
real(kind=rp), dimension(:,:), allocatable yh_to_xh
 Interpolation weights from Yh to Xh. More...
 
real(kind=rp), dimension(:,:), allocatable yh_to_xht
 
type(c_ptr) xh_yh_d = C_NULL_PTR
 Device pointer for Xh_to_Yh. More...
 
type(c_ptr) xh_yht_d = C_NULL_PTR
 Device pointer for Xh_to_YhT. More...
 
type(c_ptr) yh_xh_d = C_NULL_PTR
 Device pointer for Yh_to_Xh. More...
 
type(c_ptr) yh_xht_d = C_NULL_PTR
 Device pointer for Yh_to_XhT. More...
 

Detailed Description

Interpolation between two space::space_t.

This type implements functionality to interpolate between a pair of spaces. Simply put, given some data of form (lx1, lx1, lx1, nelem) we can map it to (lx2, lx2, lx2, nelem), corresponding to a different polynomial order in each element.

Definition at line 51 of file interpolation.f90.

Member Function/Subroutine Documentation

◆ free()

procedure, pass(this) interpolation::interpolator_t::free

Destructor.

Definition at line 73 of file interpolation.f90.

◆ init()

procedure, pass(this) interpolation::interpolator_t::init

Constructor.

Definition at line 71 of file interpolation.f90.

◆ map()

procedure, pass(this) interpolation::interpolator_t::map

Interpolate an array to one of Xh or Yh.

Definition at line 75 of file interpolation.f90.

◆ map_host()

procedure, pass(this) interpolation::interpolator_t::map_host

Interpolate an array to one of Xh or Yh on the host.

Definition at line 77 of file interpolation.f90.

Member Data Documentation

◆ xh

type(space_t), pointer interpolation::interpolator_t::xh

First space.

Definition at line 53 of file interpolation.f90.

◆ xh_to_yh

real(kind=rp), dimension(:,:), allocatable interpolation::interpolator_t::xh_to_yh

Interpolation weights from Xh to Yh.

Definition at line 57 of file interpolation.f90.

◆ xh_to_yht

real(kind=rp), dimension(:,:), allocatable interpolation::interpolator_t::xh_to_yht

Definition at line 57 of file interpolation.f90.

◆ xh_yh_d

type(c_ptr) interpolation::interpolator_t::xh_yh_d = C_NULL_PTR

Device pointer for Xh_to_Yh.

Definition at line 61 of file interpolation.f90.

◆ xh_yht_d

type(c_ptr) interpolation::interpolator_t::xh_yht_d = C_NULL_PTR

Device pointer for Xh_to_YhT.

Definition at line 63 of file interpolation.f90.

◆ yh

type(space_t), pointer interpolation::interpolator_t::yh

Second space.

Definition at line 55 of file interpolation.f90.

◆ yh_to_xh

real(kind=rp), dimension(:,:), allocatable interpolation::interpolator_t::yh_to_xh

Interpolation weights from Yh to Xh.

Definition at line 59 of file interpolation.f90.

◆ yh_to_xht

real(kind=rp), dimension(:,:), allocatable interpolation::interpolator_t::yh_to_xht

Definition at line 59 of file interpolation.f90.

◆ yh_xh_d

type(c_ptr) interpolation::interpolator_t::yh_xh_d = C_NULL_PTR

Device pointer for Yh_to_Xh.

Definition at line 65 of file interpolation.f90.

◆ yh_xht_d

type(c_ptr) interpolation::interpolator_t::yh_xht_d = C_NULL_PTR

Device pointer for Yh_to_XhT.

Definition at line 67 of file interpolation.f90.


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