public class ForceFieldMMFF extends ForceField
Modifier and Type | Field and Description |
---|---|
private static int |
A4_BNDK |
private static int |
A4_CHRG |
private static int |
A4_SB |
private static int |
A4_SBDEF |
private static int |
A4_VDW |
private static JmolList<AtomType> |
atomTypes |
private static int[] |
equivalentTypes |
private static java.util.Map<java.lang.Integer,java.lang.Object> |
ffParams |
private static int |
KEY_BNDK |
private static int |
KEY_OOP |
private static int |
KEY_PBCI |
private static int |
KEY_SBDEF |
private static int |
KEY_VDW |
private static double[] |
r0reductions |
private int[] |
rawAtomTypes |
private int[] |
rawBondTypes |
private float[] |
rawMMFF94Charges |
private static int[] |
sbMap |
private static int |
TYPE_ANGLE |
private static int |
TYPE_BNDK |
private static int |
TYPE_BOND |
private static int |
TYPE_CHRG |
private static int |
TYPE_OOP |
private static int |
TYPE_PBCI |
private static int |
TYPE_SB |
private static int |
TYPE_SBDEF |
private static int |
TYPE_TORSION |
private static int |
TYPE_VDW |
private int[] |
typeData |
private boolean |
useEmpiricalRules |
private JmolList<BS>[] |
vRings |
ABI_IJ, ABI_JK, base, bsFixed, calc, currentStep, EANGLE, EBOND, EELECTROSTATIC, ENERGY, EOOP, ESTRBND, ETORSION, EVDW, minAngles, minAtomCount, minAtoms, minBondCount, minBonds, minimizer, minPositions, minTorsions, name, R3, R4, R5, R56, TBI_AB, TBI_BC, TBI_CD
Constructor and Description |
---|
ForceFieldMMFF(Minimizer m) |
Modifier and Type | Method and Description |
---|---|
private java.lang.Integer |
applyEmpiricalRules(MinObject o,
double[] ddata,
int ktype) |
static float[] |
calculatePartialCharges(Bond[] bonds,
int[] bTypes,
Atom[] atoms,
int[] aTypes,
BS bsAtoms,
boolean doRound)
assign partial charges ala MMFF94
|
private boolean |
checkRings(JmolList<BS> v,
int[] minlist,
int n) |
void |
clear() |
private int |
fixOrder(int[] a,
int i,
int j) |
private static boolean |
fixTypeOrder(int[] a,
int i,
int j) |
private void |
fixTypes() |
java.lang.String[] |
getAtomTypeDescriptions() |
static java.lang.String[] |
getAtomTypeDescs(int[] types) |
private void |
getAtomTypes(java.lang.String fileName) |
private int |
getBondType(Bond bond,
AtomType at1,
AtomType at2,
int index1,
int index2) |
private void |
getChargeParameters() |
private static double |
getCovalentRadius(int elemno) |
private static double |
getCParam(int elemno) |
private static int |
getEquivalentType(int type,
int level)
equivalent types for OOP and torsions
|
private java.lang.Integer |
getKey(java.lang.Object obj,
int type,
int ktype) |
private void |
getMinimizationParameters() |
private void |
getMmffParameters(java.lang.String fileName,
java.util.Map<java.lang.Integer,java.lang.Object> data,
int dataType) |
(package private) double |
getOutOfPlaneParameter(int[] data) |
float[] |
getPartialCharges() |
private static double |
getR0(MinBond b) |
private int |
getRowFor(int i) |
private static double |
getRuleBondLength(MinAtom a,
MinAtom b,
int boAB,
boolean isAromatic) |
private java.lang.Integer |
getTorsionKey(int type,
int i,
int j) |
private static double |
getUParam(int elemno) |
private static double |
getVParam(int elemno) |
private static double |
getZParam(int elemno) |
private boolean |
isAromaticBond(int a1,
int a2) |
private static boolean |
isBondType1(AtomType at1,
AtomType at2) |
private int |
setAngleType(MinAngle angle) |
boolean |
setArrays(Atom[] atoms,
BS bsAtoms,
Bond[] bonds,
int rawBondCount,
boolean doRound,
boolean allowUnknowns) |
private static int[] |
setAtomTypes(Atom[] atoms,
BS bsAtoms,
SmilesMatcherInterface smartsMatcher,
JmolList<BS>[] vRings,
boolean allowUnknowns)
The file MMFF94-smarts.txt is derived from MMFF94-smarts.xlsx.
|
private int[] |
setBondTypes(Bond[] bonds,
int bondCount,
BS bsAtoms) |
private static void |
setFlags(AtomType at) |
boolean |
setModel(BS bsElements,
int elemnoMax) |
private int |
setTorsionType(MinTorsion t) |
private static void |
sortOop(int[] typeData) |
private static void |
swap(int[] a,
int i,
int j) |
private int |
typeOf(int iAtom) |
detectExplosion, energyAngle, energyBond, energyES, energyFull, energyOOP, energyPosition, energyStretchBend, energyTorsion, energyVDW, getAtomList, getBufferedReader, getCurrentStep, getEnergy, getEnergyDiff, getLogData, getNormalizedDE, getResource, log, setConstraints, setModelFields, steepestDescentInitialize, steepestDescentTakeNSteps, toUserUnits
private boolean useEmpiricalRules
private static final int A4_VDW
private static final int A4_BNDK
private static final int A4_CHRG
private static final int A4_SB
private static final int A4_SBDEF
private static final int KEY_SBDEF
private static final int KEY_PBCI
private static final int KEY_VDW
private static final int KEY_BNDK
private static final int KEY_OOP
private static final int TYPE_PBCI
private static final int TYPE_VDW
private static final int TYPE_BNDK
private static final int TYPE_CHRG
private static final int TYPE_BOND
private static final int TYPE_ANGLE
private static final int TYPE_SB
private static final int TYPE_SBDEF
private static final int TYPE_TORSION
private static final int TYPE_OOP
private static java.util.Map<java.lang.Integer,java.lang.Object> ffParams
private int[] rawAtomTypes
private int[] rawBondTypes
private float[] rawMMFF94Charges
private static final int[] sbMap
private int[] typeData
private static final int[] equivalentTypes
private static final double[] r0reductions
public ForceFieldMMFF(Minimizer m)
public java.lang.String[] getAtomTypeDescriptions()
public float[] getPartialCharges()
public void clear()
clear
in class ForceField
public boolean setModel(BS bsElements, int elemnoMax)
setModel
in class ForceField
public boolean setArrays(Atom[] atoms, BS bsAtoms, Bond[] bonds, int rawBondCount, boolean doRound, boolean allowUnknowns)
private void getChargeParameters()
private void getMinimizationParameters()
private void getMmffParameters(java.lang.String fileName, java.util.Map<java.lang.Integer,java.lang.Object> data, int dataType)
private void getAtomTypes(java.lang.String fileName)
private static void setFlags(AtomType at)
public static float[] calculatePartialCharges(Bond[] bonds, int[] bTypes, Atom[] atoms, int[] aTypes, BS bsAtoms, boolean doRound)
bonds
- bTypes
- atoms
- aTypes
- bsAtoms
- doRound
- private boolean isAromaticBond(int a1, int a2)
public static java.lang.String[] getAtomTypeDescs(int[] types)
private static int[] setAtomTypes(Atom[] atoms, BS bsAtoms, SmilesMatcherInterface smartsMatcher, JmolList<BS>[] vRings, boolean allowUnknowns)
atoms
- bsAtoms
- smartsMatcher
- vRings
- allowUnknowns
- private void fixTypes()
private int setAngleType(MinAngle angle)
private int setTorsionType(MinTorsion t)
private int typeOf(int iAtom)
private java.lang.Integer getKey(java.lang.Object obj, int type, int ktype)
private java.lang.Integer getTorsionKey(int type, int i, int j)
private java.lang.Integer applyEmpiricalRules(MinObject o, double[] ddata, int ktype)
private static double getR0(MinBond b)
private int getRowFor(int i)
double getOutOfPlaneParameter(int[] data)
private static void sortOop(int[] typeData)
private static boolean fixTypeOrder(int[] a, int i, int j)
a
- i
- j
- private int fixOrder(int[] a, int i, int j)
a
- i
- j
- private static void swap(int[] a, int i, int j)
private static int getEquivalentType(int type, int level)
type
- mmFF94 atom typelevel
- 0, 1, or 2.private static double getZParam(int elemno)
private static double getCParam(int elemno)
private static double getUParam(int elemno)
private static double getVParam(int elemno)
private static double getCovalentRadius(int elemno)