OpenMM
 All Classes Namespaces Functions Variables Pages
ForceField Class Reference

A ForceField constructs OpenMM System objects based on a Topology. More...

+ Inheritance diagram for ForceField:

Public Member Functions

def __init__
 Load one or more XML files and create a ForceField object based on them. More...
 
def createSystem
 Construct an OpenMM System representing a Topology with this force field. More...
 

Detailed Description

A ForceField constructs OpenMM System objects based on a Topology.

Constructor & Destructor Documentation

def __init__ (   self,
  files 
)

Load one or more XML files and create a ForceField object based on them.

Parameters
filesA list of XML files defining the force field. Each entry may be an absolute file path, a path relative to the current working directory, or a path relative to this module's data subdirectory (for built in force fields).

References ForceField._atomClasses, ForceField._atomTypes, ForceField._findAtomTypes(), ForceField._forces, ForceField._scripts, ForceField._templates, ForceField._templateSignatures, GromacsTopFile._MoleculeType.angles, ForceField._SystemData.angles, ForceField._BondData.atom1, ForceField._BondData.atom2, ForceField._SystemData.atomBonds, GromacsTopFile._MoleculeType.atoms, Topology.atoms(), Chain.atoms(), ForceField._SystemData.atoms, Residue.atoms(), ForceField._TemplateData.atoms, ForceField._VirtualSiteData.atoms, ForceField._SystemData.atomType, ForceField._TemplateAtomData.bondedTo, GromacsTopFile._MoleculeType.bonds, Topology.bonds(), ForceField._SystemData.bonds, ForceField._TemplateData.bonds, ForceField.createSystem(), Atom.element, ForceField._TemplateAtomData.element, ForceField._TemplateData.externalBonds, ForceField._TemplateAtomData.externalBonds, ForceField._SystemData.impropers, Chain.index, Residue.index, Atom.index, ForceField._VirtualSiteData.index, ForceField._SystemData.isAngleConstrained, ForceField._BondData.isConstrained, ForceField._BondData.length, HarmonicBondGenerator.length, AmoebaBondGenerator.length, AmoebaUreyBradleyGenerator.length, Element.name, Residue.name, ForceField._TemplateData.name, Atom.name, ForceField._TemplateAtomData.name, Modeller._ResidueData.name, Modeller._Hydrogen.name, ForceField._SystemData.propers, ForceField._TemplateAtomData.type, ForceField._VirtualSiteData.type, AmoebaOutOfPlaneBendGenerator.type, AmoebaVdwGenerator.type, ForceField._SystemData.virtualSites, ForceField._TemplateData.virtualSites, and ForceField._VirtualSiteData.weights.

Referenced by ForceField.createSystem().

Member Function Documentation

def createSystem (   self,
  topology,
  nonbondedMethod = NoCutoff,
  nonbondedCutoff = 1.0*unit.nanometer,
  constraints = None,
  rigidWater = True,
  removeCMMotion = True,
  hydrogenMass = None,
  args 
)

Construct an OpenMM System representing a Topology with this force field.

Parameters
topology(Topology) The Topology for which to create a System
nonbondedMethod(object=NoCutoff) The method to use for nonbonded interactions. Allowed values are NoCutoff, CutoffNonPeriodic, CutoffPeriodic, Ewald, or PME.
nonbondedCutoff(distance=1*nanometer) The cutoff distance to use for nonbonded interactions
constraints(object=None) Specifies which bonds and angles should be implemented with constraints. Allowed values are None, HBonds, AllBonds, or HAngles.
rigidWater(boolean=True) If true, water molecules will be fully rigid regardless of the value passed for the constraints argument
removeCMMotion(boolean=True) If true, a CMMotionRemover will be added to the System
hydrogenMass(mass=None) The mass to use for hydrogen atoms bound to heavy atoms. Any mass added to a hydrogen is subtracted from the heavy atom to keep their total mass the same.
argsArbitrary additional keyword arguments may also be specified. This allows extra parameters to be specified that are specific to particular force fields.
Returns
the newly created System

