Class ParticleMeshEwald.LambdaFactors

java.lang.Object
ffx.potential.nonbonded.ParticleMeshEwald.LambdaFactors
Direct Known Subclasses:
ParticleMeshEwald.LambdaFactorsESV, ParticleMeshEwald.LambdaFactorsOST
Enclosing class:
ParticleMeshEwald

public class ParticleMeshEwald.LambdaFactors extends Object
The setFactors(i,k,lambdaMode) method is called every time through the inner PME loops, avoiding an "if (esv)" branch statement.

A plain OST run will have an object of type LambdaFactorsOST instead, which contains an empty version of setFactors(i,k,lambdaMode).

The OST version instead sets new factors only on lambda updates, in setLambda(i,k).

Interactions involving neither lambda receive the (inoperative) defaults below.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected double
    Second lambda derivative of buffer distance.
    protected double
    Second lambda derivative of lPowPerm.
    protected double
    Second lambda derivative of lPowPol.
    protected double
    First lambda derivative of buffer distance.
    protected double
    First lambda derivative of lPowPerm.
    protected double
    First lambda derivative of lPowPol.
    protected double
    Derivative of lambdaProduct w.r.t.
    protected double
    Derivative of lambdaProduct w.r.t.
    protected double
    Derivative of lambdaProduct w.r.t.
    protected int[]
    Atom indices used only by LambdaFactorsESV::print.
    protected double
    lambda * esvLambda[i] * esvLambda[k]
    protected double
    Interatomic buffer distance: alpha*(1-lambda)*(1-lambda).
    protected double
    Lambda to its permanent exponent.
    protected double
    Lambda to its polarization exponent.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
    Overriden by the OST version which updates only during setLambda().
    void
    setFactors(int i, int k, LambdaMode mode)
    Overriden by the ESV version which updates with every softcore interaction.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • lambdaProd

      protected double lambdaProd
      lambda * esvLambda[i] * esvLambda[k]
    • lfAlpha

      protected double lfAlpha
      Interatomic buffer distance: alpha*(1-lambda)*(1-lambda).
    • dlfAlpha

      protected double dlfAlpha
      First lambda derivative of buffer distance.
    • d2lfAlpha

      protected double d2lfAlpha
      Second lambda derivative of buffer distance.
    • lfPowPerm

      protected double lfPowPerm
      Lambda to its permanent exponent.
    • dlfPowPerm

      protected double dlfPowPerm
      First lambda derivative of lPowPerm.
    • d2lfPowPerm

      protected double d2lfPowPerm
      Second lambda derivative of lPowPerm.
    • lfPowPol

      protected double lfPowPol
      Lambda to its polarization exponent.
    • dlfPowPol

      protected double dlfPowPol
      First lambda derivative of lPowPol.
    • d2lfPowPol

      protected double d2lfPowPol
      Second lambda derivative of lPowPol.
    • dLpdL

      protected double dLpdL
      Derivative of lambdaProduct w.r.t. lambda.
    • dLpdLi

      protected double dLpdLi
      Derivative of lambdaProduct w.r.t. esvLambda[i].
    • dLpdLk

      protected double dLpdLk
      Derivative of lambdaProduct w.r.t. esvLambda[k].
    • ik

      protected int[] ik
      Atom indices used only by LambdaFactorsESV::print.
  • Constructor Details

    • LambdaFactors

      public LambdaFactors()
  • Method Details

    • print

      public void print()
    • setFactors

      public void setFactors(int i, int k, LambdaMode mode)
      Overriden by the ESV version which updates with every softcore interaction.
      Parameters:
      i - Atom i index.
      k - Atom k index.
      mode - the LambdaMode
    • setFactors

      public void setFactors()
      Overriden by the OST version which updates only during setLambda().