Package ffx.numerics.multipole
Class AmoebaPlusDampTensorGlobal
java.lang.Object
ffx.numerics.multipole.MultipoleTensor
ffx.numerics.multipole.CoulombTensorGlobal
ffx.numerics.multipole.AmoebaPlusDampTensorGlobal
The AmoebaPlusDampTensorGlobal class computes derivatives of damping via recursion to
order <= 2 for Cartesian multipoles defined in AMOEBA+. These are the nuclear charge
interactions with permanent multipoles. The zeroth order damp term is 1-exp(-alpha*r).
- Since:
- 1.0
- Author:
- Matthew J. Speranza
- 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
ConstructorDescriptionAmoebaPlusDampTensorGlobal
(int order, double alpha1, double alpha2) Constructor for CoulombTensorGlobal.AmoebaPlusDampTensorGlobal
(int order, double alpha1, double alpha2, double ewaldA) Constructor for CoulombTensorGlobal. -
Method Summary
Modifier and TypeMethodDescriptiondouble
Terms 1, 2, 3 in Eq. 5 of AMOEBA+ paper.double
coreInteractionAndGradient
(PolarizableMultipole mI, PolarizableMultipole mK, double[] Gi, double[] Gk) Compute the core interaction and gradient between two sites.protected static void
dampSource
(double alpha, double R, double[] T000) Generate source terms for the Challacombe et al. recursion.protected void
source
(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
-
AmoebaPlusDampTensorGlobal
public AmoebaPlusDampTensorGlobal(int order, double alpha1, double alpha2) Constructor for CoulombTensorGlobal.- Parameters:
order
- The order of the tensor.alpha1
- The first damping parameter.alpha2
- The second damping parameter.
-
AmoebaPlusDampTensorGlobal
public AmoebaPlusDampTensorGlobal(int order, double alpha1, double alpha2, double ewaldA) Constructor for CoulombTensorGlobal.- Parameters:
order
- The order of the tensor.alpha1
- The first damping parameter.alpha2
- The second damping parameter.ewaldA
- The Ewald damping parameter.
-
-
Method Details
-
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.
-
dampSource
protected static void dampSource(double alpha, double R, double[] T000) Generate source terms for the Challacombe et al. recursion.- Parameters:
alpha
- adjustable damping parameterR
- The separation distance.T000
- Location to store the source terms.
-
coreInteraction
Terms 1, 2, 3 in Eq. 5 of AMOEBA+ paper. Uses a swap of alpha -> alpha2 that takes place in the first call to the source method to generate a new tensor with the second alpha.- Parameters:
mI
- The multipole moment at site I.mK
- The multipole moment at site K.- Returns:
- energy.
-
coreInteractionAndGradient
public double coreInteractionAndGradient(PolarizableMultipole mI, PolarizableMultipole mK, double[] Gi, double[] Gk) Compute the core interaction and gradient between two sites.- Parameters:
mI
- The multipole moment at site I.mK
- The multipole moment at site K.Gi
- The gradient at site I.Gk
- The gradient at site K.- Returns:
- energy.
-