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 |