High-level fortran interface to vesin.
This is the recomended interface to vesin, taking care of data conversion from and to the C API for you.
Initialize a NeighborList.
The cutoff and full options are mandatory, the other are optional
and default to .false.
| Type | Intent | Optional | 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 |
||
| logical, | intent(in), | optional | :: | sorted |
Should the neighbor list be sorted? If yes, the returned pairs will be sorted using lexicographic order. |
|
| logical, | intent(in), | optional | :: | return_shifts |
Should the returned |
|
| logical, | intent(in), | optional | :: | return_distances |
Should the returned |
|
| logical, | intent(in), | optional | :: | return_vectors |
Should the returned |
| Type | Intent | Optional | 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 |
||
| logical, | intent(in), | optional | :: | sorted |
Should the neighbor list be sorted? If yes, the returned pairs will be sorted using lexicographic order. |
|
| logical, | intent(in), | optional | :: | return_shifts |
Should the returned |
|
| logical, | intent(in), | optional | :: | return_distances |
Should the returned |
|
| logical, | intent(in), | optional | :: | return_vectors |
Should the returned |
A neighbor list calculator.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | errmsg |
Latest error message |
||
| integer(kind=c_size_t), | public | :: | length | = | 0_c_size_t |
Number of pairs in the list |
|
| integer(kind=c_size_t), | public, | pointer | :: | pairs(:,:) | => | null() |
Array of pairs (storing the indices of the first and second point in
the pair). The shape is |
| integer(kind=c_int32_t), | public, | pointer | :: | shifts(:,:) | => | null() |
Array of box shifts, one for each |
| real(kind=c_double), | public, | pointer | :: | distances(:) | => | null() |
Array of pair distance (i.e. distance between the two points), one
for each |
| real(kind=c_double), | public, | pointer | :: | vectors(:,:) | => | null() |
Array of pair vector (i.e. vector between the two points), one
for each |
Initialize a NeighborList.
| private function vesin_construct_c_float (cutoff, full, sorted, return_shifts, return_distances, return_vectors) | |
| private function vesin_construct_c_double (cutoff, full, sorted, return_shifts, return_distances, return_vectors) |
| generic, public :: compute => vesin_compute_c_double | |
| generic, public :: compute => vesin_compute_c_float | |
| procedure, public :: free => vesin_destroy |