Package ffx.potential.nonbonded
Class ParticleMeshEwald.LambdaFactors
java.lang.Object
ffx.potential.nonbonded.ParticleMeshEwald.LambdaFactors
- Direct Known Subclasses:
ParticleMeshEwald.LambdaFactorsESV
,ParticleMeshEwald.LambdaFactorsOST
- Enclosing class:
ParticleMeshEwald
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
Modifier and TypeFieldDescriptionprotected 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. lambda.protected double
Derivative of lambdaProduct w.r.t. esvLambda[i].protected double
Derivative of lambdaProduct w.r.t. esvLambda[k].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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
print()
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.
-
Field Details
-
lambdaProd
protected double lambdaProdlambda * esvLambda[i] * esvLambda[k] -
lfAlpha
protected double lfAlphaInteratomic buffer distance: alpha*(1-lambda)*(1-lambda). -
dlfAlpha
protected double dlfAlphaFirst lambda derivative of buffer distance. -
d2lfAlpha
protected double d2lfAlphaSecond lambda derivative of buffer distance. -
lfPowPerm
protected double lfPowPermLambda to its permanent exponent. -
dlfPowPerm
protected double dlfPowPermFirst lambda derivative of lPowPerm. -
d2lfPowPerm
protected double d2lfPowPermSecond lambda derivative of lPowPerm. -
lfPowPol
protected double lfPowPolLambda to its polarization exponent. -
dlfPowPol
protected double dlfPowPolFirst lambda derivative of lPowPol. -
d2lfPowPol
protected double d2lfPowPolSecond lambda derivative of lPowPol. -
dLpdL
protected double dLpdLDerivative of lambdaProduct w.r.t. lambda. -
dLpdLi
protected double dLpdLiDerivative of lambdaProduct w.r.t. esvLambda[i]. -
dLpdLk
protected double dLpdLkDerivative of lambdaProduct w.r.t. esvLambda[k]. -
ik
protected int[] ikAtom indices used only by LambdaFactorsESV::print.
-
-
Constructor Details
-
LambdaFactors
public LambdaFactors()
-
-
Method Details
-
print
public void print() -
setFactors
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().
-