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 friction_correlation_der(me,Re)class(friction_t),intent(inout)::mereal(dp),intent(in)::Rereal(dp)::friction_correlation_derreal(dp)::epsif(associated(me%frict_der))thenfriction_correlation_der=me%frict_der(me%frict_cfg,Re)elseeps=2.0e-1_dpfriction_correlation_der=(me%frict(me%frict_cfg,Re+0.5_dp*eps)&-me%frict(me%frict_cfg,Re-0.5_dp*eps))/epsendif end function friction_correlation_der