inamuroDelta3D Function

public function inamuroDelta3D(r, dx) result(res)

This function calculates the delta function used in the paper of Ota et al. [7] (bibliography of treelm) for a vector by multiplying the results of the 1D version.

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in) :: r(3)

input point coordinates

real(kind=rk), intent(in) :: dx

spatial discretization

Return Value real(kind=rk)

resulting value of the 3D delta function


Calls

proc~~inamurodelta3d~~CallsGraph proc~inamurodelta3d inamuroDelta3D proc~inamurodelta1d inamuroDelta1D proc~inamurodelta3d->proc~inamurodelta1d

Contents

Source Code


Source Code

  function inamuroDelta3D(r, dx) result( res )
    ! ---------------------------------------------------------------------------
    !> input point coordinates
    real(kind=rk), intent(in) :: r(3)
    !> spatial discretization
    real(kind=rk), intent(in) :: dx
    !> resulting value of the 3D delta function
    real(kind=rk) :: res
    ! ---------------------------------------------------------------------------
    real(kind=rk) :: tmpVal_X
    real(kind=rk) :: tmpVal_Y
    real(kind=rk) :: tmpVal_Z
    ! ---------------------------------------------------------------------------
    tmpVal_X = inamuroDelta1D(r(1)/dx)
    tmpVal_Y = inamuroDelta1D(r(2)/dx)
    tmpVal_Z = inamuroDelta1D(r(3)/dx)

    res = tmpVal_X * tmpVal_Y * tmpVal_Z / dx**3

  end function inamuroDelta3D