Documentation for module qs_neighbor_lists

Generate the atomic neighbor lists.

source: qs_neighbor_lists.F
Loading...

public Types:

local_atoms_type
...

public Subroutines/Functions:

Build some distribution structure of atoms, refactored from build_qs_neighbor_lists
SUBROUTINE
atom2d_cleanup (atom2d)
free the internals of atom2d
Build simple pair neighbor lists.
Build all the required neighbor lists for Quickstep.
...
Build a neighborlist
Write a set of neighbor lists to the output unit.

public Types:

TYPE :: local_atoms_type

...


INTEGER,
DIMENSION(:), POINTER :: list ...
INTEGER,
DIMENSION(:), POINTER :: list_local_a_index ...
INTEGER,
DIMENSION(:), POINTER :: list_local_b_index ...
INTEGER,
DIMENSION(:), POINTER :: list_1d ...
INTEGER,
DIMENSION(:), POINTER :: list_a_mol ...
INTEGER,
DIMENSION(:), POINTER :: list_b_mol ...

SUBROUTINEatom2d_build(atom2d, distribution_1d, distribution_2d, atomic_kind_set, molecule_set, molecule_only, particle_set)

Build some distribution structure of atoms, refactored from build_qs_neighbor_lists

Arguments:
:: atom2d(:) output
POINTER
:: distribution_1d ...
POINTER
:: distribution_2d ...
POINTER
:: atomic_kind_set(:) ...
POINTER
:: molecule_set(:) ...
LOGICAL
:: molecule_only ...
POINTER
:: particle_set(:) ...

SUBROUTINEatom2d_cleanup(atom2d)

free the internals of atom2d

Arguments:
:: atom2d(:) ...

SUBROUTINEbuild_neighbor_lists(ab_list, particle_set, atom, cell, pair_radius, subcells, mic, symmetric, molecular, subset_of_mol, current_subset, operator_type, name)

Build simple pair neighbor lists.

Arguments:
POINTER
:: ab_list(:) ...
POINTER
:: particle_set(:) ...
INTENT(in)
:: atom(:) ...
TYPE(cell_type),
POINTER
:: cell ...
REAL(dp),
INTENT(in)
:: pair_radius(:,:) ...
REAL(dp),
INTENT(in)
:: subcells ...
LOGICAL,
INTENT(in),
OPTIONAL
:: mic ...
LOGICAL,
INTENT(in),
OPTIONAL
:: symmetric ...
LOGICAL,
INTENT(in),
OPTIONAL
:: molecular ...
INTEGER,
OPTIONAL, POINTER
:: subset_of_mol(:) ...
INTEGER,
OPTIONAL
:: current_subset ...
CHARACTER(*),
INTENT(in),
OPTIONAL
:: operator_type ...
CHARACTER(*),
INTENT(in)
:: name ...

SUBROUTINEbuild_qs_neighbor_lists(qs_env, para_env, molecular, force_env_section)

Build all the required neighbor lists for Quickstep.

Arguments:
POINTER
:: qs_env ...
POINTER
:: para_env ...
LOGICAL,
OPTIONAL
:: molecular ...
POINTER
:: force_env_section ...

SUBROUTINEpair_radius_setup(present_a, present_b, radius_a, radius_b, pair_radius)

...

Arguments:
LOGICAL,
INTENT(in)
:: present_a(:) ...
LOGICAL,
INTENT(in)
:: present_b(:) ...
REAL(dp),
INTENT(in)
:: radius_a(:) ...
REAL(dp),
INTENT(in)
:: radius_b(:) ...
REAL(dp),
INTENT(out)
:: pair_radius(:,:) ...

SUBROUTINEsetup_neighbor_list(ab_list, basis_set_a, basis_set_b, qs_env, mic, symmetric, molecular, operator_type)

Build a neighborlist

Arguments:
POINTER
:: ab_list(:) ...
POINTER
:: basis_set_a(:) ...
OPTIONAL, POINTER
:: basis_set_b(:) ...
POINTER
:: qs_env ...
LOGICAL,
INTENT(in),
OPTIONAL
:: mic ...
LOGICAL,
INTENT(in),
OPTIONAL
:: symmetric ...
LOGICAL,
INTENT(in),
OPTIONAL
:: molecular ...
CHARACTER(*),
INTENT(in),
OPTIONAL
:: operator_type ...

SUBROUTINEwrite_neighbor_lists(ab, particle_set, cell, para_env, neighbor_list_section, nl_type, middle_name, name)

Write a set of neighbor lists to the output unit.

Arguments:
POINTER
:: ab(:) ...
POINTER
:: particle_set(:) ...
TYPE(cell_type),
POINTER
:: cell ...
POINTER
:: para_env ...
POINTER
:: neighbor_list_section ...
CHARACTER(*),
INTENT(in)
:: nl_type ...
CHARACTER(*),
INTENT(in)
:: middle_name ...
CHARACTER(*),
INTENT(in)
:: name ...