evaluate the mapping h (q1,q2,zeta) -> (x,y,z)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_hmap_knot), | intent(in) | :: | sf | |||
| real(kind=wp), | intent(in) | :: | q_in(3) |
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