hmap_RZ_eval_all Subroutine

public subroutine hmap_RZ_eval_all(sf, ndims, dim_zeta, xv, q1, q2, dX1_dt, dX2_dt, dX1_dz, dX2_dz, Jh, g_tt, g_tz, g_zz, Jh_dq1, g_tt_dq1, g_tz_dq1, g_zz_dq1, Jh_dq2, g_tt_dq2, g_tz_dq2, g_zz_dq2, g_t1, g_t2, g_z1, g_z2, Gh11, Gh22)

evaluate all metrics necesseray for optimizer

Type Bound

t_hmap_RZ

Arguments

Type IntentOptional Attributes Name
class(t_hmap_RZ), intent(in) :: sf
integer, intent(in) :: ndims(3)

3D dimensions of input arrays

integer, intent(in) :: dim_zeta

which dimension is zeta dependent

class(c_hmap_auxvar), intent(in) :: xv(ndims(dim_zeta))

zeta point positions

real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: q1
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: q2
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: dX1_dt
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: dX2_dt
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: dX1_dz
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: dX2_dz
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Jh
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tt
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tz
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_zz
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Jh_dq1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tt_dq1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tz_dq1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_zz_dq1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Jh_dq2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tt_dq2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tz_dq2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_zz_dq2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_t1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_t2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_z1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_z2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Gh11
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Gh22

Calls

proc~~hmap_rz_eval_all~~CallsGraph proc~hmap_rz_eval_all t_hmap_RZ%hmap_RZ_eval_all proc~hmap_rz_eval_all_e hmap_RZ_eval_all_e proc~hmap_rz_eval_all->proc~hmap_rz_eval_all_e

Called by

proc~~hmap_rz_eval_all~~CalledByGraph proc~hmap_rz_eval_all t_hmap_RZ%hmap_RZ_eval_all proc~hmap_rz_test hmap_RZ_test proc~hmap_rz_test->proc~hmap_rz_eval_all proc~hmap_rz_init hmap_RZ_init proc~hmap_rz_init->proc~hmap_rz_test interface~t_hmap_rz t_hmap_RZ interface~t_hmap_rz->proc~hmap_rz_init

Source Code

SUBROUTINE hmap_RZ_eval_all(sf,ndims,dim_zeta,xv,&
                            q1,q2,dX1_dt,dX2_dt,dX1_dz,dX2_dz, &
                            Jh,    g_tt,    g_tz,    g_zz,&
                            Jh_dq1,g_tt_dq1,g_tz_dq1,g_zz_dq1, &
                            Jh_dq2,g_tt_dq2,g_tz_dq2,g_zz_dq2, &
                            g_t1,g_t2,g_z1,g_z2,Gh11,Gh22  )
IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
  CLASS(t_hmap_RZ)    , INTENT(IN)   :: sf
  INTEGER             , INTENT(IN)   :: ndims(3)    !! 3D dimensions of input arrays
  INTEGER             , INTENT(IN)   :: dim_zeta    !! which dimension is zeta dependent
  CLASS(c_hmap_auxvar), INTENT(IN)   :: xv(ndims(dim_zeta))  !! zeta point positions
  REAL(wp),DIMENSION(ndims(1),ndims(2),ndims(3)),INTENT(IN) :: q1,q2,dX1_dt,dX2_dt,dX1_dz,dX2_dz
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
  REAL(wp),DIMENSION(ndims(1),ndims(2),ndims(3)),INTENT(OUT):: Jh,g_tt    ,g_tz    ,g_zz    , &
                                                               Jh_dq1,g_tt_dq1,g_tz_dq1,g_zz_dq1, &
                                                               Jh_dq2,g_tt_dq2,g_tz_dq2,g_zz_dq2, &
                                                               g_t1,g_t2,g_z1,g_z2,Gh11,Gh22
!-----------------------------------------------------------------------------------------------------------------------------------
! LOCAL VARIABLES
  INTEGER :: i,j,k
  !===================================================================================================================================
  !xv not used here
  !$OMP PARALLEL DO COLLAPSE(3) SCHEDULE(STATIC) DEFAULT(SHARED) PRIVATE(i,j,k)
  DO k=1,ndims(3); DO j=1,ndims(2); DO i=1,ndims(1)
    CALL hmap_RZ_eval_all_e(&
             q1(i,j,k),q2(i,j,k),dX1_dt(i,j,k),dX2_dt(i,j,k),dX1_dz(i,j,k),dX2_dz(i,j,k), &
             Jh(i,j,k)    ,g_tt(i,j,k)    ,g_tz(i,j,k)    ,g_zz(i,j,k), &
             Jh_dq1(i,j,k),g_tt_dq1(i,j,k),g_tz_dq1(i,j,k),g_zz_dq1(i,j,k), &
             Jh_dq2(i,j,k),g_tt_dq2(i,j,k),g_tz_dq2(i,j,k),g_zz_dq2(i,j,k), &
             g_t1(i,j,k),g_t2(i,j,k),g_z1(i,j,k),g_z2(i,j,k),Gh11(i,j,k),Gh22(i,j,k) )
  END DO; END DO; END DO
  !$OMP END PARALLEL DO

END SUBROUTINE hmap_RZ_eval_all