sponge.function.calc_torsion
- sponge.function.calc_torsion(position_a: Tensor, position_b: Tensor, position_c: Tensor, position_d: Tensor, pbc_box: Tensor = None, keepdims: bool = False)[source]
Compute torsion angle
formed by four positions , , and with or without periodic boundary condition.- Parameters
position_a (Tensor) – Tensor of shape
. Data type is float. D is spatial dimension of the simulation system. Usually is 3. Position coordinate of point .position_b (Tensor) – Tensor of shape
. Data type is float. Position coordinate of point .position_c (Tensor) – Tensor of shape
. Data type is float. Position coordinate of point .position_d (Tensor) – Tensor of shape
. Data type is float. Position coordinate of point .pbc_box (Tensor) – Tensor of shape
or . Data type is float. B is batchsize, i.e. number of walkers in simulation. Size of PBC box . Default:None
.keepdims (bool) – If this is set to
True
, the last axis will be left in the result as dimensions with size one. Default:False
.
- Returns
torsion (Tensor), a tensor of shape
or . 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_torsion >>> crd = Tensor(np.random.random((4, 3)), ms.float32) >>> pbc_box = Tensor([[3, 3, 3]], ms.float32) >>> calc_torsion(crd[0], crd[1], crd[2], crd[3], pbc_box) Tensor(shape=[1], dtype=Float32, value= [-2.33294296e+00])