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 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
-
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.
-