Package ffx.openmm
Class HarmonicBondForce
java.lang.Object
ffx.openmm.Force
ffx.openmm.HarmonicBondForce
- Direct Known Subclasses:
UreyBradleyForce
This class implements an interaction between pairs of particles that varies harmonically with the distance
between them. To use it, create a HarmonicBondForce object then call addBond() once for each bond. After
a bond has been added, you can modify its force field parameters by calling setBondParameters(). This will
have no effect on Contexts that already exist unless you call updateParametersInContext().
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintaddBond(int i1, int i2, double length, double k) Add a bond term to the force field.voiddestroy()Destroy the force.voidgetBondParameters(int index, com.sun.jna.ptr.IntByReference i1, com.sun.jna.ptr.IntByReference i2, com.sun.jna.ptr.DoubleByReference length, com.sun.jna.ptr.DoubleByReference k) Get the force field parameters for a bond term.voidgetBondParameters(int index, IntBuffer i1, IntBuffer i2, DoubleBuffer length, DoubleBuffer k) Get the force field parameters for a bond term.intGet the number of bonds.voidsetBondParameters(int i, int i1, int i2, double length, double k) Set the force field parameters for a bond term.voidsetUsesPeriodicBoundaryConditions(boolean periodic) Set whether this force should apply periodic boundary conditions when calculating displacements.voidupdateParametersInContext(Context context) Update the parameters in the OpenMM Context.booleanCheck if the force uses periodic boundary conditions.Methods inherited from class ffx.openmm.Force
getForceGroup, getForceIndex, getName, getPointer, setForceGroup, setForceIndex, setName
-
Constructor Details
-
HarmonicBondForce
public HarmonicBondForce()Create a new HarmonicBondForce.
-
-
Method Details
-
addBond
public int addBond(int i1, int i2, double length, double k) Add a bond term to the force field.- Parameters:
i1- The index of the first particle connected by the bond.i2- The index of the second particle connected by the bond.length- The equilibrium length of the bond, measured in nm.k- The harmonic force constant for the bond, measured in kJ/mol/nmˆ2.- Returns:
- The index of the bond that was added.
-
destroy
public void destroy()Destroy the force. -
getBondParameters
public void getBondParameters(int index, com.sun.jna.ptr.IntByReference i1, com.sun.jna.ptr.IntByReference i2, com.sun.jna.ptr.DoubleByReference length, com.sun.jna.ptr.DoubleByReference k) Get the force field parameters for a bond term.- Parameters:
index- The index of the bond for which to get parameters.i1- The index of the first particle connected by the bond (output).i2- The index of the second particle connected by the bond (output).length- The equilibrium length of the bond, measured in nm (output).k- The harmonic force constant for the bond, measured in kJ/mol/nmˆ2 (output).
-
getBondParameters
public void getBondParameters(int index, IntBuffer i1, IntBuffer i2, DoubleBuffer length, DoubleBuffer k) Get the force field parameters for a bond term.- Parameters:
index- The index of the bond for which to get parameters.i1- The index of the first particle connected by the bond (output).i2- The index of the second particle connected by the bond (output).length- The equilibrium length of the bond, measured in nm (output).k- The harmonic force constant for the bond, measured in kJ/mol/nmˆ2 (output).
-
getNumBonds
public int getNumBonds()Get the number of bonds.- Returns:
- The number of bonds.
-
setBondParameters
public void setBondParameters(int i, int i1, int i2, double length, double k) Set the force field parameters for a bond term.- Parameters:
i- The index of the bond for which to set parameters.i1- The index of the first particle connected by the bond.i2- The index of the second particle connected by the bond.length- The equilibrium length of the bond, measured in nm.k- The harmonic force constant for the bond, measured in kJ/mol/nmˆ2.
-
setUsesPeriodicBoundaryConditions
public void setUsesPeriodicBoundaryConditions(boolean periodic) Set whether this force should apply periodic boundary conditions when calculating displacements.- Parameters:
periodic- If true, periodic boundary conditions will be applied.
-
updateParametersInContext
Update the parameters in the OpenMM Context.- Parameters:
context- The OpenMM Context.
-
usesPeriodicBoundaryConditions
public boolean usesPeriodicBoundaryConditions()Check if the force uses periodic boundary conditions.- Overrides:
usesPeriodicBoundaryConditionsin classForce- Returns:
- True if the force uses periodic boundary conditions.
-