Sets the interpolation and extrapolation filter kernels. Default is the Triangle kernel.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lagrangian_set), | intent(inout) | :: | this |
A set of Lagrangian objects |
||
| integer, | intent(in) | :: | kernel_interp |
Filter kernel for interpolations |
||
| integer, | intent(in) | :: | kernel_extrap |
Filter kernel for extrapolations |
pure subroutine lagrangian_set_SetFilterKernel(this,kernel_interp,kernel_extrap) !> Sets the interpolation and extrapolation filter kernels. ! Default is the Triangle kernel. implicit none class(lagrangian_set), intent(inout) :: this !! A set of Lagrangian objects integer, intent(in) :: kernel_interp !! Filter kernel for interpolations integer, intent(in) :: kernel_extrap !! Filter kernel for extrapolations ! Set interpolation kernel select case (kernel_interp) case (KERNEL_BOX) this%g1in => g1_box case (KERNEL_TRIANGLE) this%g1in => g1_triangle case (KERNEL_PARABOLIC) this%g1in => g1_parabolic case (KERNEL_COSINE) this%g1in => g1_cosine case (KERNEL_TRIWEIGHT) this%g1in => g1_triweight case (KERNEL_ROMA) this%g1in => g1_roma case (KERNEL_COSINE2) this%g1in => g1_cosine2 case default ! By default revert to Triangle filter this%g1in => g1_triangle end select ! Set extrapolation kernel select case (kernel_extrap) case (KERNEL_BOX) this%g1ex => int_g1_box case (KERNEL_TRIANGLE) this%g1ex => int_g1_triangle case (KERNEL_PARABOLIC) this%g1ex => int_g1_parabolic case (KERNEL_COSINE) this%g1ex => int_g1_cosine case (KERNEL_TRIWEIGHT) this%g1ex => int_g1_triweight case (KERNEL_ROMA) this%g1ex => int_g1_roma case (KERNEL_COSINE2) this%g1ex => int_g1_cosine2 case default ! By default revert to Triangle filter this%g1ex => int_g1_triangle end select return end subroutine lagrangian_set_SetFilterKernel