# Class ForceField

java.lang.Object
org.jmol.minimize.forcefield.ForceField

Direct Known Subclasses:
  `ForceFieldMMFF, ForceFieldUFF`

public abstract class ForceField extends Object

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`ABI_IJ`
`static final int`
`ABI_JK`
`String`
`name`
`static final int`
`R3`
`static final int`
`R4`
`static final int`
`R5`
`static final int`
`Raromatic`
`static final int`
`TBI_AB`
`static final int`
`TBI_BC`
`static final int`
`TBI_CD`

## Constructor Summary

Constructors
Constructor
Description
`ForceField()`

## Method Summary

Modifier and Type
Method
Description
`abstract void`
`clear()`
`boolean`
`detectExplosion()`
`double`
`energyFull(boolean gradients, boolean isSilent)`
`String`
`getAtomList(String title)`
`protected BufferedReader`
`getBufferedReader(String resourceName)`
`int`
`getCurrentStep()`
`double`
`getEnergy()`
`double`
`getEnergyDiff()`
`String`
`getLogData()`
`void`
`log(String s)`
`void`
`recalculateEnergy()`
`void`
`setConstraints(Minimizer m)`
`abstract boolean`
`setModel(BS bsElements, int elemnoMax)`
`protected void`
`setModelFields()`
`void`
`setNth(int n)`
`void`
`steepestDescentInitialize(int stepMax, double criterion, double trustRadius)`
/////////// calculation /////////////////
`boolean`
`steepestDescentTakeNSteps(int n, boolean doUpdateAtoms)`
`float`
`toUserUnits(double energy)`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### ABI_IJ

public static final int ABI_IJ

See Also:
  - Constant Field Values

### ABI_JK

public static final int ABI_JK

See Also:
  - Constant Field Values

### TBI_AB

public static final int TBI_AB

See Also:
  - Constant Field Values

### TBI_BC

public static final int TBI_BC

See Also:
  - Constant Field Values

### TBI_CD

public static final int TBI_CD

See Also:
  - Constant Field Values

### R3

public static final int R3

See Also:
  - Constant Field Values

### R4

public static final int R4

See Also:
  - Constant Field Values

### R5

public static final int R5

See Also:
  - Constant Field Values

### Raromatic

public static final int Raromatic

See Also:
  - Constant Field Values

### name

public String name

## Constructor Details

### ForceField

public ForceField()

## Method Details

### clear

public abstract void clear()

### setModel

public abstract boolean setModel(BS bsElements, int elemnoMax) throws JmolAsyncException

Throws:
  `JmolAsyncException`

### setModelFields

protected void setModelFields()

### setConstraints

public void setConstraints(Minimizer m)

### steepestDescentInitialize

public void steepestDescentInitialize(int stepMax, double criterion, double trustRadius)
/////////// calculation /////////////////

### steepestDescentTakeNSteps

public boolean steepestDescentTakeNSteps(int n, boolean doUpdateAtoms)

Parameters:
  `n` - always 1 in Jmol
  `doUpdateAtoms` -
Returns:
  true if successful

### energyFull

public double energyFull(boolean gradients, boolean isSilent)

### 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()

### toUserUnits

public float toUserUnits(double energy)

### log

public void log(String s)

### getBufferedReader

protected BufferedReader getBufferedReader(String resourceName) throws IOException

Throws:
  `IOException`

### recalculateEnergy

public void recalculateEnergy()

### setNth

public void setNth(int n)