Loading...
Searching...
No Matches
forcefield.h File Reference
`#include <vector>`
`#include <string>`
`#include <openbabel/babelconfig.h>`
`#include <openbabel/mol.h>`
`#include <openbabel/atom.h>`
`#include <openbabel/plugin.h>`
`#include <openbabel/bitvec.h>`
`#include <float.h>`
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes

struct | LineSearchType
class | OBFFParameter
class | OBFFCalculation2
class | OBFFCalculation3
class | OBFFCalculation4
class | OBFFConstraint
class | OBFFConstraints
class | OBForceField

## Namespaces

namespace | OpenBabel

## Macros

#define | OBFF_LOGLVL_NONE 0
#define | OBFF_LOGLVL_LOW 1
#define | OBFF_LOGLVL_MEDIUM 2
#define | OBFF_LOGLVL_HIGH 3
#define | OBFF_ENERGY (1 << 0)
#define | OBFF_EBOND (1 << 1)
#define | OBFF_EANGLE (1 << 2)
#define | OBFF_ESTRBND (1 << 3)
#define | OBFF_ETORSION (1 << 4)
#define | OBFF_EOOP (1 << 5)
#define | OBFF_EVDW (1 << 6)
#define | OBFF_EELECTROSTATIC (1 << 7)
#define | OBFF_CONST_IGNORE (1 << 0)
#define | OBFF_CONST_ATOM (1 << 1)
#define | OBFF_CONST_ATOM_X (1 << 2)
#define | OBFF_CONST_ATOM_Y (1 << 3)
#define | OBFF_CONST_ATOM_Z (1 << 4)
#define | OBFF_CONST_DISTANCE (1 << 5)
#define | OBFF_CONST_ANGLE (1 << 6)
#define | OBFF_CONST_TORSION (1 << 7)
#define | OBFF_CONST_CHIRAL (1 << 8)
#define | OBFF_NUMERICAL_GRADIENT (1 << 0)
#define | OBFF_ANALYTICAL_GRADIENT (1 << 1)
#define | IF_OBFF_LOGLVL_LOW if(_loglvl >= OBFF_LOGLVL_LOW)
#define | IF_OBFF_LOGLVL_MEDIUM if(_loglvl >= OBFF_LOGLVL_MEDIUM)
#define | IF_OBFF_LOGLVL_HIGH if(_loglvl >= OBFF_LOGLVL_HIGH)

## Variables

const double | KCAL_TO_KJ = 4.1868
const double | GAS_CONSTANT = 8.31446261815324e-3 / KCAL_TO_KJ

## Detailed Description

Handle forcefields.

## Macro Definition Documentation

## OBFF_LOGLVL_NONE

#define OBFF_LOGLVL_NONE 0

no output

Referenced by OBForceField::RandomRotorSearchInitialize(), OBForceField::RandomRotorSearchNextConformer(), OBForceField::SystematicRotorSearchNextConformer(), and OBForceField::WeightedRotorSearch().

## OBFF_LOGLVL_LOW

#define OBFF_LOGLVL_LOW 1

SteepestDescent progress... (no output from Energy()).

## OBFF_LOGLVL_MEDIUM

#define OBFF_LOGLVL_MEDIUM 2

individual energy terms

## OBFF_LOGLVL_HIGH

#define OBFF_LOGLVL_HIGH 3

individual calculations and parameters

## OBFF_ENERGY

#define OBFF_ENERGY (1 << 0)

all terms

Referenced by OBForceField::GetGradient(), OBForceField::NumericalDerivative(), and OBForceField::NumericalSecondDerivative().

## OBFF_EBOND

#define OBFF_EBOND (1 << 1)

bond term

Referenced by OBForceField::NumericalDerivative(), and OBForceField::NumericalSecondDerivative().

## OBFF_EANGLE

#define OBFF_EANGLE (1 << 2)

angle term

Referenced by OBForceField::NumericalDerivative(), and OBForceField::NumericalSecondDerivative().

## OBFF_ESTRBND

#define OBFF_ESTRBND (1 << 3)

strbnd term

Referenced by OBForceField::NumericalDerivative(), and OBForceField::NumericalSecondDerivative().

## OBFF_ETORSION

#define OBFF_ETORSION (1 << 4)

torsion term

Referenced by OBForceField::NumericalDerivative(), and OBForceField::NumericalSecondDerivative().

