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
impure subroutine newton_method_T0(this,F,dFdx,x0,x_sol)interface impure function Fun5(x)result(res)import rkreal(rk),intent(in)::xreal(rk)::resend function Fun5impure function dFun5(x)result(res)import rkreal(rk),intent(in)::xreal(rk)::resend function dFun5end interface procedure(Fun5)::Fprocedure(dFun5)::dFdxclass(nlsolver),intent(inout)::thisreal(rk),intent(in)::x0real(rk),intent(out)::x_solreal(rk)::xkreal(rk)::F_valreal(rk)::dFdx_valreal(rk)::criteriaFuninteger::klogical::convergenzreal(rk)::dkreal(rk)::alphakk=0xk=x0convergenz=.false.do while(.not.convergenz.and.k<this%maxit)F_val=F(xk)dFdx_val=dFdx(xk)criteriaFun=abs(F_val)if(this%verbosity==1)then print'(g0, f12.4, 4x, e12.4, 4x, e12.4)',k,xk,F_val,dFdx_valend if if(criteriaFun<=this%TolFun)thenconvergenz=.true.x_sol=xkreturn elsedk=-F_val/dFdx_valalphak=1.0_rkxk=xk+alphak*dkk=k+1end if end do end subroutine newton_method_T0