autofragment.partitioners.qmmm

QM/MM partitioner for multi-level calculations.

This module provides a partitioner specifically designed for QM/MM calculations, including QM region selection, buffer zone generation, and link atom placement.

Example

>>> from autofragment.partitioners.qmmm import QMMMPartitioner, AtomSelection
>>> selection = AtomSelection(atom_indices={0, 1, 2, 3, 4})
>>> partitioner = QMMMPartitioner(qm_selection=selection, buffer_radius=5.0)
>>> system = ChemicalSystem.from_molecules(molecules)
>>> result = partitioner.partition(system)

Classes

AtomSelection(atom_indices)

Select QM region by explicit atom indices.

CombinedSelection(selections[, mode])

Combine multiple selection strategies.

DistanceSelection(center, radius)

Select QM region by distance from a center point.

QMMMPartitioner(qm_selection[, ...])

Partitioner for QM/MM calculations.

QMMMResult(qm_atoms, buffer_atoms, mm_atoms)

Result of QM/MM partitioning.

QMSelection()

Abstract base class for QM region selection strategies.

ResidueSelection([residue_names, ...])

Select QM region by residue name or number.

TopologySelection(seed_atoms[, mode, hops, ...])

Select QM region by topology or nearest-neighbor neighborhood shells.