evaluate Jacobian of mapping h: J_h=sqrt(det(G)) at q=(q^1,q^2,zeta)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_hmap_axisNB), | intent(in) | :: | sf | |||
| real(kind=wp), | intent(in) | :: | q_in(3) |
FUNCTION hmap_axisNB_eval_Jh( sf ,q_in) RESULT(Jh) ! MODULES IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES CLASS(t_hmap_axisNB), INTENT(IN) :: sf REAL(wp) , INTENT(IN) :: q_in(3) !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES REAL(wp) :: Jh !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES REAL(wp),DIMENSION(3) :: X0,T,N,B,Np,Bp !=================================================================================================================================== ASSOCIATE(q1=>q_in(1),q2=>q_in(2),zeta=>q_in(3)) CALL sf%eval_TNB(zeta,X0,T,N,B,Np,Bp) Jh=SUM((T+q1*Np+q2*Bp)*CROSS(N,B)) ! Tq. (N x B) IF(Jh .LT. 1.0e-8) & CALL abort(__STAMP__, & "hmap_axisNB, Jh<0",RealInfo=zeta*sf%nfp/TWOPI) END ASSOCIATE !zeta END FUNCTION hmap_axisNB_eval_Jh