hmap_axisNB_init_aux Function

public function hmap_axisNB_init_aux(sf, zeta, do_2nd_der) result(xv)

initialize the aux variable

Arguments

Type IntentOptional Attributes Name
class(t_hmap_axisNB), intent(in) :: sf

self (hmap)

real(kind=wp), intent(in) :: zeta
logical, intent(in) :: do_2nd_der

compute second derivative and store second derivative terms

Return Value type(t_hmap_axisNB_auxvar)

auxiliary variable


Calls

proc~~hmap_axisnb_init_aux~~CallsGraph proc~hmap_axisnb_init_aux hmap_axisNB_init_aux interface~cross CROSS proc~hmap_axisnb_init_aux->interface~cross proc~hmap_axisnb_eval_tnb_hat t_hmap_axisNB%hmap_axisNB_eval_TNB_hat proc~hmap_axisnb_init_aux->proc~hmap_axisnb_eval_tnb_hat interface~cross->interface~cross __matvec_n __matvec_n proc~hmap_axisnb_eval_tnb_hat->__matvec_n proc~fbase_eval t_fBase%fBase_eval proc~hmap_axisnb_eval_tnb_hat->proc~fbase_eval proc~fbase_eval_xn t_fBase%fBase_eval_xn proc~fbase_eval->proc~fbase_eval_xn

Called by

proc~~hmap_axisnb_init_aux~~CalledByGraph proc~hmap_axisnb_init_aux hmap_axisNB_init_aux interface~t_hmap_axisnb_auxvar t_hmap_axisNB_auxvar interface~t_hmap_axisnb_auxvar->proc~hmap_axisnb_init_aux proc~hmap_axisnb_test hmap_axisNB_test proc~hmap_axisnb_test->proc~hmap_axisnb_init_aux proc~hmap_axisnb_init_params hmap_axisNB_init_params proc~hmap_axisnb_init_params->proc~hmap_axisnb_test interface~t_hmap_axisnb t_hmap_axisNB interface~t_hmap_axisnb->proc~hmap_axisnb_init_params proc~hmap_axisnb_init hmap_axisNB_init interface~t_hmap_axisnb->proc~hmap_axisnb_init proc~hmap_axisnb_init->proc~hmap_axisnb_init_params

Source Code

FUNCTION hmap_axisNB_init_aux( sf ,zeta,do_2nd_der) RESULT(xv)
! MODULES
  IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
  CLASS(t_hmap_axisNB), INTENT(IN) :: sf !! self (hmap)
  REAL(wp)            , INTENT(IN) :: zeta
  LOGICAL             , INTENT(IN) :: do_2nd_der !! compute second derivative and store second derivative terms
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
  TYPE(t_hmap_axisNB_auxvar)       :: xv  !! auxiliary variable
!===================================================================================================================================
  xv%do_2nd_der=do_2nd_der
  xv%zeta=zeta
  IF(xv%do_2nd_der) THEN
    CALL sf%eval_TNB(xv%zeta,&
                      xv%X0(:),xv%T( :),xv%N(  :),xv%B(  :),&
                                        xv%Np( :),xv%Bp( :),&
                               Tp=xv%Tp(:),Npp=xv%Npp(:),Bpp=xv%Bpp(:))
  ELSE
    CALL sf%eval_TNB(xv%zeta,&
                      xv%X0(:),xv%T( :),xv%N(  :),xv%B(  :),&
                                        xv%Np( :),xv%Bp( :))
  END IF
  xv%NxB =CROSS(xv%N( :) ,xv%B( :))
  xv%NpxB=CROSS(xv%Np(:) ,xv%B( :))
  xv%NxBp=CROSS(xv%N( :) ,xv%Bp(:))
  xv%NN  =SUM(  xv%N( :)* xv%N( :))
  xv%BB  =SUM(  xv%B( :)* xv%B( :))
  xv%NB  =SUM(  xv%N( :)* xv%B( :))
  xv%NpN =SUM(  xv%Np(:)* xv%N( :))
  xv%NpB =SUM(  xv%Np(:)* xv%B( :))
  xv%BpN =SUM(  xv%Bp(:)* xv%N( :))
  xv%BpB =SUM(  xv%Bp(:)* xv%B( :))
END FUNCTION hmap_axisNB_init_aux