evaluate all first derivatives dx(1:3)/dq^i, i=1,2,3 , at q_in=(X^1,X^2,zeta),
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_hmap_RZ), | intent(in) | :: | sf | |||
| real(kind=wp), | intent(in) | :: | q_in(3) | |||
| real(kind=wp), | intent(out) | :: | dx_dq1(3) | |||
| real(kind=wp), | intent(out) | :: | dx_dq2(3) | |||
| real(kind=wp), | intent(out) | :: | dx_dq3(3) |
SUBROUTINE hmap_RZ_get_dx_dqi( sf ,q_in,dx_dq1,dx_dq2,dx_dq3) IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES CLASS(t_hmap_RZ), INTENT(IN) :: sf REAL(wp) , INTENT(IN) :: q_in(3) !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES REAL(wp) , INTENT(OUT) :: dx_dq1(3) REAL(wp) , INTENT(OUT) :: dx_dq2(3) REAL(wp) , INTENT(OUT) :: dx_dq3(3) ! LOCAL VARIABLES REAL(wp) :: coszeta,sinzeta !=================================================================================================================================== ! dxdq_qvec= ! | cos(zeta) 0 -q^1 sin(zeta) | |q_vec(1) | ! | -sin(zeta) 0 -q^1 cos(zeta) | |q_vec(2) | ! | 0 1 0 | |q_vec(3) | sinzeta=SIN(q_in(3)) coszeta=COS(q_in(3)) dx_dq1(1:3) = (/ coszeta,-sinzeta, 0.0_wp /) dx_dq2(1:3) = (/ 0.0_wp , 0.0_wp, 1.0_wp /) dx_dq3(1:3) = (/ -q_in(1)*sinzeta, -q_in(1)*coszeta, 0.0_wp /) END SUBROUTINE hmap_RZ_get_dx_dqi