sponge.function.calc_torsion_pbc
- sponge.function.calc_torsion_pbc(position_a: Tensor, position_b: Tensor, position_c: Tensor, position_d: Tensor, pbc_box: Tensor, keepdims: bool = False)[source]
Compute torsion angle A-B-C-D formed by four positions \(A\), \(B\), \(C\) and \(D\) at periodic boundary condition.
- Parameters
position_a (Tensor) – Tensor of shape \((..., D)\). Data type is float. D is spatial dimension of the simulation system. Usually is 3. Position coordinate of point \(A\).
position_b (Tensor) – Tensor of shape \((..., D)\). Data type is float. Position coordinate of point \(B\).
position_c (Tensor) – Tensor of shape \((..., D)\). Data type is float. Position coordinate of point \(C\).
position_d (Tensor) – Tensor of shape \((..., D)\). Data type is float. Position coordinate of point \(D\).
pbc_box (Tensor) – Tensor of shape \((D)\) or \((B, D)\). Data type is float. B is batchsize, i.e. number of walkers in simulation Size of PBC box \(\vec{L}\).
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 \((..., 1)\). Data type is float.
- Supported Platforms:
Ascend
GPU