Package ffx.numerics.multipole
Class GKEnergyQI
java.lang.Object
ffx.numerics.multipole.GKEnergyQI
The GKEnergyQI class computes the Generalized Kirkwood energy and forces using a QI frame.
-
Constructor Summary
ConstructorsConstructorDescriptionGKEnergyQI
(double soluteDielectric, double solventDielectric, double gkc, boolean gradient) Compute the GK Energy using a QI frame. -
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
-
GKEnergyQI
public GKEnergyQI(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
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
- True if mutual polarization is included.- Returns:
- The Born chain-rule term.
-