Package ffx.numerics.multipole
Class TholeTensorGlobal
java.lang.Object
ffx.numerics.multipole.MultipoleTensor
ffx.numerics.multipole.CoulombTensorGlobal
ffx.numerics.multipole.TholeTensorGlobal
The TholeTensorGlobal class computes derivatives of Thole damping via recursion to order <= 4 for
Cartesian multipoles in either a global frame.
- Since:
- 1.0
- Author:
- Michael J. Schnieders
- See Also:
-
Field Summary
Fields inherited from class ffx.numerics.multipole.MultipoleTensor
coordinates, coulombSource, il, im, in, o1, operator, order, R, r2, size, t000, T000, t001, t002, t003, t004, t005, t006, t010, t011, t012, t013, t014, t015, t020, t021, t022, t023, t024, t030, t031, t032, t033, t040, t041, t042, t050, t051, t060, t100, t101, t102, t103, t104, t105, t110, t111, t112, t113, t114, t120, t121, t122, t123, t130, t131, t132, t140, t141, t150, t200, t201, t202, t203, t204, t210, t211, t212, t213, t220, t221, t222, t230, t231, t240, t300, t301, t302, t303, t310, t311, t312, t320, t321, t330, t400, t401, t402, t410, t411, t420, t500, t501, t510, t600, work, x, y, z
-
Constructor Summary
ConstructorDescriptionTholeTensorGlobal
(int order, double thole, double AiAk) Constructor for EwaldMultipoleTensorGlobal.TholeTensorGlobal
(int order, double thole, double AiAk, boolean directDamping) -
Method Summary
Modifier and TypeMethodDescriptionboolean
checkThole
(double r) Check if the Thole damping is exponential is greater than zero (or the interaction can be neglected).protected static boolean
checkThole
(double thole, double AiAk, double r) Check if the Thole damping is exponential is greater than zero (or the interaction can be neglected).void
setThole
(double thole, double AiAk) Set Thole damping parametersprotected void
source
(double[] T000) Generate source terms for the Challacombe et al. recursion.protected static void
tholeSource
(double thole, double AiAk, double R, boolean direct, double[] T000) Generate source terms for the Challacombe et al. recursion.Methods inherited from class ffx.numerics.multipole.CoulombTensorGlobal
chargeIPotentialAtK, chargeKPotentialAtI, codeTensorRecursion, codeVectorTensorRecursion, codeVectorTensorRecursion, dipoleIPotentialAtK, dipoleKPotentialAtI, getd2EdZ2, getdEdZ, multipoleIPotentialAtK, multipoleKPotentialAtI, noStorageRecursion, noStorageRecursion, order1, order2, order3, order4, order5, order6, quadrupoleIPotentialAtK, quadrupoleKPotentialAtI, recursion, recursion, setR, Tlmnj
Methods inherited from class ffx.numerics.multipole.MultipoleTensor
codePotentialMultipoleI, codePotentialMultipoleISIMD, codePotentialMultipoleK, codePotentialMultipoleKSIMD, contractMultipoleI, dipoleTorque, generateTensor, generateTensor, getTensor, log, multipoleEnergy, multipoleEnergy, multipoleEnergyAndGradient, multipoleGradient, multipoleTorque, polarizationEnergy, polarizationEnergy, polarizationEnergyAndGradient, polarizationEnergyS, potentialMultipoleI, quadrupoleTorque, setR, setTensor, ti, totalEnergy
-
Constructor Details
-
TholeTensorGlobal
public TholeTensorGlobal(int order, double thole, double AiAk) Constructor for EwaldMultipoleTensorGlobal.- Parameters:
order
- Tensor order.thole
- Thole damping parameter is set to min(pti,ptk)).AiAk
- parameter = 1/(alphaI^6*alphaK^6) where alpha is polarizability.
-
TholeTensorGlobal
public TholeTensorGlobal(int order, double thole, double AiAk, boolean directDamping)
-
-
Method Details
-
setThole
public void setThole(double thole, double AiAk) Set Thole damping parameters- Parameters:
thole
- a double.AiAk
- a double.
-
checkThole
public boolean checkThole(double r) Check if the Thole damping is exponential is greater than zero (or the interaction can be neglected).- Parameters:
r
- The separation distance.- Returns:
- True if -thole*u^3 is greater than -50.0.
-
checkThole
protected static boolean checkThole(double thole, double AiAk, double r) Check if the Thole damping is exponential is greater than zero (or the interaction can be neglected).- Parameters:
thole
- Thole damping parameter is set to min(pti,ptk)).AiAk
- parameter = 1/(alphaI^6*alphaK^6) where alpha is polarizability.r
- The separation distance.- Returns:
- True if -thole*u^3 is greater than -50.0.
-
source
protected void source(double[] T000) Generate source terms for the Challacombe et al. recursion.- Overrides:
source
in classCoulombTensorGlobal
- Parameters:
T000
- Location to store the source terms.
-
tholeSource
protected static void tholeSource(double thole, double AiAk, double R, boolean direct, double[] T000) Generate source terms for the Challacombe et al. recursion.- Parameters:
thole
- Thole damping parameter is set to min(pti,ptk)).AiAk
- parameter = 1/(alphaI^6*alphaK^6) where alpha is polarizability.R
- The separation distance.T000
- Location to store the source terms.
-