Function DP_DeepSpinCompute3

Function DP_DeepSpinCompute3#

Function Documentation#

void DP_DeepSpinCompute3(DP_DeepSpin *dp, const int nframes, const int natoms, const double *coord, const double *spin, const int *atype, const double *cell, const double *fparam, const double *aparam, const double *charge_spin, double *energy, double *force, double *force_mag, double *virial, double *atomic_energy, double *atomic_virial)#

Evaluate the energy, force, magnetic force and virial by using a DP spin model. (double version, with charge_spin).

Since

API version 29

Warning

The output arrays should be allocated before calling this function. Pass NULL if not required.

Parameters:
  • dp – [in] The DP spin model to use.

  • nframes – [in] The number of frames.

  • natoms – [in] The number of atoms.

  • coord – [in] The coordinates of atoms. The array should be of size nframes x natoms x 3.

  • spin – [in] The spins of atoms. The array should be of size nframes x natoms x 3.

  • atype – [in] The atom types. The array should contain natoms ints.

  • cell – [in] The cell of the region. The array should be of size nframes x 9. Pass NULL if pbc is not used.

  • fparam – [in] The frame parameters. The array can be of size nframes x dim_fparam.

  • aparam – [in] The atom parameters. The array can be of size nframes x natoms x dim_aparam.

  • charge_spin – [in] The per-frame charge/spin input. The array can be of size nframes x dim_chg_spin. Pass NULL to use the model’s stored default_chg_spin.

  • energy – [out] Output energy.

  • force – [out] Output force. The array should be of size natoms x 3.

  • force_mag – [out] Output magnetic force. The array should be of size natoms x 3.

  • virial – [out] Output virial. The array should be of size 9.

  • atomic_energy – [out] Output atomic energy. The array should be of size natoms.

  • atomic_virial – [out] Output atomic virial. The array should be of size natoms x 9.