mindspore.ops.PMEReciprocalForce
- class mindspore.ops.PMEReciprocalForce(atom_numbers, beta, fftx, ffty, fftz, box_length_0, box_length_1, box_length_2)[source]
Calculate the reciprocal part of long-range Coulumb force using PME(Particle Meshed Ewald) method. Assume the number of atoms is n.
The detailed calculation formula of PME(Particle Meshed Ewald) method can be found in this paper: A Smooth Particle Mesh Ewald Method. DOI: 10.1063/1.470117.
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.
- Parameters
atom_numbers (int32) – the number of atoms, n.
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
- 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,)\)
- Outputs:
force (Tensor) - The force felt by each atom. The data type is float32 and the shape is \((n, 3)\)
- Supported Platforms:
GPU