Package ffx.numerics.multipole
Class GKEnergyQISIMD
java.lang.Object
ffx.numerics.multipole.GKEnergyQISIMD
The GKEnergyQI class computes the Generalized Kirkwood energy and forces using a QI frame.
-
Constructor Summary
ConstructorDescriptionGKEnergyQISIMD
(double soluteDielectric, double solventDielectric, double gkc, boolean gradient) Compute the GK Energy using a QI frame. -
Method Summary
Modifier and TypeMethodDescriptionvoid
initBorn
(DoubleVector[] r, DoubleVector r2, DoubleVector rbi, DoubleVector rbk) Initialize for computing Born chain-rule terms.void
initPotential
(DoubleVector[] r, DoubleVector r2, DoubleVector rbi, DoubleVector rbk) Initialize the potential.Compute the multipole energy.multipoleEnergyAndGradient
(PolarizableMultipoleSIMD mI, PolarizableMultipoleSIMD mK, DoubleVector[] gI, DoubleVector[] tI, DoubleVector[] tK) Compute the multipole energy and gradient.Compute the Born chain-rule term for the multipole energy.Compute the polarization energy.polarizationEnergyAndGradient
(PolarizableMultipoleSIMD mI, PolarizableMultipoleSIMD mK, DoubleVector mutualMask, DoubleVector[] gI, DoubleVector[] tI, DoubleVector[] tK) Compute the polarization energy and gradient.polarizationEnergyBornGrad
(PolarizableMultipoleSIMD mI, PolarizableMultipoleSIMD mK, boolean mutual) Compute the Born chain-rule term for the polarization energy.
-
Constructor Details
-
GKEnergyQISIMD
public GKEnergyQISIMD(double soluteDielectric, double solventDielectric, double gkc, boolean gradient) Compute the GK Energy using a QI frame.- Parameters:
soluteDielectric
- Solute dielectric constant.solventDielectric
- Solvent dielectric constant.gkc
- The GK interaction parameter.gradient
- If true, the gradient will be computed.
-
-
Method Details
-
initPotential
Initialize the potential.- Parameters:
r
- The separation. vector.r2
- The squared separation.rbi
- The Born radius of atom i.rbk
- The Born radius of atom k.
-
initBorn
Initialize for computing Born chain-rule terms.- Parameters:
r
- The separation vector.r2
- The squared separation.rbi
- The Born radius of atom i.rbk
- The Born radius of atom k.
-
multipoleEnergy
Compute the multipole energy.- Parameters:
mI
- The polarizable multipole of atom i.mK
- The polarizable multipole of atom k.- Returns:
- The multipole energy.
-
polarizationEnergy
Compute the polarization energy.- Parameters:
mI
- The polarizable multipole of atom i.mK
- The polarizable multipole of atom k.- Returns:
- The polarization energy.
-
multipoleEnergyAndGradient
public DoubleVector multipoleEnergyAndGradient(PolarizableMultipoleSIMD mI, PolarizableMultipoleSIMD mK, DoubleVector[] gI, DoubleVector[] tI, DoubleVector[] tK) Compute the multipole energy and gradient.- Parameters:
mI
- The polarizable multipole of atom i.mK
- The polarizable multipole of atom k.gI
- The gradient for atom i.tI
- The torque on atom i.tK
- The torque on atom k.- Returns:
- The multipole energy.
-
polarizationEnergyAndGradient
public DoubleVector polarizationEnergyAndGradient(PolarizableMultipoleSIMD mI, PolarizableMultipoleSIMD mK, DoubleVector mutualMask, DoubleVector[] gI, DoubleVector[] tI, DoubleVector[] tK) Compute the polarization energy and gradient.- Parameters:
mI
- The polarizable multipole of atom i.mK
- The polarizable multipole of atom k.mutualMask
- The mutual polarization mask.gI
- The gradient for atom i.tI
- The torque on atom i.tK
- The torque on atom k.- Returns:
- The polarization energy.
-
multipoleEnergyBornGrad
public DoubleVector multipoleEnergyBornGrad(PolarizableMultipoleSIMD mI, PolarizableMultipoleSIMD mK) Compute the Born chain-rule term for the multipole energy.- Parameters:
mI
- The polarizable multipole of atom i.mK
- The polarizable multipole of atom k.- Returns:
- The Born chain-rule term.
-
polarizationEnergyBornGrad
public DoubleVector polarizationEnergyBornGrad(PolarizableMultipoleSIMD mI, PolarizableMultipoleSIMD mK, boolean mutual) Compute the Born chain-rule term for the polarization energy.- Parameters:
mI
- The polarizable multipole of atom i.mK
- The polarizable multipole of atom k.mutual
- If true, compute the mutual polarization contribution.- Returns:
- The Born chain-rule term.
-