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

Public Member Functions

subroutine cubedspherecoordcnv_cs2localorthvec_alpha_0 (alpha, beta, radius, np, vecorth1, vecorth2)
subroutine cubedspherecoordcnv_cs2localorthvec_alpha_1 (alpha, beta, radius, np, vecalpha, vecbeta, vecorth1, vecorth2)

Detailed Description

Definition at line 55 of file scale_cubedsphere_coord_cnv.F90.

Member Function/Subroutine Documentation

◆ cubedspherecoordcnv_cs2localorthvec_alpha_0()

subroutine scale_cubedsphere_coord_cnv::cubedspherecoordcnv_cs2localorthvec_alpha::cubedspherecoordcnv_cs2localorthvec_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) vecorth1,
real(rp), dimension(np), intent(inout) vecorth2 )

Definition at line 658 of file scale_cubedsphere_coord_cnv.F90.

661
662 implicit none
663
664 integer, intent(in) :: Np
665 real(RP), intent(in) :: alpha(Np)
666 real(RP), intent(in) :: beta (Np)
667 real(RP), intent(in) :: radius(Np)
668 real(RP), intent(inout) :: VecOrth1(Np)
669 real(RP), intent(inout) :: VecOrth2(Np)
670
671 integer :: p
672 real(RP) :: x1, x2, del
673 real(RP) :: fac
674 real(RP) :: tmp
675 !-----------------------------------------------------------------------------
676
677 !$omp parallel do private(x1, x2, del, fac, tmp)
678 !$acc parallel loop present(alpha, beta, radius, VecOrth1, VecOrth2)
679 do p=1, np
680 x1 = tan( alpha(p) )
681 x2 = tan( beta(p) )
682 del = sqrt(1.0_rp + x1**2 + x2**2)
683 fac = radius(p) * sqrt(1.0_rp + x1**2) / del**2
684
685 tmp = vecorth1(p)
686 vecorth1(p) = fac * del * tmp
687 vecorth2(p) = fac * ( - x1 * x2 * tmp + (1.0_rp + x2**2) * vecorth2(p) )
688 end do
689
690 return

◆ cubedspherecoordcnv_cs2localorthvec_alpha_1()

subroutine scale_cubedsphere_coord_cnv::cubedspherecoordcnv_cs2localorthvec_alpha::cubedspherecoordcnv_cs2localorthvec_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) vecalpha,
real(rp), dimension (np), intent(in) vecbeta,
real(rp), dimension(np), intent(out) vecorth1,
real(rp), dimension(np), intent(out) vecorth2 )

Definition at line 694 of file scale_cubedsphere_coord_cnv.F90.

698
699 implicit none
700
701 integer, intent(in) :: Np
702 real(RP), intent(in) :: alpha(Np)
703 real(RP), intent(in) :: beta (Np)
704 real(RP), intent(in) :: radius(Np)
705 real(RP), intent(in) :: VecAlpha(Np)
706 real(RP), intent(in) :: VecBeta (Np)
707 real(RP), intent(out) :: VecOrth1(Np)
708 real(RP), intent(out) :: VecOrth2(Np)
709
710 integer :: p
711 !-----------------------------------------------------------------------------
712
713 !$omp parallel do
714 !$acc parallel loop present(VecAlpha, VecBeta, VecOrth1, VecOrth2)
715 do p=1, np
716 vecorth1(p) = vecalpha(p)
717 vecorth2(p) = vecbeta(p)
718 end do
719 !$omp end parallel do
720
721 call cubedspherecoordcnv_cs2localorthvec_alpha_0( &
722 alpha, beta, radius, np, & ! (in)
723 vecorth1, vecorth2 ) ! (inout)
724
725 return

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