sponge.function.calc_vector_pbc
- sponge.function.calc_vector_pbc(initial: Tensor, terminal: Tensor, pbc_box: Tensor)[source]
Compute vector from initial point to terminal point at perodic bundary condition.
- Parameters
initial (Tensor) – Tensor of shape \((..., D)\), where \(D\) is the spatial dimension of the simulation system (usually 3). Data type is float. Position coordinate of initial point
terminal (Tensor) – Tensor of shape \((..., D)\). Data type is float. Position coordinate of terminal point
pbc_box (Tensor) – Tensor of shape \((D)\) or \((B, D)\), where \(B\) is the batchsize (i.e., number of walkers in simulation). Data type is float. Size of PBC box.
- Returns
vector (Tensor), a tensor of shape \((..., D)\). Data type is float.
- Supported Platforms:
Ascend
GPU
Examples
>>> import mindspore as ms >>> import numpy as np >>> from mindspore import Tensor >>> from sponge.function import calc_vector_pbc >>> crd = Tensor(np.random.random((4, 3)), ms.float32) >>> pbc_box = Tensor([[3, 3, 3]], ms.float32) >>> calc_vector_pbc(crd[0], crd[1], pbc_box) Tensor(shape=[1, 3], dtype=Float32, value= [[ 6.60338998e-02, 1.31848425e-01, 2.01904625e-01]])