TorchScript API reference¶
- class vesin.torch.NeighborList(cutoff: float, full_list: bool)¶
A neighbor list calculator that can be used with TorchScript.
- Parameters:
cutoff – spherical cutoff for this neighbor list
full_list – should we return each pair twice (as
i-j
andj-i
) or only once
- compute(points: Tensor, box: Tensor, periodic: bool, quantities: str, copy: bool = True) List[Tensor] ¶
Compute the neighbor list for the system defined by
positions
,box
, andperiodic
; returning the requestedquantities
.quantities
can contain any combination of the following values:"i"
to get the index of the first point in the pair"j"
to get the index of the second point in the pair"P"
to get the indexes of the two points in the pair simultaneously"S"
to get the periodic shift of the pair"d"
to get the distance between points in the pair"D"
to get the distance vector between points in the pair
- Parameters:
points – positions of all points in the system
box – bounding box of the system
periodic – should we use periodic boundary conditions?
quantities – quantities to return, defaults to “ij”
copy – should we copy the returned quantities, defaults to
True
. Setting this toFalse
might be a bit faster, but the returned tensors are view inside this class, and will be invalidated whenever this class is garbage collected or used to run a new calculation.
- Returns:
list of
torch.Tensor
as indicated byquantities
.
TorchScript API reference (C++)¶
-
using vesin_torch::NeighborList = torch::intrusive_ptr<NeighborListHolder>¶
NeighborListHolder
should be manipulated through atorch::intrusive_ptr
-
class NeighborListHolder : public torch::CustomClassHolder¶
Neighbor list calculator compatible with TorchScript.
Public Functions
-
NeighborListHolder(double cutoff, bool full_list, bool sorted = false)¶
Create a new calculator with the given
cutoff
.- Parameters:
full_list – whether pairs should be included twice in the output (both as
i-j
andj-i
) or only oncesorted – whether pairs should be sorted in the output
-
~NeighborListHolder()¶
-
std::vector<torch::Tensor> compute(torch::Tensor points, torch::Tensor box, bool periodic, std::string quantities, bool copy = true)¶
Compute the neighbor list for the system defined by
positions
,box
, andperiodic
; returning the requestedquantities
.quantities
can contain any combination of the following values:- `"i"` to get the index of the first point in the pair - `"j"` to get the index of the second point in the pair - `"p"` to get the indexes of the two points in the pair simultaneously - `"S"` to get the periodic shift of the pair - `"d"` to get the distance between points in the pair - `"D"` to get the distance vector between points in the pair
- Parameters:
points – positions of all points in the system
box – bounding box of the system
periodic – should we use periodic boundary conditions?
quantities – quantities to return, defaults to “ij”
copy – should we copy the returned quantities, defaults to
true
. Setting this toFalse
might be a bit faster, but the returned tensors are view inside this class, and will be invalidated whenever this class is garbage collected or used to run a new calculation.
- Returns:
a list of
torch::Tensor
as indicated byquantities
.
-
NeighborListHolder(double cutoff, bool full_list, bool sorted = false)¶