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
subroutine oqp_handle_refresh_ptr(c_handle)implicit none type(oqp_handle_t),intent(inout)::c_handletype(information),pointer::infcall c_f_pointer(c_handle%inf,inf)c_handle%mol_prop=c_loc(inf%mol_prop)c_handle%mol_energy=c_loc(inf%mol_energy)c_handle%dft=c_loc(inf%dft)c_handle%control=c_loc(inf%control)c_handle%tddft=c_loc(inf%tddft)c_handle%mpiinfo=c_loc(inf%mpiinfo)c_handle%elshell=c_loc(inf%elshell)if(allocated(inf%atoms%xyz))thenc_handle%xyz=c_loc(inf%atoms%xyz)c_handle%qn=c_loc(inf%atoms%zn)c_handle%mass=c_loc(inf%atoms%mass)end if if(allocated(inf%atoms%grad))thenc_handle%grad=c_loc(inf%atoms%grad)end if end subroutine oqp_handle_refresh_ptr