org.jmol.minimize.forcefield
Class ForceField

java.lang.Object
  extended by org.jmol.minimize.forcefield.ForceField
Direct Known Subclasses:
ForceFieldUFF

public abstract class ForceField
extends Object


Field Summary
(package private)  int atomCount
           
(package private)  MinAtom[] atoms
           
(package private)  int bondCount
           
(package private)  MinBond[] bonds
           
(package private)  BitSet bsFixed
           
(package private)  Calculations calc
           
private  double[][] coordSaved
           
private  double criterion
           
(package private)  int currentStep
           
private  double dE
           
private  double e0
           
(package private) static int EANGLE
           
(package private) static int EBOND
           
(package private) static int EELECTROSTATIC
           
(package private) static int ENERGY
           
(package private) static int EOOP
           
(package private) static int ESTRBND
           
(package private) static int ETORSION
           
(package private) static int EVDW
           
(package private)  Minimizer minimizer
           
private  int stepMax
           
 
Constructor Summary
ForceField()
           
 
Method Summary
private  void clearForces()
           
 boolean detectExplosion()
           
(package private)  double energyAngle(boolean gradients)
           
(package private)  double energyBond(boolean gradients)
           
(package private)  double energyES(boolean gradients)
           
 double energyFull(boolean gradients, boolean isSilent)
           
(package private)  double energyOOP(boolean gradients)
           
(package private)  double energyStrBnd(boolean gradients)
           
(package private)  double energyTorsion(boolean gradients)
           
(package private)  double energyVDW(boolean gradients)
           
 String getAtomList(String title)
           
abstract  List getAtomTypes()
           
 int getCurrentStep()
           
private  double getDE(MinAtom atom, int terms, int i, double delta)
           
 double getEnergy()
           
private  double getEnergy(int terms, boolean gradients)
           
 double getEnergyDiff()
           
protected abstract  Hashtable getFFParameters()
           
 String getLogData()
           
(package private)  double getNormalizedDE()
           
private  String getUnits()
           
private  void linearSearch()
           
private  void restoreCoordinates()
           
private  void saveCoordinates()
           
 void setConstraints(Minimizer m)
           
private  void setForcesUsingNumericalDerivative(MinAtom atom, int terms)
           
 void setModel(Minimizer m)
           
 boolean setup()
           
 void steepestDescentInitialize(int stepMax, double criterion)
           
 boolean steepestDescentTakeNSteps(int n)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ENERGY

static final int ENERGY
See Also:
Constant Field Values

EBOND

static final int EBOND
See Also:
Constant Field Values

EANGLE

static final int EANGLE
See Also:
Constant Field Values

ESTRBND

static final int ESTRBND
See Also:
Constant Field Values

ETORSION

static final int ETORSION
See Also:
Constant Field Values

EOOP

static final int EOOP
See Also:
Constant Field Values

EVDW

static final int EVDW
See Also:
Constant Field Values

EELECTROSTATIC

static final int EELECTROSTATIC
See Also:
Constant Field Values

calc

Calculations calc

criterion

private double criterion

e0

private double e0

dE

private double dE

currentStep

int currentStep

stepMax

private int stepMax

coordSaved

private double[][] coordSaved

atomCount

int atomCount

bondCount

int bondCount

atoms

MinAtom[] atoms

bonds

MinBond[] bonds

bsFixed

BitSet bsFixed

minimizer

Minimizer minimizer
Constructor Detail

ForceField

public ForceField()
Method Detail

getUnits

private String getUnits()

getAtomTypes

public abstract List getAtomTypes()

getFFParameters

protected abstract Hashtable getFFParameters()

setModel

public void setModel(Minimizer m)

setConstraints

public void setConstraints(Minimizer m)

setup

public boolean setup()

steepestDescentInitialize

public void steepestDescentInitialize(int stepMax,
                                      double criterion)

clearForces

private void clearForces()

steepestDescentTakeNSteps

public boolean steepestDescentTakeNSteps(int n)

getEnergy

private double getEnergy(int terms,
                         boolean gradients)

setForcesUsingNumericalDerivative

private void setForcesUsingNumericalDerivative(MinAtom atom,
                                               int terms)

getDE

private double getDE(MinAtom atom,
                     int terms,
                     int i,
                     double delta)

energyFull

public double energyFull(boolean gradients,
                         boolean isSilent)

energyStrBnd

double energyStrBnd(boolean gradients)

energyBond

double energyBond(boolean gradients)

energyAngle

double energyAngle(boolean gradients)

energyTorsion

double energyTorsion(boolean gradients)

energyOOP

double energyOOP(boolean gradients)

energyVDW

double energyVDW(boolean gradients)

energyES

double energyES(boolean gradients)

linearSearch

private void linearSearch()

saveCoordinates

private void saveCoordinates()

restoreCoordinates

private void restoreCoordinates()

detectExplosion

public boolean detectExplosion()

getCurrentStep

public int getCurrentStep()

getEnergy

public double getEnergy()

getAtomList

public String getAtomList(String title)

getEnergyDiff

public double getEnergyDiff()

getLogData

public String getLogData()

getNormalizedDE

double getNormalizedDE()