votca 2026-dev
Loading...
Searching...
No Matches
votca::xtp::FragmentSaturator Class Reference

Saturates a mapped QMMolecule's own, real, external (i.e. covalently bonded at the MD level, but mapped out of this fragment/segment) bonds with new H atoms. More...

#include <fragmentsaturator.h>

Classes

struct  SaturationResult

Static Public Member Functions

static SaturationResult SaturateExternalBonds (const QMMolecule &mol, double bond_length_angstrom=kDefaultCHBondLengthAngstrom)
static QMMolecule RelaxNewAtoms (const QMMolecule &mol, Index n_original_atoms, Index n_steps=500)

Static Public Attributes

static constexpr double kDefaultCHBondLengthAngstrom = 1.09

Detailed Description

Saturates a mapped QMMolecule's own, real, external (i.e. covalently bonded at the MD level, but mapped out of this fragment/segment) bonds with new H atoms.

This is deliberately the isolated, purely geometric placement step only – given a direction (already recorded on each QMAtom by SegmentMapper, and already rigid-body-transformed into this fragment's own, mapped/idealized reference frame – see QMAtom::hasExternalBond()/getExternalBondDirection() and Md2QmEngine::map()'s own header comment for how that direction was originally computed), places a new H atom at a standard, typical bond length along it. It does NOT attempt any relaxation of the new H's own position at all – confirmed directly, this session, by an actual, real DFT-level test, that this initial, purely geometric placement alone carries a real, non-trivial error (~0.08 Angstrom, for a deliberately, realistically distorted MD segment) – a follow-up, constrained relaxation step (planned separately, not yet implemented) is expected to be necessary for most real use, not merely an optional refinement. This class's own, single responsibility is only the initial placement itself.

Definition at line 52 of file fragmentsaturator.h.

Member Function Documentation

◆ RelaxNewAtoms()

QMMolecule votca::xtp::FragmentSaturator::RelaxNewAtoms ( const QMMolecule & mol,
Index n_original_atoms,
Index n_steps = 500 )
static

Definition at line 105 of file fragmentsaturator.cc.

◆ SaturateExternalBonds()

FragmentSaturator::SaturationResult votca::xtp::FragmentSaturator::SaturateExternalBonds ( const QMMolecule & mol,
double bond_length_angstrom = kDefaultCHBondLengthAngstrom )
static

Definition at line 38 of file fragmentsaturator.cc.

Member Data Documentation

◆ kDefaultCHBondLengthAngstrom

double votca::xtp::FragmentSaturator::kDefaultCHBondLengthAngstrom = 1.09
staticconstexpr

Definition at line 64 of file fragmentsaturator.h.


The documentation for this class was generated from the following files: