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 TypeMethodDescriptionvoidinitBorn(double[] r, double r2, double rbi, double rbk) Initialize for computing Born chain-rule terms.voidinitPotential(double[] r, double r2, double rbi, double rbk) Initialize the potential.doubleCompute the multipole energy.doublemultipoleEnergyAndGradient(PolarizableMultipole mI, PolarizableMultipole mK, double[] gradI, double[] torqueI, double[] torqueK) Compute the multipole energy and gradient.doubleCompute the Born chain-rule term for the multipole energy.doubleCompute the polarization energy.doublepolarizationEnergyAndGradient(PolarizableMultipole mI, PolarizableMultipole mK, double mutualMask, double[] gradI, double[] torqueI, double[] torqueK) Compute the polarization energy and gradient.doublepolarizationEnergyBornGrad(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.
-