References ForceField.__init__(), ForceField._atomTypes, ForceField._forces, ForceField._scripts, ForceField._templateSignatures, HarmonicAngleGenerator.angle, AmoebaAngleGenerator.angle, RBTorsion.c, CustomGBGenerator.computedValues, NonbondedGenerator.coulomb14scale, CustomGBGenerator.energyTerms, GBVIGenerator.ff, GBVIGenerator.fixedParameters, CustomGBGenerator.functions, CustomBondGenerator.globalParams, CustomAngleGenerator.globalParams, CustomTorsionGenerator.globalParams, CustomGBGenerator.globalParams, PeriodicTorsionGenerator.improper, RBTorsionGenerator.improper, CustomTorsionGenerator.improper, HarmonicBondGenerator.k, HarmonicAngleGenerator.k, PeriodicTorsion.k, AmoebaBondGenerator.k, AmoebaAngleGenerator.k, AmoebaPiTorsionGenerator.k, AmoebaUreyBradleyGenerator.k, ForceField._BondData.length, HarmonicBondGenerator.length, AmoebaBondGenerator.length, AmoebaUreyBradleyGenerator.length, NonbondedGenerator.lj14scale, CMAPTorsion.map, CMAPTorsionGenerator.maps, CustomBondGenerator.paramValues, CustomAngleGenerator.paramValues, CustomTorsion.paramValues, CustomGBGenerator.paramValues, CustomAngleGenerator.perAngleParams, CustomBondGenerator.perBondParams, PeriodicTorsion.periodicity, CustomGBGenerator.perParticleParams, CustomTorsionGenerator.perTorsionParams, PeriodicTorsion.phase, PeriodicTorsionGenerator.proper, RBTorsionGenerator.proper, CustomTorsionGenerator.proper, CMAPTorsionGenerator.torsions, NonbondedGenerator.typeMap, GBSAOBCGenerator.typeMap, GBVIGenerator.typeMap, CustomGBGenerator.typeMap, AmoebaVdwGenerator.typeMap, AmoebaMultipoleGenerator.typeMap, AmoebaWcaDispersionGenerator.typeMap, DrudeGenerator.typeMap, HarmonicBondGenerator.types1, HarmonicAngleGenerator.types1, PeriodicTorsion.types1, RBTorsion.types1, CMAPTorsion.types1, CustomBondGenerator.types1, CustomAngleGenerator.types1, CustomTorsion.types1, AmoebaBondGenerator.types1, AmoebaAngleGenerator.types1, AmoebaOutOfPlaneBendGenerator.types1, AmoebaTorsionGenerator.types1, AmoebaPiTorsionGenerator.types1, AmoebaTorsionTorsionGenerator.types1, AmoebaStretchBendGenerator.types1, AmoebaUreyBradleyGenerator.types1, HarmonicBondGenerator.types2, HarmonicAngleGenerator.types2, PeriodicTorsion.types2, RBTorsion.types2, CMAPTorsion.types2, CustomBondGenerator.types2, CustomAngleGenerator.types2, CustomTorsion.types2, AmoebaBondGenerator.types2, AmoebaAngleGenerator.types2, AmoebaOutOfPlaneBendGenerator.types2, AmoebaTorsionGenerator.types2, AmoebaPiTorsionGenerator.types2, AmoebaTorsionTorsionGenerator.types2, AmoebaStretchBendGenerator.types2, AmoebaUreyBradleyGenerator.types2, HarmonicAngleGenerator.types3, PeriodicTorsion.types3, RBTorsion.types3, CMAPTorsion.types3, CustomAngleGenerator.types3, CustomTorsion.types3, AmoebaAngleGenerator.types3, AmoebaOutOfPlaneBendGenerator.types3, AmoebaTorsionGenerator.types3, AmoebaTorsionTorsionGenerator.types3, AmoebaStretchBendGenerator.types3, AmoebaUreyBradleyGenerator.types3, PeriodicTorsion.types4, RBTorsion.types4, CMAPTorsion.types4, CustomTorsion.types4, AmoebaOutOfPlaneBendGenerator.types4, AmoebaTorsionGenerator.types4, AmoebaTorsionTorsionGenerator.types4, CMAPTorsion.types5, and AmoebaTorsionTorsionGenerator.types5.

Referenced by ForceField.__init__().


The documentation for this class was generated from the following file: