NeighborList Interface

public interface NeighborList

Initialize a NeighborList.

The cutoff and full options are mandatory, the other are optional and default to .false.


Module Procedures

private function vesin_construct_c_float(cutoff, full, sorted, algorithm, return_shifts, return_distances, return_vectors) result(self)

Arguments

Type IntentOptional Attributes Name
real(kind=c_float), intent(in) :: cutoff

Spherical cutoff, only pairs below this cutoff will be included

logical, intent(in) :: full

Should the returned neighbor list be a full list (include both i -> j and j -> i pairs) or a half list (include only i -> j)?

logical, intent(in), optional :: sorted

Should the neighbor list be sorted? If yes, the returned pairs will be sorted using lexicographic order.

integer(kind=c_int32_t), intent(in), optional :: algorithm

Algorithm to use for the neighbor list calculation (one of VesinAutoAlgorithm, ! VesinBruteForceAlgorithm, or VesinCellListAlgorithm)

logical, intent(in), optional :: return_shifts

Should the returned VesinNeighborList contain shifts?

logical, intent(in), optional :: return_distances

Should the returned VesinNeighborList contain distances?

logical, intent(in), optional :: return_vectors

Should the returned VesinNeighborList contain vector?

Return Value type(NeighborList)

private function vesin_construct_c_double(cutoff, full, sorted, algorithm, return_shifts, return_distances, return_vectors) result(self)

Arguments

Type IntentOptional Attributes Name
real(kind=c_double), intent(in) :: cutoff

Spherical cutoff, only pairs below this cutoff will be included

logical, intent(in) :: full

Should the returned neighbor list be a full list (include both i -> j and j -> i pairs) or a half list (include only i -> j)?

logical, intent(in), optional :: sorted

Should the neighbor list be sorted? If yes, the returned pairs will be sorted using lexicographic order.

integer(kind=c_int32_t), intent(in), optional :: algorithm

Algorithm to use for the neighbor list calculation (one of VesinAutoAlgorithm, ! VesinBruteForceAlgorithm, or VesinCellListAlgorithm)

logical, intent(in), optional :: return_shifts

Should the returned VesinNeighborList contain shifts?

logical, intent(in), optional :: return_distances

Should the returned VesinNeighborList contain distances?

logical, intent(in), optional :: return_vectors

Should the returned VesinNeighborList contain vector?

Return Value type(NeighborList)