public subroutine hmap_knot_get_dx_dqi(sf, q_in, dx_dq1, dx_dq2, dx_dq3)
evaluate all first derivatives dx(1:3)/dq^i, i=1,2,3 , at q_in=(X^1,X^2,zeta),
Type Bound
t_hmap_knot
Arguments
Type
Intent Optional Attributes
Name
class(t_hmap_knot ),
intent(in)
::
sf
real(kind=wp),
intent(in)
::
q_in (3)
real(kind=wp),
intent(out),
DIMENSION(3)
::
dx_dq1
real(kind=wp),
intent(out),
DIMENSION(3)
::
dx_dq2
real(kind=wp),
intent(out),
DIMENSION(3)
::
dx_dq3
proc~~hmap_knot_get_dx_dqi~~CallsGraph
proc~hmap_knot_get_dx_dqi
t_hmap_knot%hmap_knot_get_dx_dqi
proc~hmap_knot_eval_rl
t_hmap_knot%hmap_knot_eval_Rl
proc~hmap_knot_get_dx_dqi->proc~hmap_knot_eval_rl
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
proc~~hmap_knot_get_dx_dqi~~CalledByGraph
proc~hmap_knot_get_dx_dqi
t_hmap_knot%hmap_knot_get_dx_dqi
proc~hmap_knot_test
hmap_knot_test
proc~hmap_knot_test->proc~hmap_knot_get_dx_dqi
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
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
SUBROUTINE hmap_knot_get_dx_dqi ( sf , q_in , dx_dq1 , dx_dq2 , dx_dq3 )
IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
CLASS ( t_hmap_knot ), INTENT ( IN ) :: sf
REAL ( wp ) , INTENT ( IN ) :: q_in ( 3 )
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
REAL ( wp ), DIMENSION ( 3 ), INTENT ( OUT ) :: dx_dq1 , dx_dq2 , dx_dq3
!-----------------------------------------------------------------------------------------------------------------------------------
! LOCAL VARIABLES
REAL ( wp ) :: coskzeta , sinkzeta
!===================================================================================================================================
ASSOCIATE ( zeta => q_in ( 3 ))
coskzeta = COS ( sf % k * zeta )
sinkzeta = SIN ( sf % k * zeta )
dx_dq1 ( 1 : 3 ) = ( / coskzeta , - sinkzeta , 0.0_wp / )
dx_dq2 ( 1 : 3 ) = ( / 0.0_wp , 0.0_wp , 1.0_wp / )
dx_dq3 ( 1 : 3 ) = ( / - sf % k * sf % Rl ( q_in ) * sinkzeta - sf % l * sf % delta * SIN ( sf % l * zeta ) * coskzeta , &
- sf % k * sf % Rl ( q_in ) * coskzeta + sf % l * sf % delta * SIN ( sf % l * zeta ) * sinkzeta , &
sf % l * sf % delta * COS ( sf % l * zeta ) / )
END ASSOCIATE
END SUBROUTINE hmap_knot_get_dx_dqi