Package ffx.numerics.multipole
Class GKEnergyGlobal
java.lang.Object
ffx.numerics.multipole.GKEnergyGlobal
GKEnergyGlobal computes the generalized Kirkwood energy and forces in a global frame.
-
Constructor Summary
ConstructorsConstructorDescriptionGKEnergyGlobal
(double gkc, double epsilon, boolean gradient) Constructor for GKEnergyGlobal. -
Method Summary
Modifier and TypeMethodDescriptionvoid
initBorn
(double[] r, double r2, double rbi, double rbk) Initialize for computing Born chain-rule terms.void
initPotential
(double[] r, double r2, double rbi, double rbk) Initialize the potential.double
Compute the multipole energy.double
multipoleEnergyAndGradient
(PolarizableMultipole mI, PolarizableMultipole mK, double[] gradI, double[] torqueI, double[] torqueK) Compute the multipole energy and gradient.double
Compute the Born chain-rule term for the multipole energy.double
Compute the polarization energy.double
polarizationEnergyAndGradient
(PolarizableMultipole mI, PolarizableMultipole mK, double mutualMask, double[] gradI, double[] torqueI, double[] torqueK) Compute the polarization energy and gradient.double
polarizationEnergyBornGrad
(PolarizableMultipole mI, PolarizableMultipole mK, boolean mutual) Compute the Born chain-rule term for the polarization energy.
-
Constructor Details
-
GKEnergyGlobal
public GKEnergyGlobal(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
public void initPotential(double[] r, double r2, double rbi, double rbk) 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
public void initBorn(double[] r, double r2, double rbi, double rbk) 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 double multipoleEnergyAndGradient(PolarizableMultipole mI, PolarizableMultipole mK, double[] gradI, double[] torqueI, double[] torqueK) Compute the multipole energy and gradient.- Parameters:
mI
- The polarizable multipole of atom i.mK
- The polarizable multipole of atom k.gradI
- The gradient for atom i.torqueI
- The torque on atom i.torqueK
- The torque on atom k.- Returns:
- The multipole energy.
-
polarizationEnergyAndGradient
public double polarizationEnergyAndGradient(PolarizableMultipole mI, PolarizableMultipole mK, double mutualMask, double[] gradI, double[] torqueI, double[] torqueK) 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.gradI
- The gradient for atom i.torqueI
- The torque on atom i.torqueK
- The torque on atom k.- Returns:
- The polarization energy.
-
multipoleEnergyBornGrad
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 double polarizationEnergyBornGrad(PolarizableMultipole mI, PolarizableMultipole 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.
-