hmap_axisNB_eval_gij_aux Function

public function hmap_axisNB_eval_gij_aux(sf, qL1, qL2, qL3, q1, q2, qR1, qR2, qR3, xv) result(g_ab)

evaluate sum_ij (qL_i (G_ij(q_G)) qR_j) ,, where qL=(dX^1/dalpha,dX^2/dalpha ,dzeta/dalpha) and qR=(dX^1/dbeta,dX^2/dbeta ,dzeta/dbeta) and dzeta_dalpha then known to be either 0.0 for ds and dtheta and 1.0 for dzeta

Type Bound

t_hmap_axisNB

Arguments

Type IntentOptional Attributes Name
class(t_hmap_axisNB), intent(in) :: sf
real(kind=wp), intent(in) :: qL1
real(kind=wp), intent(in) :: qL2
real(kind=wp), intent(in) :: qL3
real(kind=wp), intent(in) :: q1
real(kind=wp), intent(in) :: q2
real(kind=wp), intent(in) :: qR1
real(kind=wp), intent(in) :: qR2
real(kind=wp), intent(in) :: qR3
class(c_hmap_auxvar), intent(in) :: xv

Return Value real(kind=wp)


Source Code

FUNCTION hmap_axisNB_eval_gij_aux(sf ,qL1,qL2,qL3,q1,q2,qR1,qR2,qR3,xv) RESULT(g_ab)
  IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
  CLASS(t_hmap_axisNB), INTENT(IN) :: sf
  REAL(wp)            , INTENT(IN) :: qL1,qL2,qL3
  REAL(wp)            , INTENT(IN) :: q1,q2
  REAL(wp)            , INTENT(IN) :: qR1,qR2,qR3
  CLASS(c_hmap_auxvar),INTENT(IN) :: xv
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
  REAL(wp)                         :: g_ab
!-----------------------------------------------------------------------------------------------------------------------------------
! LOCAL VARIABLES
  REAL(wp),DIMENSION(3) :: Tq
!===================================================================================================================================
  SELECT TYPE(xv); TYPE IS(t_hmap_axisNB_auxvar)
  Tq=(xv%T+q1*xv%Np+q2*xv%Bp)
  g_ab=    xv%NN *qL1*qR1 &
         + xv%BB *qL2*qR2 &
         + SUM(Tq*Tq)*qL3*qR3 &
         + xv%NB       *(qL1*qR2+qL2*qR1) &
         + SUM(xv%N*Tq)*(qL1*qR3+qL3*qR1) &
         + SUM(xv%B*Tq)*(qL2*qR3+qL3*qR2)
  END SELECT !type(xv)
END FUNCTION hmap_axisNB_eval_gij_aux