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 atomic_structure_init(self,natoms)result(ok)class(atomic_structure)::selfinteger::natomsinteger(c_int)::okok=self%clean()if(ok/=0)return allocate(self%zn(natoms)&,self%mass(natoms)&,self%grad(3,natoms)&,self%xyz(3,natoms)&,stat=ok)! character(len=2) :: Symbol !< Atomic symbolend function atomic_structure_init