spherical_to_cartesian Function

private pure function spherical_to_cartesian(r, alpha, beta) result(rvec)

Convert spherical (r,alpha,beta) to Cartesian (x,y,z).

Arguments

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

magnitude

real(kind=wp), intent(in) :: alpha

right ascension [deg]

real(kind=wp), intent(in) :: beta

declination [deg]

Return Value real(kind=wp), dimension(3)

[x,y,z] vector


Called by

proc~~spherical_to_cartesian~~CalledByGraph proc~spherical_to_cartesian spherical_to_cartesian proc~add_sphere stl_file%add_sphere proc~add_sphere->proc~spherical_to_cartesian

Source Code

    pure function spherical_to_cartesian(r,alpha,beta) result(rvec)

    implicit none

    real(wp),intent(in)   :: r        !! magnitude
    real(wp),intent(in)   :: alpha    !! right ascension [deg]
    real(wp),intent(in)   :: beta     !! declination [deg]
    real(wp),dimension(3) :: rvec     !! [x,y,z] vector

    rvec(1) = r * cos(alpha*deg2rad) * cos(beta*deg2rad)
    rvec(2) = r * sin(alpha*deg2rad) * cos(beta*deg2rad)
    rvec(3) = r * sin(beta*deg2rad)

    end function spherical_to_cartesian