Package ffx.numerics.multipole
Class GKEnergyGlobalSIMD
java.lang.Object
ffx.numerics.multipole.GKEnergyGlobalSIMD
GKEnergyGlobal computes the generalized Kirkwood energy and forces in a global frame.
-
Constructor Summary
ConstructorsConstructorDescriptionGKEnergyGlobalSIMD
(double gkc, double epsilon, boolean gradient) Constructor for GKEnergyGlobal. -
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
-
GKEnergyGlobalSIMD
public GKEnergyGlobalSIMD(double gkc, double epsilon, boolean gradient) Constructor for GKEnergyGlobal.- Parameters:
gkc
- The GK generalizing function constant.epsilon
- The solvent dielectric.gradient
- If true, compute the gradient and torque.
-
-
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.
-