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 javajs.util.Lst<AtomType> |
atomTypes |
private static int[] |
equivalentTypes |
private static java.util.Map<java.lang.Object,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 java.lang.String |
line |
private static java.lang.String |
names |
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 static int[] |
types |
private boolean |
useEmpiricalRules |
private javajs.util.Lst<BS>[] |
vRings |
ABI_IJ, ABI_JK, 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(javajs.util.Lst<BS> v,
int[] minlist,
int n) |
void |
clear() |
private double |
dval(int i,
int j) |
private int |
fixOrder(int[] a,
int i,
int j) |
private static boolean |
fixTypeOrder(int[] a,
int i,
int j) |
private void |
fixTypes() |
private float |
fval(int i,
int j) |
java.lang.String[] |
getAtomTypeDescriptions() |
static java.lang.String[] |
getAtomTypeDescs(int[] types) |
private void |
getAtomTypes() |
private int |
getBondType(Bond bond,
AtomType at1,
AtomType at2,
int index1,
int index2) |
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) |
(package private) double |
getOutOfPlaneParameter(int[] data) |
private void |
getParameters() |
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 |
ival(int i,
int j) |
private void |
readParams(java.io.BufferedReader br,
int dataType,
java.util.Map<java.lang.Object,java.lang.Object> data) |
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,
javajs.util.Lst<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, energyStretchBend, energyTorsion, energyVDW, getAtomList, getBufferedReader, getCurrentStep, getEnergy, getEnergyDiff, getLogData, getNormalizedDE, 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 javajs.util.Lst<AtomType> atomTypes
private static java.util.Map<java.lang.Object,java.lang.Object> ffParams
private int[] rawAtomTypes
private int[] rawBondTypes
private float[] rawMMFF94Charges
private javajs.util.Lst<BS>[] vRings
private static final java.lang.String names
private static final int[] types
private java.lang.String line
private static final int[] sbMap
private int[] typeData
private static final int[] equivalentTypes
public ForceFieldMMFF(Minimizer m) throws JmolAsyncException
JmolAsyncException
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 getParameters() throws JmolAsyncException
JmolAsyncException
private void readParams(java.io.BufferedReader br, int dataType, java.util.Map<java.lang.Object,java.lang.Object> data) throws java.lang.Exception
java.lang.Exception
private int ival(int i, int j)
private float fval(int i, int j)
private double dval(int i, int j)
private void getAtomTypes() throws JmolAsyncException
JmolAsyncException
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, javajs.util.Lst<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 boolean checkRings(javajs.util.Lst<BS> v, int[] minlist, int n)
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)