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_axisNB_eval_dxdq(sf,q_in,q_vec)RESULT(dxdq_qvec)! MODULESIMPLICIT NONE!-----------------------------------------------------------------------------------------------------------------------------------! INPUT VARIABLESCLASS(t_hmap_axisNB),INTENT(IN)::sfREAL(wp),INTENT(IN)::q_in(3)REAL(wp),INTENT(IN)::q_vec(3)!-----------------------------------------------------------------------------------------------------------------------------------! OUTPUT VARIABLESREAL(wp)::dxdq_qvec(3)!-----------------------------------------------------------------------------------------------------------------------------------! LOCAL VARIABLESREAL(wp),DIMENSION(3)::X0,T,N,B,Np,Bp!===================================================================================================================================! |x |! |y |= X0(zeta) + (N(zeta)*q1 + B(zeta)*q2)! |z |! dh/dq1 =N , dh/dq2=B! dh/dq3 = t + q1 N' + q2 * B'ASSOCIATE(q1=>q_in(1),q2=>q_in(2),zeta=>q_in(3))CALL sf%eval_TNB(zeta,X0,T,N,B,Np,Bp)dxdq_qvec(1:3)=N(:)*q_vec(1)+B(:)*q_vec(2)+(T(:)+q1*Np(:)+q2*Bp(:))*q_vec(3)END ASSOCIATE!zetaEND FUNCTION hmap_axisNB_eval_dxdq