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
pure subroutine to_primitive(u)real(dp),intent(inout)::u(nw_phys)! Compute velocity from momentumu(iw_mom(1))=u(iw_mom(1))/u(iw_rho)u(iw_mom(2))=u(iw_mom(2))/u(iw_rho)u(iw_mom(3))=u(iw_mom(3))/u(iw_rho)! Compute pressure from energyu(iw_e)=gamma_1*(u(iw_e)-0.5_dp*u(iw_rho)*&sum(u(iw_mom(1:ndim))**2))end subroutine to_primitive