pydft_qmmm.interfaces.interface.MMInterface¶
- class pydft_qmmm.interfaces.interface.MMInterface(system)[source]¶
Bases:
SoftwareInterface
The abstract MM interface base class.
- Parameters:
system (
System
) – The system that will inform the interface to the external software.
- theory_level¶
The level of theory that the software applies in energy and force calculations.
Methods
add_non_elst
(atoms[, inclusion])Add a non-electrostatic interaction for the specified atoms.
add_real_elst
(atoms[, const, inclusion])Add Coulomb interaction for the specified atoms.
Get the parameters used for PME summation.
zero_charges
(atoms)Remove charges from the specified atoms.
zero_forces
(atoms)Zero forces on the specified atoms.
zero_intermolecular
(atoms)Remove inter-molecular interactions for the specified atoms.
zero_intramolecular
(atoms)Remove intra-molecular interactions for the specified atoms.
- abstractmethod add_non_elst(atoms, inclusion=None)[source]¶
Add a non-electrostatic interaction for the specified atoms.
- Parameters:
atoms (
frozenset
[int
]) – The indices of atoms for which to add non-electrostatic, non-bonded interactions.inclusion (
ndarray
[tuple
[Any
,...
],dtype
[float64
]] |None
, default:None
) – An Nx3 array with values that will be applied to the forces of the non-electrostatic interaction through element-wise multiplication.
- Return type:
- abstractmethod add_real_elst(atoms, const=1, inclusion=None)[source]¶
Add Coulomb interaction for the specified atoms.
- Parameters:
atoms (
frozenset
[int
]) – The indices of atoms for which to add a Coulomb interaction.const (
float
|int
, default:1
) – A constant to multiply at the beginning of the coulomb expression.inclusion (
ndarray
[tuple
[Any
,...
],dtype
[float64
]] |None
, default:None
) – An Nx3 array with values that will be applied to the forces of the Coulomb interaction through element-wise multiplication.
- Return type: