mindspore.ops.PMEExcludedForceUpdate

class mindspore.ops.PMEExcludedForceUpdate(atom_numbers, excluded_numbers, beta, need_update=0)[source]

Calculate the excluded part of long-range Coulumb force using PME(Particle Meshed Ewald) method for pressure. Assume the number of atoms is n, and the length of excluded list is E.

Because there is a large amount of inputs and each of them are related, there is no way to construct Examples using random methods. For details, refer the webpage SPONGE in MindSpore.

Warning

This is an experimental prototype that is subject to change and/or deletion.

Parameters
  • atom_numbers (int32) – the number of atoms, n.

  • excluded_numbers (int32) – the length of excluded list, E.

  • beta (float32) – the PME beta parameter, determined by the non-bond cutoff value and simulation precision tolerance.

  • need_update (int32) – if need_update = 1, calculate the pressure, default 0.

Inputs:
  • uint_crd (Tensor) - The unsigned int coordinates value of each atom. The data type is uint32 and the shape is \((n, 3)\)

  • scaler (Tensor) - The scale factor between real space coordinates and its unsigned int value. The data type is float32 and the shape is \((3,)\)

  • charge (Tensor) - The charge carried by each atom. The data type is float32 and the shape is \((n,)\)

  • excluded_list_start (Tensor) - The start excluded index in excluded list for each atom. The data type is int32 and the shape is \((n,)\)

  • excluded_list (Tensor) - The contiguous join of excluded list of each atom. E is the number of excluded atoms. The data type is int32 and the shape is \((E,)\)

  • excluded_atom_numbers (Tensor) - The number of atom excluded in excluded list for each atom. The data type is int32 and the shape is \((n,)\)

  • beta (Tensor) - The PME beta parameter to be updated in pressure calculation. The data type is float32 and the shape is \((1,)\)

Outputs:
  • force (Tensor) - The force felt by each atom. The data type is float32 and the shape is \((n, 3)\)

Supported Platforms:

GPU