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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
pure elemental module function psi_square_second(self,i,r)result(psi)implicit none class(type_square_second),intent(in)::selfinteger(int32),intent(in)::itype(type_dp_vector_3d),intent(in)::rreal(real64)::psiselect case(i)case(1)psi=0.25d0*(1.0d0-r%x)*(1.0d0-r%y)*(-r%x-r%y-1.0d0)case(2)psi=0.25d0*(1.0d0+r%x)*(1.0d0-r%y)*(r%x-r%y-1.0d0)case(3)psi=0.25d0*(1.0d0+r%x)*(1.0d0+r%y)*(r%x+r%y-1.0d0)case(4)psi=0.25d0*(1.0d0-r%x)*(1.0d0+r%y)*(-r%x+r%y-1.0d0)case(5)psi=0.5d0*(1.0d0-r%x)*(1.0d0+r%x)*(1.0d0-r%y)case(6)psi=0.5d0*(1.0d0+r%x)*(1.0d0-r%y)*(1.0d0+r%y)case(7)psi=0.5d0*(1.0d0-r%x)*(1.0d0+r%x)*(1.0d0+r%y)case(8)psi=0.5d0*(1.0d0-r%x)*(1.0d0-r%y)*(1.0d0+r%y)case defaultpsi=0.0d0end select end function psi_square_second