org.jmol.minimize
Class Minimizer

java.lang.Object
  extended by org.jmol.minimize.Minimizer
All Implemented Interfaces:
MinimizerInterface

public class Minimizer
extends java.lang.Object
implements MinimizerInterface


Nested Class Summary
(package private)  class Minimizer.MinimizationThread
           
 
Field Summary
 int[][] angles
           
private  int atomCount
           
private  int atomCountFull
           
private  int[] atomMap
           
 Atom[] atoms
           
private static java.util.Vector atomTypes
           
private  int bondCount
           
private  java.util.BitSet bsAtoms
           
private  java.util.BitSet bsFixed
           
 java.util.BitSet bsMinFixed
           
private  java.util.BitSet bsSelected
           
private  java.util.BitSet bsTaint
           
(package private)  java.util.Hashtable constraintMap
           
 java.util.Vector constraints
           
(package private)  double[][] coordSaved
           
private  double crit
           
private  java.lang.String ff
           
 MinAtom[] minAtoms
           
 MinBond[] minBonds
           
(package private)  boolean minimizationOn
           
private  Minimizer.MinimizationThread minimizationThread
           
 double[] partialCharges
           
private  ForceField pFF
           
(package private) static int PT_CHARGE
           
(package private) static int PT_CONNECT
           
(package private) static int PT_ELEMENT
           
private  int steps
           
(package private) static int TOKEN_ELEMENT_AROMATIC
           
(package private) static int TOKEN_ELEMENT_CHARGED
           
(package private) static int TOKEN_ELEMENT_CONNECTED
           
(package private) static int TOKEN_ELEMENT_ONLY
           
(package private) static int TOKEN_ELEMENT_SP
           
(package private) static int TOKEN_ELEMENT_SP2
           
(package private) static Token[][] tokenTypes
           
 int[][] torsions
           
 Viewer viewer
           
 
Constructor Summary
Minimizer()
           
 
Method Summary
private  void addConstraint(java.lang.Object[] c)
           
private  void clear()
           
(package private)  void endMinimization()
           
 void getAngles()
           
 java.util.Vector getAtomTypes()
           
private  void getEnergyOnly()
           
 ForceField getForceField()
           
 java.lang.Object getProperty(java.lang.String propertyName, int param)
           
private  java.util.BitSet getSearch(java.lang.String smarts, int elemnoMax, java.util.BitSet bsElements)
           
 void getTorsions()
           
 boolean minimize(int steps, double crit, java.util.BitSet bsSelected)
           
private  void minimizeWithoutThread()
           
private  void restoreCoordinates()
           
private  void saveCoordinates()
           
private  void setAtomPositions()
           
private  void setMinimizationOn(boolean minimizationOn)
           
 void setProperty(java.lang.String propertyName, java.lang.Object value)
           
private  boolean setupMinimization()
           
 boolean startMinimization()
           
(package private)  boolean stepMinimization()
           
private  void stopMinimization(boolean coordAreOK)
           
(package private)  void updateAtomXYZ()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

viewer

public Viewer viewer

atoms

public Atom[] atoms

minAtoms

public MinAtom[] minAtoms

minBonds

public MinBond[] minBonds

bsMinFixed

public java.util.BitSet bsMinFixed

atomCount

private int atomCount

bondCount

private int bondCount

atomCountFull

private int atomCountFull

atomMap

private int[] atomMap

angles

public int[][] angles

torsions

public int[][] torsions

partialCharges

public double[] partialCharges

steps

private int steps

crit

private double crit

atomTypes

private static java.util.Vector atomTypes

pFF

private ForceField pFF

ff

private java.lang.String ff

bsTaint

private java.util.BitSet bsTaint

bsSelected

private java.util.BitSet bsSelected

bsAtoms

private java.util.BitSet bsAtoms

bsFixed

private java.util.BitSet bsFixed

constraints

public java.util.Vector constraints

constraintMap

java.util.Hashtable constraintMap

TOKEN_ELEMENT_ONLY

static final int TOKEN_ELEMENT_ONLY
See Also:
Constant Field Values

TOKEN_ELEMENT_CHARGED

static final int TOKEN_ELEMENT_CHARGED
See Also:
Constant Field Values

TOKEN_ELEMENT_CONNECTED

static final int TOKEN_ELEMENT_CONNECTED
See Also:
Constant Field Values

TOKEN_ELEMENT_AROMATIC

static final int TOKEN_ELEMENT_AROMATIC
See Also:
Constant Field Values

TOKEN_ELEMENT_SP

static final int TOKEN_ELEMENT_SP
See Also:
Constant Field Values

TOKEN_ELEMENT_SP2

static final int TOKEN_ELEMENT_SP2
See Also:
Constant Field Values

PT_ELEMENT

static final int PT_ELEMENT
See Also:
Constant Field Values

PT_CHARGE

static final int PT_CHARGE
See Also:
Constant Field Values

PT_CONNECT

static final int PT_CONNECT
See Also:
Constant Field Values

tokenTypes

static final Token[][] tokenTypes

minimizationOn

boolean minimizationOn

minimizationThread

private Minimizer.MinimizationThread minimizationThread

coordSaved

double[][] coordSaved
Constructor Detail

Minimizer

public Minimizer()
Method Detail

setProperty

public void setProperty(java.lang.String propertyName,
                        java.lang.Object value)
Specified by:
setProperty in interface MinimizerInterface

getProperty

public java.lang.Object getProperty(java.lang.String propertyName,
                                    int param)
Specified by:
getProperty in interface MinimizerInterface

addConstraint

private void addConstraint(java.lang.Object[] c)

clear

private void clear()

minimize

public boolean minimize(int steps,
                        double crit,
                        java.util.BitSet bsSelected)
Specified by:
minimize in interface MinimizerInterface

setupMinimization

private boolean setupMinimization()

setAtomPositions

private void setAtomPositions()

getSearch

private java.util.BitSet getSearch(java.lang.String smarts,
                                   int elemnoMax,
                                   java.util.BitSet bsElements)

getAngles

public void getAngles()

getTorsions

public void getTorsions()

getForceField

public ForceField getForceField()

getAtomTypes

public java.util.Vector getAtomTypes()

setMinimizationOn

private void setMinimizationOn(boolean minimizationOn)

getEnergyOnly

private void getEnergyOnly()

startMinimization

public boolean startMinimization()

stepMinimization

boolean stepMinimization()

endMinimization

void endMinimization()

saveCoordinates

private void saveCoordinates()

restoreCoordinates

private void restoreCoordinates()

stopMinimization

private void stopMinimization(boolean coordAreOK)

updateAtomXYZ

void updateAtomXYZ()

minimizeWithoutThread

private void minimizeWithoutThread()