meshi.energy.solvateRot1
Class SolvateRot1Energy

java.lang.Object
  extended by meshi.energy.AbstractEnergy
      extended by meshi.energy.CooperativeEnergyTerm
          extended by meshi.energy.solvateRot1.SolvateRot1Energy
All Implemented Interfaces:
Attributable, Rot1Arrays, Updateable

public final class SolvateRot1Energy
extends CooperativeEnergyTerm
implements Rot1Arrays


Nested Class Summary
 
Nested classes/interfaces inherited from class meshi.energy.AbstractEnergy
AbstractEnergy.UpdateableList
 
Field Summary
private  int atomListSize
           
private  double[] AtomSumSigmC
           
private  double[] dAtomEnergydEnvior
           
private  double[] dSplineVals
           
private  double[] forceX
           
private  double[] forceY
           
private  double[] forceZ
           
private  int[] lut
          These fields are for general use in the class
private  double maximalZ
           
private  double[][] means
           
private  double[][] oneOverSTDs
           
private  SolvateRot1ParametersList parameters
           
private  double[] residueVals
          These are fields for temporary array results that are needed in the evaluation stage.
private  Spline1D[] splines
           
private  double[] splineVals
           
 
Fields inherited from class meshi.energy.CooperativeEnergyTerm
atomList, coordinates, dm, DX, relativeDiffTolerance, verySmall, XYZ
 
Fields inherited from class meshi.energy.AbstractEnergy
comment, filter, INFINITY, NaN, on, updateableResources, weight
 
Fields inherited from interface meshi.util.rotamericTools.Rot1Arrays
mean, std
 
Constructor Summary
SolvateRot1Energy()
           
SolvateRot1Energy(AtomList atomList, DistanceMatrix dm, SolvateRot1ParametersList parameters, double[][] pp, double maximalZ, double weight)
           
 
Method Summary
 void calcMeansAndStd(double[][] pp)
           
 double evaluate()
          Evaluates the energy term and update the derivatives.
 double evaluate(boolean updateAtoms)
           
 void evaluateAtoms()
          Evaluates the energy term and devides the energy between the atoms.
 void setComment(java.lang.String str)
           
private  void updateSigmVals(Distance dis)
          Here goes the processing of the various sigmoid functions concerning atom1 and atom2 in the Distance - dis.
 
Methods inherited from class meshi.energy.CooperativeEnergyTerm
test
 
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

residueVals

private double[] residueVals
These are fields for temporary array results that are needed in the evaluation stage. They are declared as fields so that time will not be waisted on creating new instances of the arrays.


splineVals

private double[] splineVals

dSplineVals

private double[] dSplineVals

AtomSumSigmC

private double[] AtomSumSigmC

dAtomEnergydEnvior

private double[] dAtomEnergydEnvior

forceX

private double[] forceX

forceY

private double[] forceY

forceZ

private double[] forceZ

lut

private int[] lut
These fields are for general use in the class


atomListSize

private int atomListSize

parameters

private SolvateRot1ParametersList parameters

splines

private Spline1D[] splines

means

private double[][] means

oneOverSTDs

private double[][] oneOverSTDs

maximalZ

private double maximalZ
Constructor Detail

SolvateRot1Energy

public SolvateRot1Energy()

SolvateRot1Energy

public SolvateRot1Energy(AtomList atomList,
                         DistanceMatrix dm,
                         SolvateRot1ParametersList parameters,
                         double[][] pp,
                         double maximalZ,
                         double weight)
Method Detail

setComment

public void setComment(java.lang.String str)

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

evaluate

public double evaluate()
Description copied from class: AbstractEnergy
Evaluates the energy term and update the derivatives.

Specified by:
evaluate in class AbstractEnergy

evaluate

public final double evaluate(boolean updateAtoms)

updateSigmVals

private final void updateSigmVals(Distance dis)
Here goes the processing of the various sigmoid functions concerning atom1 and atom2 in the Distance - dis. The results are updated in the fields of the SolvateDistanceAttribute of dis - sigmaValues.


calcMeansAndStd

public void calcMeansAndStd(double[][] pp)