Package ffx.numerics.multipole
Class PolarizableMultipoleSIMD
java.lang.Object
ffx.numerics.multipole.PolarizableMultipoleSIMD
The PolarizableMultipole class defines a polarizable multipole.
- Since:
- 1.0
- Author:
- Michael J. Schnieders
-
Field Summary
Modifier and TypeFieldDescriptionprotected DoubleVector
Dipole x-component.protected DoubleVector
Dipole y-component.protected DoubleVector
Dipole z-component.protected DoubleVector
Induced dipole chain rule x-component.protected DoubleVector
Induced dipole chain rule y-component.protected DoubleVector
Induced dipole chain rule z-component.protected DoubleVector
Partial charge.protected DoubleVector
Quadrupole xx-component multiplied by 1/3.protected DoubleVector
Quadrupole xy-component multiplied by 2/3.protected DoubleVector
Quadrupole xz-component multiplied by 2/3.protected DoubleVector
Quadrupole yy-component multiplied by 1/3.protected DoubleVector
Quadrupole xz-component multiplied by 2/3.protected DoubleVector
Quadrupole zz-component multiplied by 1/3.protected DoubleVector
Averaged induced dipole + induced dipole chain-rule x-component: sx = 0.5 * (ux + px).protected DoubleVector
Averaged induced dipole + induced dipole chain-rule y-component: sy = 0.5 * (uy + py).protected DoubleVector
Averaged induced dipole + induced dipole chain-rule z-component: sz = 0.5 * (uz + pz).protected DoubleVector
Induced dipole x-component.protected DoubleVector
Induced dipole y-component.protected DoubleVector
Induced dipole z-component. -
Constructor Summary
ConstructorDescriptionPolarizableMultipole constructor with zero moments.PolarizableMultipoleSIMD
(double[][] Q, double[][] u, double[][] uCR) PolarizableMultipole constructor. -
Method Summary
Modifier and TypeMethodDescriptionfinal void
applyMasks
(DoubleVector scaleInduction, DoubleVector scaleEnergy) Compute the scaled and averaged induced dipole.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
setPermanentMultipole
(double[][] Q) Set the permanent multipole.
-
Field Details
-
q
Partial charge. -
dx
Dipole x-component. -
dy
Dipole y-component. -
dz
Dipole z-component. -
qxx
Quadrupole xx-component multiplied by 1/3. -
qyy
Quadrupole yy-component multiplied by 1/3. -
qzz
Quadrupole zz-component multiplied by 1/3. -
qxy
Quadrupole xy-component multiplied by 2/3. -
qxz
Quadrupole xz-component multiplied by 2/3. -
qyz
Quadrupole xz-component multiplied by 2/3. -
ux
Induced dipole x-component. -
uy
Induced dipole y-component. -
uz
Induced dipole z-component. -
px
Induced dipole chain rule x-component. -
py
Induced dipole chain rule y-component. -
pz
Induced dipole chain rule z-component. -
sx
Averaged induced dipole + induced dipole chain-rule x-component: sx = 0.5 * (ux + px). -
sy
Averaged induced dipole + induced dipole chain-rule y-component: sy = 0.5 * (uy + py). -
sz
Averaged induced dipole + induced dipole chain-rule z-component: sz = 0.5 * (uz + pz).
-
-
Constructor Details
-
PolarizableMultipoleSIMD
public PolarizableMultipoleSIMD()PolarizableMultipole constructor with zero moments. -
PolarizableMultipoleSIMD
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
-
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
- 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
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]
-
applyMasks
Compute the scaled and averaged induced dipole.- Parameters:
scaleInduction
- Induction mask scale factor.scaleEnergy
- Energy mask scale factor.
-