hmap_knot_eval Function

public function hmap_knot_eval(sf, q_in) result(x_out)

evaluate the mapping h (q1,q2,zeta) -> (x,y,z)

Type Bound

t_hmap_knot

Arguments

Type IntentOptional Attributes Name
class(t_hmap_knot), intent(in) :: sf
real(kind=wp), intent(in) :: q_in(3)

Return Value real(kind=wp), (3)


Calls

proc~~hmap_knot_eval~~CallsGraph proc~hmap_knot_eval t_hmap_knot%hmap_knot_eval proc~hmap_knot_eval_rl t_hmap_knot%hmap_knot_eval_Rl proc~hmap_knot_eval->proc~hmap_knot_eval_rl proc~hmap_knot_eval_zl t_hmap_knot%hmap_knot_eval_Zl proc~hmap_knot_eval->proc~hmap_knot_eval_zl

Called by

proc~~hmap_knot_eval~~CalledByGraph proc~hmap_knot_eval t_hmap_knot%hmap_knot_eval proc~hmap_knot_test hmap_knot_test proc~hmap_knot_test->proc~hmap_knot_eval proc~hmap_knot_init_params hmap_knot_init_params proc~hmap_knot_init_params->proc~hmap_knot_test interface~t_hmap_knot t_hmap_knot interface~t_hmap_knot->proc~hmap_knot_init_params proc~hmap_knot_init hmap_knot_init interface~t_hmap_knot->proc~hmap_knot_init proc~hmap_knot_init->proc~hmap_knot_init_params

Source Code

FUNCTION hmap_knot_eval( sf ,q_in) RESULT(x_out)
! MODULES
IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
  REAL(wp)          , INTENT(IN) :: q_in(3)
  CLASS(t_hmap_knot), INTENT(IN) :: sf
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
  REAL(wp)                       :: x_out(3)
!-----------------------------------------------------------------------------------------------------------------------------------
! LOCAL VARIABLES
!===================================================================================================================================
 ! (k,l) are the indides of the (k,l)-torus
 ! q(:) = (q1,q2,zeta) are the variables in the domain of the map
 ! X(:) = (x,y,z) are the variables in the range of the map
 !
 !   Rl = R0 + delta * cos(l*zeta) + q1
 !   Zl = delta * sin(l*zeta) + q2
 !  |x |  | Rl*sin(k*zeta) |
 !  |y |= |-Rl*cos(k*zeta) |
 !  |z |  | Zl             |

 ASSOCIATE(zeta=>q_in(3))
 x_out(1:3)=(/ sf%Rl(q_in)*COS(sf%k*zeta), &
              -sf%Rl(q_in)*SIN(sf%k*zeta), &
               sf%Zl(q_in)                 /)
 END ASSOCIATE
END FUNCTION hmap_knot_eval