Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
Interpolation between two space::space_t. More...
Public Member Functions | |
procedure, pass(this) | init (this, xh, yh) |
Constructor. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | map (this, y, x, nel, to_space) |
Interpolate an array to one of Xh or Yh. | |
procedure, pass(this) | map_host (this, y, x, nel, to_space) |
Interpolate an array to one of Xh or Yh on the host. | |
Public Attributes | |
type(space_t), pointer | xh |
First space. | |
type(space_t), pointer | yh |
Second space. | |
real(kind=rp), dimension(:,:), allocatable | xh_to_yh |
Interpolation weights from Xh to Yh. | |
real(kind=rp), dimension(:,:), allocatable | xh_to_yht |
real(kind=rp), dimension(:,:), allocatable | yh_to_xh |
Interpolation weights from Yh to Xh. | |
real(kind=rp), dimension(:,:), allocatable | yh_to_xht |
type(c_ptr) | xh_yh_d = C_NULL_PTR |
Device pointer for Xh_to_Yh. | |
type(c_ptr) | xh_yht_d = C_NULL_PTR |
Device pointer for Xh_to_YhT. | |
type(c_ptr) | yh_xh_d = C_NULL_PTR |
Device pointer for Yh_to_Xh. | |
type(c_ptr) | yh_xht_d = C_NULL_PTR |
Device pointer for Yh_to_XhT. | |
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.
procedure, pass(this) interpolation::interpolator_t::free | ( | class(interpolator_t), intent(inout) | this | ) |
Definition at line 73 of file interpolation.f90.
procedure, pass(this) interpolation::interpolator_t::init | ( | class(interpolator_t), intent(inout), target | this, |
type(space_t), intent(inout), target | xh, | ||
type(space_t), intent(inout), target | yh | ||
) |
Xh | The first space. |
Xh | The second space. |
Definition at line 71 of file interpolation.f90.
procedure, pass(this) interpolation::interpolator_t::map | ( | class(interpolator_t), intent(inout) | this, |
real(kind=rp), dimension(this%yh%lx, this%yh%lx, this%yh%lx, nel), intent(inout) | y, | ||
real(kind=rp), dimension(this%xh%lx, this%xh%lx, this%xh%lx, nel), intent(in) | x, | ||
integer | nel, | ||
type(space_t) | to_space | ||
) |
x | Original array. |
y | Interpolated array. |
nel | Number of elements in the mesh. |
to_space | The space to interpolate to, must be either Xh or Yh. |
Definition at line 75 of file interpolation.f90.
procedure, pass(this) interpolation::interpolator_t::map_host | ( | class(interpolator_t), intent(inout) | this, |
real(kind=rp), dimension(this%yh%lx, this%yh%lx, this%yh%lx, nel), intent(inout) | y, | ||
real(kind=rp), dimension(this%xh%lx, this%xh%lx, this%xh%lx, nel), intent(inout) | x, | ||
integer | nel, | ||
type(space_t) | to_space | ||
) |
x | Original array. |
y | Interpolated array. |
nel | Number of elements in the mesh. |
to_space | The space to interpolate to, must be either Xh or Yh. |
Definition at line 77 of file interpolation.f90.
Definition at line 53 of file interpolation.f90.
real(kind=rp), dimension(:,:), allocatable interpolation::interpolator_t::xh_to_yh |
Definition at line 57 of file interpolation.f90.
real(kind=rp), dimension(:,:), allocatable interpolation::interpolator_t::xh_to_yht |
Definition at line 57 of file interpolation.f90.
type(c_ptr) interpolation::interpolator_t::xh_yh_d = C_NULL_PTR |
Definition at line 61 of file interpolation.f90.
type(c_ptr) interpolation::interpolator_t::xh_yht_d = C_NULL_PTR |
Definition at line 63 of file interpolation.f90.
Definition at line 55 of file interpolation.f90.
real(kind=rp), dimension(:,:), allocatable interpolation::interpolator_t::yh_to_xh |
Definition at line 59 of file interpolation.f90.
real(kind=rp), dimension(:,:), allocatable interpolation::interpolator_t::yh_to_xht |
Definition at line 59 of file interpolation.f90.
type(c_ptr) interpolation::interpolator_t::yh_xh_d = C_NULL_PTR |
Definition at line 65 of file interpolation.f90.
type(c_ptr) interpolation::interpolator_t::yh_xht_d = C_NULL_PTR |
Definition at line 67 of file interpolation.f90.