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.
Variables
Type
Visibility
Attributes
Name
Initial
integer,
private
::
base_idx
integer,
private
::
i
Source Code
subroutine get_monomer_atom_list(sys_geom,monomer_idx,atom_list,n_atoms)!! Build 0-indexed atom list for a monomer, handling fixed or variable-sized fragments.type(system_geometry_t),intent(in)::sys_geominteger,intent(in)::monomer_idxinteger,allocatable,intent(out)::atom_list(:)integer,intent(out)::n_atomsinteger::i,base_idxif(allocated(sys_geom%fragment_atoms))thenn_atoms=sys_geom%fragment_sizes(monomer_idx)if(n_atoms>0)then allocate(atom_list(n_atoms))atom_list=sys_geom%fragment_atoms(1:n_atoms,monomer_idx)else allocate(atom_list(0))end if elsen_atoms=sys_geom%atoms_per_monomerif(n_atoms>0)then allocate(atom_list(n_atoms))base_idx=(monomer_idx-1)*sys_geom%atoms_per_monomerdo i=1,n_atomsatom_list(i)=base_idx+(i-1)end do else allocate(atom_list(0))end if end if end subroutine get_monomer_atom_list