oqp.library.qmmm_driver

Classes

OpenQpQMMM

Functions

unpack_lower_tri_single(packed_atom, nbf)

unpack_lower_tri_multi(packed, nbf, natm)

pack_lower_tri_single(full)

read_xyz(filepath)

Module Contents

unpack_lower_tri_single(packed_atom, nbf)
Unpack a single lower-triangular packed array (length nbf*(nbf+1)/2)
into a full symmetric (nbf x nbf) matrix.
unpack_lower_tri_multi(packed, nbf, natm)
pack_lower_tri_single(full)
read_xyz(filepath)
Read a standard XYZ file.

:returns: * **symbols** (*list of str*)
          * **coords** (*np.ndarray, shape (natom, 3)  –  Angstroms*)
class OpenQpQMMM(positions, topology, forcefield, qm_atoms, oqp_cfg=None, mol=None, Cutoff=app.NoCutoff, Embedding='mechanical', frontier_scheme='none')
Low-level QM/MM driver using OpenMM (MM) + OpenQP (QM).

Two modes:
  1. **Config mode** – ``oqp_cfg`` (dict).
  2. **Mol mode**    – pre-built ``mol`` object.

Exactly one of ``oqp_cfg`` / ``mol`` must be provided.
positions
topology
forcefield
qm_atoms
Cutoff
Embedding = 'mechanical'
use_mol
op = None
espf_full = False
frontier_scheme = ''
mm_systems
forces_qm_openqp(potmm=None, potqm=None)
forces_mm(pchg_qm)
compute_force(positions, topology, mm_systems, qm_atoms)
prepare_mm()
electrostatic_potential()