Package ffx.numerics.multipole
Class GKSource
java.lang.Object
ffx.numerics.multipole.GKSource
The GKSource class generates the source terms for the Generalized Kirkwood version of the tensor recursion.
-
Field Summary
Modifier and TypeFieldDescriptionprotected final double[]
Chain rule terms from differentiating zeroth order born radii auxiliary functions (bn0) with respect to Ai or Aj. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected static double[]
anmc
(int n) Return coefficients needed when taking derivatives of auxiliary functions.protected void
bn
(int n) Compute the function b, which are chain rule terms from differentiating zeroth order auxiliary functions (an0) with respect to Ai or Aj.static double
cn
(int n, double Eh, double Es) Compute the Kirkwood dielectric function for a multipole of order n.void
generateSource
(GKTensorMode mode, GKMultipoleOrder multipole, double r2, double ai, double aj) Generate source terms for the Kirkwood version of the Challacombe et al. recursion.static double
selfEnergy
(PolarizableMultipole polarizableMultipole, double ai, double Eh, double Es) Compute the self-energy of a polarizable multipole.protected void
source
(double[] work, GKMultipoleOrder multipoleOrder) Generate source terms for the Kirkwood version of the Challacombe et al. recursion.
-
Field Details
-
bn
protected final double[] bnChain rule terms from differentiating zeroth order born radii auxiliary functions (bn0) with respect to Ai or Aj.
-
-
Constructor Details
-
GKSource
public GKSource(int order, double gc) Construct a new GKSource object.- Parameters:
order
- Recursion order.gc
- Generalized Kirkwood constant.
-
-
Method Details
-
source
Generate source terms for the Kirkwood version of the Challacombe et al. recursion.- Parameters:
work
- The array to store the source terms.multipoleOrder
- The multipole order.
-
generateSource
public void generateSource(GKTensorMode mode, GKMultipoleOrder multipole, double r2, double ai, double aj) Generate source terms for the Kirkwood version of the Challacombe et al. recursion.- Parameters:
mode
- The tensor mode.multipole
- The multipole order.r2
- Separation distance squared.ai
- Born radius of atom i.aj
- Born radius of atom j.
-
bn
protected void bn(int n) Compute the function b, which are chain rule terms from differentiating zeroth order auxiliary functions (an0) with respect to Ai or Aj.- Parameters:
n
- Multipole order.
-
anmc
protected static double[] anmc(int n) Return coefficients needed when taking derivatives of auxiliary functions.- Parameters:
n
- Multipole order.- Returns:
- Returns coefficients needed when taking derivatives of auxiliary functions.
-
cn
public static double cn(int n, double Eh, double Es) Compute the Kirkwood dielectric function for a multipole of order n.- Parameters:
n
- Multipole order.Eh
- Homogeneous dielectric.Es
- Solvent dielectric.- Returns:
- Returns (n+1)*(Eh-Es)/((n+1)*Es + n*Eh)) / Eh.
-
selfEnergy
public static double selfEnergy(PolarizableMultipole polarizableMultipole, double ai, double Eh, double Es) Compute the self-energy of a polarizable multipole.- Parameters:
polarizableMultipole
- The polarizable multipole.ai
- Born radius of atom i.Eh
- Homogeneous dielectric.Es
- Solvent dielectric.- Returns:
- Returns the self-energy of a polarizable multipole.
-