Files
rdkit/Code/ForceField/MMFF/testMMFFForceField.h
nmaeder a45d4d9857 New contribs for DG (#7711)
* add angles and distances

* add Inversions

* add torsiona angle contribs

* use new contribs in test

* use new inversion and torsion contribs in dg

* use new distance contribs in dg

* use new angle constraints in dg

* use new constraints in FF tests

* update docstrings

* remove unused import

* include new contribs

* cleanup includes

* make changes requested by @greglandrum

* use std::move instead of release
2024-08-21 06:06:58 +02:00

76 lines
2.0 KiB
C++

//
// Copyright (C) 2013 Paolo Tosco
//
// @@ All Rights Reserved @@
// This file is part of the RDKit.
// The contents are covered by the terms of the BSD license
// which is included in the file license.txt, found at the root
// of the RDKit source tree.
//
class BondStretchInstance {
public:
unsigned int idx;
unsigned int iAtomType;
unsigned int jAtomType;
unsigned int ffType;
double kb;
};
class AngleBendInstance {
public:
unsigned int idx;
unsigned int iAtomType;
unsigned int jAtomType;
unsigned int kAtomType;
unsigned int ffType;
double ka;
};
class StretchBendInstance {
public:
unsigned int idx;
unsigned int iAtomType;
unsigned int jAtomType;
unsigned int kAtomType;
unsigned int ffType;
double kba;
};
class OopBendInstance {
public:
unsigned int idx;
unsigned int iAtomType;
unsigned int jAtomType;
unsigned int kAtomType;
unsigned int lAtomType;
double koop;
};
class TorsionInstance {
public:
unsigned int idx;
unsigned int iAtomType;
unsigned int jAtomType;
unsigned int kAtomType;
unsigned int lAtomType;
unsigned int ffType;
double V1;
double V2;
double V3;
};
bool fexist(std::string filename);
bool fgrep(std::fstream &fStream, std::string key);
bool fgrep(std::fstream &fStream, std::string key, std::string &line);
void skipLines(std::istream &stream, unsigned int nLines);
bool sortAngleBendInstanceVec(AngleBendInstance *a, AngleBendInstance *b);
bool sortBondStretchInstanceVec(BondStretchInstance *a, BondStretchInstance *b);
bool sortOopBendInstanceVec(OopBendInstance *a, OopBendInstance *b);
bool sortStretchBendInstanceVec(StretchBendInstance *a, StretchBendInstance *b);
bool sortTorsionInstanceVec(TorsionInstance *a, TorsionInstance *b);
void fixAngleBendInstance(AngleBendInstance *angleBendInstance);
void fixBondStretchInstance(BondStretchInstance *bondStretchInstance);
void fixOopBendInstance(OopBendInstance *oopBendInstance);
void fixTorsionInstance(TorsionInstance *torsionInstance);