pydft_qmmm.interfaces.interface.MMInterface¶
- class pydft_qmmm.interfaces.interface.MMInterface(system)[source]¶
Bases:
SoftwareInterfaceThe 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: