lagrangian_set_SetFilterKernel Subroutine

private pure subroutine lagrangian_set_SetFilterKernel(this, kernel_interp, kernel_extrap)

Sets the interpolation and extrapolation filter kernels. Default is the Triangle kernel.

Type Bound

lagrangian_set

Arguments

Type IntentOptional 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


Called by

proc~~lagrangian_set_setfilterkernel~~CalledByGraph proc~lagrangian_set_setfilterkernel lagrangian_set%lagrangian_set_SetFilterKernel proc~marker_set_prepare marker_set%marker_set_Prepare proc~marker_set_prepare->proc~lagrangian_set_setfilterkernel proc~particle_set_prepare particle_set%particle_set_Prepare proc~particle_set_prepare->proc~lagrangian_set_setfilterkernel proc~respart_set_prepare ResPart_set%ResPart_set_Prepare proc~respart_set_prepare->proc~lagrangian_set_setfilterkernel proc~solid_set_setfilterkernel solid_set%solid_set_SetFilterKernel proc~solid_set_setfilterkernel->proc~lagrangian_set_setfilterkernel proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->proc~respart_set_prepare proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->proc~marker_set_prepare interface~cdifs_obj_preparesolver cdifs_obj%cdifs_obj_PrepareSolver interface~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolver interface~grans_obj_preparesolver grans_obj%grans_obj_PrepareSolver interface~grans_obj_preparesolver->proc~grans_obj_preparesolver

Source Code

    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