## OBFF_EOOP

#define OBFF_EOOP (1 << 5)

oop term

Referenced by OBForceField::NumericalDerivative(), and OBForceField::NumericalSecondDerivative().

## OBFF_EVDW

#define OBFF_EVDW (1 << 6)

vdw term

Referenced by OBForceField::NumericalDerivative(), and OBForceField::NumericalSecondDerivative().

## OBFF_EELECTROSTATIC

#define OBFF_EELECTROSTATIC (1 << 7)

electrostatic term

Referenced by OBForceField::NumericalDerivative(), and OBForceField::NumericalSecondDerivative().

## OBFF_CONST_IGNORE

#define OBFF_CONST_IGNORE (1 << 0)

ignore the atom while setting up calculations

Referenced by OBFFConstraints::AddIgnore(), and OBFFConstraints::DeleteConstraint().

## OBFF_CONST_ATOM

#define OBFF_CONST_ATOM (1 << 1)

fix the atom position

Referenced by OBFFConstraints::AddAtomConstraint(), and OBFFConstraints::DeleteConstraint().

## OBFF_CONST_ATOM_X

#define OBFF_CONST_ATOM_X (1 << 2)

fix the x coordinate of the atom position

Referenced by OBFFConstraints::AddAtomXConstraint(), and OBFFConstraints::DeleteConstraint().

## OBFF_CONST_ATOM_Y

#define OBFF_CONST_ATOM_Y (1 << 3)

fix the y coordinate of the atom position

Referenced by OBFFConstraints::AddAtomYConstraint(), and OBFFConstraints::DeleteConstraint().

## OBFF_CONST_ATOM_Z

#define OBFF_CONST_ATOM_Z (1 << 4)

fix the z coordinate of the atom position

Referenced by OBFFConstraints::AddAtomZConstraint(), and OBFFConstraints::DeleteConstraint().

## OBFF_CONST_DISTANCE

#define OBFF_CONST_DISTANCE (1 << 5)

constrain distance length

Referenced by OBFFConstraints::AddDistanceConstraint(), and OBFFConstraints::GetConstraintEnergy().

## OBFF_CONST_ANGLE

#define OBFF_CONST_ANGLE (1 << 6)

constrain angle

Referenced by OBFFConstraints::AddAngleConstraint(), and OBFFConstraints::GetConstraintEnergy().

## OBFF_CONST_TORSION

#define OBFF_CONST_TORSION (1 << 7)

constrain torsion

Referenced by OBFFConstraints::AddTorsionConstraint(), and OBFFConstraints::GetConstraintEnergy().

## OBFF_CONST_CHIRAL

#define OBFF_CONST_CHIRAL (1 << 8)

constrain chiral volume

## OBFF_NUMERICAL_GRADIENT

#define OBFF_NUMERICAL_GRADIENT (1 << 0)

use numerical gradients

## OBFF_ANALYTICAL_GRADIENT

#define OBFF_ANALYTICAL_GRADIENT (1 << 1)

use analytical gradients

## IF_OBFF_LOGLVL_LOW

#define IF_OBFF_LOGLVL_LOW if(_loglvl >= OBFF_LOGLVL_LOW)

Referenced by OBForceField::ConjugateGradientsInitialize(), OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::DistanceGeometry(), OBForceField::PrintFormalCharges(), OBForceField::PrintPartialCharges(), OBForceField::PrintTypes(), OBForceField::PrintVelocities(), OBForceField::RandomRotorSearchInitialize(), OBForceField::RandomRotorSearchNextConformer(), OBForceField::SteepestDescentInitialize(), OBForceField::SteepestDescentTakeNSteps(), OBForceField::SystematicRotorSearchInitialize(), OBForceField::SystematicRotorSearchNextConformer(), OBForceField::ValidateConjugateGradients(), OBForceField::ValidateSteepestDescent(), and OBForceField::WeightedRotorSearch().

## IF_OBFF_LOGLVL_MEDIUM

#define IF_OBFF_LOGLVL_MEDIUM if(_loglvl >= OBFF_LOGLVL_MEDIUM)

## IF_OBFF_LOGLVL_HIGH

#define IF_OBFF_LOGLVL_HIGH if(_loglvl >= OBFF_LOGLVL_HIGH)

Referenced by OBForceField::WeightedRotorSearch().