Class PolarizableMultipole

java.lang.Object
ffx.numerics.multipole.PolarizableMultipole

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

    Fields
    Modifier and Type
    Field
    Description
    protected double
    Dipole x-component.
    protected double
    Dipole y-component.
    protected double
    Dipole z-component.
    protected double
    Induced dipole chain rule x-component.
    protected double
    Induced dipole chain rule y-component.
    protected double
    Induced dipole chain rule z-component.
    protected double
    Partial charge.
    protected double
    Quadrupole xx-component multiplied by 1/3.
    protected double
    Quadrupole xy-component multiplied by 2/3.
    protected double
    Quadrupole xz-component multiplied by 2/3.
    protected double
    Quadrupole yy-component multiplied by 1/3.
    protected double
    Quadrupole xz-component multiplied by 2/3.
    protected double
    Quadrupole zz-component multiplied by 1/3.
    protected double
    Averaged induced dipole + induced dipole chain-rule x-component: sx = 0.5 * (ux + px).
    protected double
    Averaged induced dipole + induced dipole chain-rule y-component: sy = 0.5 * (uy + py).
    protected double
    Averaged induced dipole + induced dipole chain-rule z-component: sz = 0.5 * (uz + pz).
    protected double
    Induced dipole x-component.
    protected double
    Induced dipole y-component.
    protected double
    Induced dipole z-component.
  • Constructor Summary

    Constructors
    Constructor
    Description
    PolarizableMultipole constructor with zero moments.
    PolarizableMultipole(double[] Q, double[] u, double[] uCR)
    PolarizableMultipole constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    final void
    applyMasks(double scaleInduction, double scaleEnergy)
    Compute the scaled and averaged induced dipole.
    void
    Clear the induced dipoles.
    protected final double
    multipoleEnergy(double[] field)
    Contract this multipole with the potential and its derivatives.
    void
    set(double[] Q, double[] u, double[] uCR)
    Set the permanent multipole.
    final void
    setInducedDipole(double[] u, double[] uCR)
    Set the induced dipole.
    final void
    Set the permanent multipole.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • q

      protected double q
      Partial charge.
    • dx

      protected double dx
      Dipole x-component.
    • dy

      protected double dy
      Dipole y-component.
    • dz

      protected double dz
      Dipole z-component.
    • qxx

      protected double qxx
      Quadrupole xx-component multiplied by 1/3.
    • qyy

      protected double qyy
      Quadrupole yy-component multiplied by 1/3.
    • qzz

      protected double qzz
      Quadrupole zz-component multiplied by 1/3.
    • qxy

      protected double qxy
      Quadrupole xy-component multiplied by 2/3.
    • qxz

      protected double qxz
      Quadrupole xz-component multiplied by 2/3.
    • qyz

      protected double qyz
      Quadrupole xz-component multiplied by 2/3.
    • ux

      protected double ux
      Induced dipole x-component.
    • uy

      protected double uy
      Induced dipole y-component.
    • uz

      protected double uz
      Induced dipole z-component.
    • px

      protected double px
      Induced dipole chain rule x-component.
    • py

      protected double py
      Induced dipole chain rule y-component.
    • pz

      protected double pz
      Induced dipole chain rule z-component.
    • sx

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

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

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

    • PolarizableMultipole

      public PolarizableMultipole()
      PolarizableMultipole constructor with zero moments.
    • PolarizableMultipole

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

    • set

      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 - Multipole Q[q, dx, dy, dz, qxx, qyy, qzz, qxy, qxz, qyz]
      u - Induced dipole u[ux, uy, uz]
      uCR - Induced dipole chain-rule uCR[ux, uy, uz]
    • setPermanentMultipole

      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

      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]
    • clearInducedDipoles

      public void clearInducedDipoles()
      Clear the induced dipoles.
    • applyMasks

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

      protected final double multipoleEnergy(double[] field)
      Contract this multipole with the potential and its derivatives.
      Returns:
      The permanent multipole energy.