Class PolarizableMultipoleSIMD

java.lang.Object
ffx.numerics.multipole.PolarizableMultipoleSIMD

public class PolarizableMultipoleSIMD extends Object
The PolarizableMultipole class defines a polarizable multipole.
Since:
1.0
Author:
Michael J. Schnieders
  • Field Details Link icon

    • q Link icon

      protected DoubleVector q
      Partial charge.
    • dx Link icon

      protected DoubleVector dx
      Dipole x-component.
    • dy Link icon

      protected DoubleVector dy
      Dipole y-component.
    • dz Link icon

      protected DoubleVector dz
      Dipole z-component.
    • qxx Link icon

      protected DoubleVector qxx
      Quadrupole xx-component multiplied by 1/3.
    • qyy Link icon

      protected DoubleVector qyy
      Quadrupole yy-component multiplied by 1/3.
    • qzz Link icon

      protected DoubleVector qzz
      Quadrupole zz-component multiplied by 1/3.
    • qxy Link icon

      protected DoubleVector qxy
      Quadrupole xy-component multiplied by 2/3.
    • qxz Link icon

      protected DoubleVector qxz
      Quadrupole xz-component multiplied by 2/3.
    • qyz Link icon

      protected DoubleVector qyz
      Quadrupole xz-component multiplied by 2/3.
    • ux Link icon

      protected DoubleVector ux
      Induced dipole x-component.
    • uy Link icon

      protected DoubleVector uy
      Induced dipole y-component.
    • uz Link icon

      protected DoubleVector uz
      Induced dipole z-component.
    • px Link icon

      protected DoubleVector px
      Induced dipole chain rule x-component.
    • py Link icon

      protected DoubleVector py
      Induced dipole chain rule y-component.
    • pz Link icon

      protected DoubleVector pz
      Induced dipole chain rule z-component.
    • sx Link icon

      protected DoubleVector sx
      Averaged induced dipole + induced dipole chain-rule x-component: sx = 0.5 * (ux + px).
    • sy Link icon

      protected DoubleVector sy
      Averaged induced dipole + induced dipole chain-rule y-component: sy = 0.5 * (uy + py).
    • sz Link icon

      protected DoubleVector sz
      Averaged induced dipole + induced dipole chain-rule z-component: sz = 0.5 * (uz + pz).
  • Constructor Details Link icon

    • PolarizableMultipoleSIMD Link icon

      public PolarizableMultipoleSIMD()
      PolarizableMultipole constructor with zero moments.
    • PolarizableMultipoleSIMD Link icon

      public PolarizableMultipoleSIMD(double[][] Q, double[][] u, double[][] uCR)
      PolarizableMultipole constructor.
      Parameters:
      Q - Multipoles Q[q, dx, dy, dz, qxx, qyy, qzz, qxy, qxz, qyz]
      u - Induced dipoles u[ux, uy, uz]
      uCR - Induced dipole chain-rules uCR[ux, uy, uz]
  • Method Details Link icon

    • set Link icon

      public void set(double[][] Q, double[][] u, double[][] uCR)
      Set the permanent multipole.

      Note that the quadrupole trace components are multiplied by 1/3 and the off-diagonal components are multiplied by 2/3.

      Parameters:
      Q - Multipoles Q[q, dx, dy, dz, qxx, qyy, qzz, qxy, qxz, qyz]
      u - Induced dipoles u[ux, uy, uz]
      uCR - Induced dipole chain-rules uCR[ux, uy, uz]
    • setPermanentMultipole Link icon

      public final void setPermanentMultipole(double[][] Q)
      Set the permanent multipole.

      Note that the quadrupole trace components are multiplied by 1/3 and the off-diagonal components are multiplied by 2/3.

      Parameters:
      Q - Multipole Q[q, dx, dy, dz, qxx, qyy, qzz, qxy, qxz, qyz]
    • setInducedDipole Link icon

      public final void setInducedDipole(double[][] u, double[][] uCR)
      Set the induced dipole.
      Parameters:
      u - Induced dipole u[ux, uy, uz]
      uCR - Induced dipole chain-rule uCR[ux, uy, uz]
    • applyMasks Link icon

      public final void applyMasks(DoubleVector scaleInduction, DoubleVector scaleEnergy)
      Compute the scaled and averaged induced dipole.
      Parameters:
      scaleInduction - Induction mask scale factor.
      scaleEnergy - Energy mask scale factor.