initialize the aux variable
| Type | Intent | Optional | 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 |
auxiliary variable
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