meshi.energy.simpleEnergyTerms
Class SimpleEnergyTerm

java.lang.Object
  extended by meshi.energy.AbstractEnergy
      extended by meshi.energy.simpleEnergyTerms.SimpleEnergyTerm
All Implemented Interfaces:
Attributable, Updateable
Direct Known Subclasses:
AlphaAngleEnergy, AlphaTorsionEnergy, AngleEnergy, BondEnergy, CompositePropensity2DEnergy, CompositePropensityEnergy, CylinderEnergy, EDMEnergy, OutOfPlaneEnergy, PlaneEnergy, RamachandranEnergy, RamachandranSidechainEnergy, SimpleInflate, SmoothRotamerLibraryEnergy, SymmetryEnergy, TetherEnergy

public abstract class SimpleEnergyTerm
extends AbstractEnergy

A super class for those energy terms that operate on a fixed list of elements. Typical cases are the bonded terms (bond angle etc.), where the list of elements (say covalent bonds) is fixed by the chemical structure of the molecule.


Nested Class Summary
 
Nested classes/interfaces inherited from class meshi.energy.AbstractEnergy
AbstractEnergy.UpdateableList
 
Field Summary
protected  java.util.ArrayList<EnergyElement> elementsList
           
protected  ParametersList parametersList
          A list of all the parameters needed by the energy term.
 
Fields inherited from class meshi.energy.AbstractEnergy
comment, filter, INFINITY, NaN, on, updateableResources, weight
 
Constructor Summary
SimpleEnergyTerm()
           
SimpleEnergyTerm(Updateable[] updateableResources, ParametersList parametersList, double weight)
           
 
Method Summary
abstract  EnergyElement createElement(java.lang.Object baseElement, Parameters parameters)
           
 void createElementsList(java.util.ArrayList baseList)
          Creates the fixed list of energy elements in the initiation phase of a simulation.
 java.util.ArrayList elementsList()
           
 double evaluate()
          Evaluates the current value of the energy function and update the derivatives.
 void evaluateAtoms()
          Evaluates the energy term and devides the energy between the atoms.
 void test(TotalEnergy totalEnergy, Atom atom)
          Testing of one atom in all energy elements
 
Methods inherited from class meshi.energy.AbstractEnergy
addAttribute, comment, getAttribute, handleMissingParameters, isOn, off, on, toArray, toArray, toArray, toArray, toString, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

elementsList

protected java.util.ArrayList<EnergyElement> elementsList

parametersList

protected ParametersList parametersList
A list of all the parameters needed by the energy term.

Constructor Detail

SimpleEnergyTerm

public SimpleEnergyTerm()

SimpleEnergyTerm

public SimpleEnergyTerm(Updateable[] updateableResources,
                        ParametersList parametersList,
                        double weight)
Method Detail

createElementsList

public void createElementsList(java.util.ArrayList baseList)
Creates the fixed list of energy elements in the initiation phase of a simulation. These elements typically warp some object such as AtomPair, Angle or Torsion. The warped elements are provided by the parameter "baseList". Note that Different energy terms treat this list differently. BondEnergy for example tries to warp every single element of "baseList" while PlaneEnergy assumes that the list is redundant and warps only those Torsion elements for which it finds parameters. The binding of "baseElement" to the parameters is done by the method parameters of ParametersList.


elementsList

public java.util.ArrayList elementsList()

createElement

public abstract EnergyElement createElement(java.lang.Object baseElement,
                                            Parameters parameters)

test

public void test(TotalEnergy totalEnergy,
                 Atom atom)
Testing of one atom in all energy elements

Specified by:
test in class AbstractEnergy
Parameters:
totalEnergy - a TotalEnergy value
atom - an criminal Atom value

evaluate

public double evaluate()
Evaluates the current value of the energy function and update the derivatives.

Specified by:
evaluate in class AbstractEnergy

evaluateAtoms

public void evaluateAtoms()
Description copied from class: AbstractEnergy
Evaluates the energy term and devides the energy between the atoms. The energy field of each atom is assigned a value - its contribution to the total energy sum.

Specified by:
evaluateAtoms in class AbstractEnergy