public function hmap_cyl_eval_dxdq(sf, q_in, q_vec) result(dxdq_qvec)
evaluate total derivative of the mapping sum k=1,3 (dx(1:3)/dq^k) q_vec^k,
where dx(1:3)/dq^k, k=1,2,3 is evaluated at q_in=(X^1,X^2,zeta) ,
Type Bound
t_hmap_cyl
Arguments
Type
Intent Optional Attributes
Name
class(t_hmap_cyl ),
intent(in)
::
sf
real(kind=wp),
intent(in)
::
q_in (3)
real(kind=wp),
intent(in)
::
q_vec (3)
Return Value
real(kind=wp), (3)
proc~~hmap_cyl_eval_dxdq~~CalledByGraph
proc~hmap_cyl_eval_dxdq
t_hmap_cyl%hmap_cyl_eval_dxdq
proc~hmap_cyl_test
hmap_cyl_test
proc~hmap_cyl_test->proc~hmap_cyl_eval_dxdq
proc~hmap_cyl_init_params
hmap_cyl_init_params
proc~hmap_cyl_init_params->proc~hmap_cyl_test
interface~t_hmap_cyl
t_hmap_cyl
interface~t_hmap_cyl->proc~hmap_cyl_init_params
proc~hmap_cyl_init
hmap_cyl_init
interface~t_hmap_cyl->proc~hmap_cyl_init
proc~hmap_cyl_init->proc~hmap_cyl_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
FUNCTION hmap_cyl_eval_dxdq ( sf , q_in , q_vec ) RESULT ( dxdq_qvec )
! MODULES
IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
CLASS ( t_hmap_cyl ), INTENT ( IN ) :: sf
REAL ( wp ) , INTENT ( IN ) :: q_in ( 3 )
REAL ( wp ) , INTENT ( IN ) :: q_vec ( 3 )
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
REAL ( wp ) :: dxdq_qvec ( 3 )
!===================================================================================================================================
! dxdq_qvec=
! | 1 0 0 | |q_vec(1) |
! | 0 0 -cyl_len | |q_vec(2) |
! | 0 1 0 | |q_vec(3) |
dxdq_qvec = ( / q_vec ( 1 ), - sf % cyl_len * q_vec ( 3 ), q_vec ( 2 ) / )
END FUNCTION hmap_cyl_eval_dxdq