Chemical Data Processing Library C++ API - Version 1.2.0
|
Functions for the calculation of MMFF94 interaction energy gradients. More...
#include <algorithm>
#include "CDPL/ForceField/MMFF94BondStretchingInteraction.hpp"
#include "CDPL/ForceField/MMFF94AngleBendingInteraction.hpp"
#include "CDPL/ForceField/MMFF94StretchBendInteraction.hpp"
#include "CDPL/ForceField/MMFF94OutOfPlaneBendingInteraction.hpp"
#include "CDPL/ForceField/MMFF94TorsionInteraction.hpp"
#include "CDPL/ForceField/MMFF94VanDerWaalsInteraction.hpp"
#include "CDPL/ForceField/MMFF94ElectrostaticInteraction.hpp"
#include "CDPL/ForceField/UtilityFunctions.hpp"
Go to the source code of this file.
Namespaces | |
CDPL | |
The namespace of the Chemical Data Processing Library. | |
CDPL::ForceField | |
Contains classes and functions related to molecular force fields. | |
Functions | |
template<typename ValueType , typename Iter , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94BondStretchingGradient (Iter beg, const Iter &end, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94BondStretchingGradient (const MMFF94BondStretchingInteraction &iaction, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsVec , typename GradVec > | |
ValueType | CDPL::ForceField::calcMMFF94BondStretchingGradient (const CoordsVec &atom1_pos, const CoordsVec &atom2_pos, GradVec &atom1_grad, GradVec &atom2_grad, const ValueType &force_const, const ValueType &ref_length) |
Calculates the bond stretching interaction energy gradient \( \nabla EB_{ij} \) for the bond i-j. More... | |
template<typename ValueType , typename Iter , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94AngleBendingGradient (Iter beg, const Iter &end, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94AngleBendingGradient (const MMFF94AngleBendingInteraction &iaction, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsVec , typename GradVec > | |
ValueType | CDPL::ForceField::calcMMFF94AngleBendingGradient (const CoordsVec &term_atom1_pos, const CoordsVec &ctr_atom_pos, const CoordsVec &term_atom2_pos, GradVec &term_atom1_grad, GradVec &ctr_atom_grad, GradVec &term_atom2_grad, bool linear, const ValueType &force_const, const ValueType &ref_angle) |
Calculates the angle bending interaction energy gradient \( \nabla EA_{ijk} \) for two bonds i-j and j-k. More... | |
template<typename ValueType , typename Iter , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94StretchBendGradient (Iter beg, const Iter &end, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94StretchBendGradient (const MMFF94StretchBendInteraction &iaction, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsVec , typename GradVec > | |
ValueType | CDPL::ForceField::calcMMFF94StretchBendGradient (const CoordsVec &term_atom1_pos, const CoordsVec &ctr_atom_pos, const CoordsVec &term_atom2_pos, GradVec &term_atom1_grad, GradVec &ctr_atom_grad, GradVec &term_atom2_grad, const ValueType &ijk_force_const, const ValueType &kji_force_const, const ValueType &ref_angle, const ValueType &ref_length1, const ValueType &ref_length2) |
Calculates the stretch-bend interaction energy gradient \( \nabla EBA_{ijk} \) for two bonds i-j and j-k. More... | |
template<typename ValueType , typename Iter , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94OutOfPlaneBendingGradient (Iter beg, const Iter &end, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94OutOfPlaneBendingGradient (const MMFF94OutOfPlaneBendingInteraction &iaction, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsVec , typename GradVec > | |
ValueType | CDPL::ForceField::calcMMFF94OutOfPlaneBendingGradient (const CoordsVec &term_atom1_pos, const CoordsVec &ctr_atom_pos, const CoordsVec &term_atom2_pos, const CoordsVec &oop_atom_pos, GradVec &term_atom1_grad, GradVec &ctr_atom_grad, GradVec &term_atom2_grad, GradVec &oop_atom_grad, const ValueType &force_const) |
Calculates the out-of-plane bending interaction energy gradient \( \nabla EOOP_{ijk;l} \) for the bond j-l and the plane i-j-k. More... | |
template<typename ValueType , typename Iter , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94TorsionGradient (Iter beg, const Iter &end, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94TorsionGradient (const MMFF94TorsionInteraction &iaction, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsVec , typename GradVec > | |
ValueType | CDPL::ForceField::calcMMFF94TorsionGradient (const CoordsVec &term_atom1_pos, const CoordsVec &ctr_atom1_pos, const CoordsVec &ctr_atom2_pos, const CoordsVec &term_atom2_pos, GradVec &term_atom1_grad, GradVec &ctr_atom1_grad, GradVec &ctr_atom2_grad, GradVec &term_atom2_grad, const ValueType &tor_param1, const ValueType &tor_param2, const ValueType &tor_param3) |
Calculates the torsion interaction energy gradient \( \nabla ET_{ijkl} \) for the central bond j-k and the connected bonds i-j and k-l. More... | |
template<typename ValueType , typename Iter , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94ElectrostaticGradient (Iter beg, const Iter &end, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94ElectrostaticGradient (const MMFF94ElectrostaticInteraction &iaction, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsVec , typename GradVec > | |
ValueType | CDPL::ForceField::calcMMFF94ElectrostaticGradient (const CoordsVec &atom1_pos, const CoordsVec &atom2_pos, GradVec &atom1_grad, GradVec &atom2_grad, const ValueType &atom1_chg, const ValueType &atom2_chg, const ValueType &scale_fact, const ValueType &de_const, const ValueType &dist_expo) |
Calculates the electrostatic interaction energy gradient \( \nabla EQ_{ij} \) for the atom pair i-j. More... | |
template<typename ValueType , typename Iter , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94VanDerWaalsGradient (Iter beg, const Iter &end, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsArray , typename GradVector > | |
ValueType | CDPL::ForceField::calcMMFF94VanDerWaalsGradient (const MMFF94VanDerWaalsInteraction &iaction, const CoordsArray &coords, GradVector &grad) |
template<typename ValueType , typename CoordsVec , typename GradVec > | |
ValueType | CDPL::ForceField::calcMMFF94VanDerWaalsGradient (const CoordsVec &atom1_pos, const CoordsVec &atom2_pos, GradVec &atom1_grad, GradVec &atom2_grad, const ValueType &e_IJ, const ValueType &r_IJ, const ValueType &r_IJ_7) |
Calculates the van der Waals interaction energy gradient \( \nabla E_{vdW_{ij}} \) for the atom pair i-j. More... | |
Functions for the calculation of MMFF94 interaction energy gradients.