mindspore.ops.PMEEnergyUpdate

class mindspore.ops.PMEEnergyUpdate(atom_numbers, excluded_numbers, beta, fftx, ffty, fftz, box_length_0, box_length_1, box_length_2, max_neighbor_numbers=800, need_update=0)[source]

Calculate the Coulumb energy of the system using PME method for pressure.

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.

  • fftx (int32) – the number of points for Fourier transform in dimension X.

  • ffty (int32) – the number of points for Fourier transform in dimension Y.

  • fftz (int32) – the number of points for Fourier transform in dimension Z.

  • box_length_0 (float32) – the value of boxlength idx 0.

  • box_length_1 (float32) – the value of boxlength idx 1.

  • box_length_2 (float32) – the value of boxlength idx 2.

  • max_neighbor_numbers (int32) – the max neighbor numbers, m, default 800.

  • 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)\)

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

  • nl_numbers - (Tensor) - The each atom. The data type is int32 and the shape is \((n, 3)\)

  • nl_serial - (Tensor) - The neighbor list of each atom, the max number is 800. The data type is int32 and the shape is \((n, m)\)

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

  • 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,)\)

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

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

Outputs:
  • reciprocal_ene (Tensor) - The reciprocal term of PME energy. The data type is float32 and the the shape is \((1,)\).

  • self_ene (Tensor) - The self term of PME energy. The data type is float32 and the the shape is \((1,)\).

  • direct_ene (Tensor) - The direct term of PME energy. The data type is float32 and the the shape is \((1,)\).

  • correction_ene (Tensor) - The correction term of PME energy. The data type is float32 and the the shape is \((1,)\).

Supported Platforms:

GPU