public function hmap_eval_dxdq_aux(sf, q1, q2, q1_vec, q2_vec, q3_vec, xv) 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) ,
INFO: default routine that can be overwritten by specific hmap class,
not using additional hmap-dependent auxiliary variables,
but calling the generic routine eval_dxdq_pw
Nodes of different colours represent the following:
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.
Nodes of different colours represent the following:
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_eval_dxdq_aux(sf,q1,q2,q1_vec,q2_vec,q3_vec,xv)RESULT(dxdq_qvec)IMPLICIT NONE!-----------------------------------------------------------------------------------------------------------------------------------! INPUT VARIABLESCLASS(c_hmap),INTENT(IN)::sfREAL(wp),INTENT(IN)::q1,q2REAL(wp),INTENT(IN)::q1_vec,q2_vec,q3_vecCLASS(c_hmap_auxvar),INTENT(IN)::xv!-----------------------------------------------------------------------------------------------------------------------------------! OUTPUT VARIABLESREAL(wp)::dxdq_qvec(3)!===================================================================================================================================dxdq_qvec=sf%eval_dxdq((/q1,q2,xv%zeta/),(/q1_vec,q2_vec,q3_vec/))END FUNCTION hmap_eval_dxdq_aux