FE-Project
Loading...
Searching...
No Matches
scale_cubedsphere_coord_cnv::cubedspherecoordcnv_localorth2csvec_alpha Interface Reference

Public Member Functions

subroutine cubedspherecoordcnv_localorth2csvec_alpha_0 (alpha, beta, radius, np, vecalpha, vecbeta)
subroutine cubedspherecoordcnv_localorth2csvec_alpha_1 (alpha, beta, radius, np, vecorth1, vecorth2, vecalpha, vecbeta)

Detailed Description

Definition at line 61 of file scale_cubedsphere_coord_cnv.F90.

Member Function/Subroutine Documentation

◆ cubedspherecoordcnv_localorth2csvec_alpha_0()

subroutine scale_cubedsphere_coord_cnv::cubedspherecoordcnv_localorth2csvec_alpha::cubedspherecoordcnv_localorth2csvec_alpha_0 ( real(rp), dimension(np), intent(in) alpha,
real(rp), dimension (np), intent(in) beta,
real(rp), dimension(np), intent(in) radius,
integer, intent(in) np,
real(rp), dimension(np), intent(inout) vecalpha,
real(rp), dimension (np), intent(inout) vecbeta )

Definition at line 729 of file scale_cubedsphere_coord_cnv.F90.

732
733 implicit none
734
735 integer, intent(in) :: Np
736 real(RP), intent(in) :: alpha(Np)
737 real(RP), intent(in) :: beta (Np)
738 real(RP), intent(in) :: radius(Np)
739 real(RP), intent(inout) :: VecAlpha(Np)
740 real(RP), intent(inout) :: VecBeta (Np)
741
742 integer :: p
743 real(RP) :: x1, x2, del
744 real(RP) :: fac
745 real(RP) :: tmp
746 !-----------------------------------------------------------------------------
747
748 !$omp parallel do private(x1, x2, del, fac, tmp)
749 !$acc parallel loop present(alpha, beta, radius, VecAlpha, VecBeta)
750 do p=1, np
751 x1 = tan( alpha(p) )
752 x2 = tan( beta(p) )
753 del = sqrt(1.0_rp + x1**2 + x2**2)
754 fac = del / ( radius(p) * ( 1.0_rp + x2**2 ) * sqrt( 1.0_rp + x1**2 ) )
755
756 tmp = vecalpha(p)
757 vecalpha(p) = fac * ( 1.0_rp + x2**2 ) * tmp
758 vecbeta(p) = fac * ( x1 * x2 * tmp + del * vecbeta(p) )
759 end do
760
761 return

◆ cubedspherecoordcnv_localorth2csvec_alpha_1()

subroutine scale_cubedsphere_coord_cnv::cubedspherecoordcnv_localorth2csvec_alpha::cubedspherecoordcnv_localorth2csvec_alpha_1 ( real(rp), dimension(np), intent(in) alpha,
real(rp), dimension (np), intent(in) beta,
real(rp), dimension(np), intent(in) radius,
integer, intent(in) np,
real(rp), dimension(np), intent(in) vecorth1,
real(rp), dimension(np), intent(in) vecorth2,
real(rp), dimension(np), intent(out) vecalpha,
real(rp), dimension (np), intent(out) vecbeta )

Definition at line 765 of file scale_cubedsphere_coord_cnv.F90.

769 implicit none
770 integer, intent(in) :: Np
771 real(RP), intent(in) :: alpha(Np)
772 real(RP), intent(in) :: beta (Np)
773 real(RP), intent(in) :: radius(Np)
774 real(RP), intent(in) :: VecOrth1(Np)
775 real(RP), intent(in) :: VecOrth2(Np)
776 real(RP), intent(out) :: VecAlpha(Np)
777 real(RP), intent(out) :: VecBeta (Np)
778
779 integer :: p
780 !-----------------------------------------------------------------------------
781
782 !$omp parallel do
783 !$acc parallel loop present(VecOrth1, VecOrth2, VecAlpha, VecBeta)
784 do p=1, np
785 vecalpha(p) = vecorth1(p)
786 vecbeta(p) = vecorth2(p)
787 end do
788 !$omp end parallel do
789
790 call cubedspherecoordcnv_localorth2csvec_alpha_0( &
791 alpha, beta, radius, np, & ! (in)
792 vecalpha, vecbeta ) ! (inout)
793
794 return

The documentation for this interface was generated from the following file: