Class AmoebaPlusDampTensorGlobal


public class AmoebaPlusDampTensorGlobal extends CoulombTensorGlobal
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:
  • 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 class CoulombTensorGlobal
      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 parameter
      R - The separation distance.
      T000 - Location to store the source terms.
    • coreInteraction

      public double coreInteraction(PolarizableMultipole mI, PolarizableMultipole mK)
      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.