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 Link icon

    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.
    protected double
     
  • Constructor Summary Link icon

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

    Modifier and Type
    Method
    Description
    final void
    applyMasks(double scaleInduction, double scaleEnergy)
    Compute the scaled and averaged induced dipole.
    void
    Clear the induced dipoles.
    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 Link icon

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

    • q Link icon

      protected double q
      Partial charge.
    • dx Link icon

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      protected double Z
  • Constructor Details Link icon

    • PolarizableMultipole Link icon

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

      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]
    • PolarizableMultipole Link icon

      public PolarizableMultipole(double[] Q, double[] u, double[] uCR, double Z)
      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 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 - 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 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]
    • clearInducedDipoles Link icon

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

      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.