int_g1_parabolic Function

public pure function int_g1_parabolic(r) result(val)

Integral of parabolic filter from 0 to r

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: r

Distance from filter center

Return Value real(kind=wp)

Result


Source Code

    pure function int_g1_parabolic(r) result(val)
      !> Integral of parabolic filter from 0 to r
      implicit none
      real(wp), intent(in) :: r                                                !! Distance from filter center
      real(wp)             :: val                                              !! Result
      ! Work variable
      real(wp) :: new_r

      new_r = min(max(r,-1.0_wp),1.0_wp)
      val = 0.75_wp*(new_r-(1.0_wp/3.0_wp)*(new_r**3))

      return
    end function int_g1_parabolic