IPotential
, IPotentialAtomic
, IPotentialAtomicMultibody
, PotentialSoft
public class P3CPSNonAdditiveHe extends Potential implements PotentialSoft, IPotentialAtomicMultibody
Modifier and Type | Field | Description |
---|---|---|
protected double[][][] |
A |
|
protected double[][][] |
alpha |
|
protected double[][][] |
beta3 |
|
protected static double |
beta3_111 |
|
protected static double |
beta3_112 |
|
protected static double |
beta3_113 |
|
protected static double |
beta3_122 |
|
protected static double |
beta3_222 |
|
protected double[][][][] |
beta4211 |
|
protected static double |
beta4211_1112 |
|
protected static double |
beta4211_1121 |
|
protected static double |
beta4211_2111 |
|
protected double[][][][] |
beta4220 |
|
protected static double |
beta4220_1111 |
|
protected static double |
beta4220_1211 |
|
protected static double |
beta4220_2111 |
|
static boolean |
bigAngle |
|
protected Boundary |
boundary |
|
protected double[][] |
cos1m2ThetaDiff |
|
protected double[][] |
cos2ThetaDiff |
|
protected double[][] |
cosNTheta |
|
protected double[][] |
cosThetaDiff |
|
protected double[][] |
cosThetaSum |
|
protected Vector |
drAB |
|
protected Vector |
drAC |
|
protected Vector |
drBC |
|
protected Vector[] |
gradient |
|
protected double[][] |
Rpow |
|
protected double |
sigma |
|
protected double[] |
sinTheta |
|
boolean |
verbose |
|
protected double[][][] |
Z3 |
|
protected static double |
Z3_111 |
|
protected static double |
Z3_112 |
|
protected static double |
Z3_113 |
|
protected static double |
Z3_122 |
|
protected static double |
Z3_222 |
|
protected double[][][][] |
Z4211 |
|
protected static double |
Z4211_1112 |
|
protected static double |
Z4211_1121 |
|
protected static double |
Z4211_2111 |
|
protected double[][][][] |
Z4220 |
|
protected static double |
Z4220_1111 |
|
protected static double |
Z4220_1211 |
|
protected static double |
Z4220_2111 |
Constructor | Description |
---|---|
P3CPSNonAdditiveHe(Space space) |
|
P3CPSNonAdditiveHe(Space space,
double sigma) |
Modifier and Type | Method | Description |
---|---|---|
protected double |
doSum112(double[] R1pow,
double[] R2pow,
double[] R3pow,
double[] cosNTheta3,
double cosThetaDiff12) |
|
protected double |
doSum113(double[] R1,
double[] R2,
double[] R3,
double[] cosNTheta3,
double cosThetaDiff12) |
|
protected double |
doSum122(double[] R1pow,
double[] R2pow,
double[] R3pow,
double[] cosNTheta2,
double cosThetaDiff13,
double cos2ThetaDiff13) |
|
protected double |
doSum644(double[] R1,
double[] R2,
double[] R3,
double[] cosNTheta3,
double cosThetaSum12,
double cosThetaDiff12,
double cos1m2ThetaDiff31,
double cos1m2ThetaDiff32) |
|
protected double |
doSum660(double[] R1,
double[] R2,
double cosTheta1) |
|
protected double |
doSum734(double[] R1,
double[] R2,
double[] R3,
double[] cosNTheta1,
double cosThetaSum23,
double cosThetaDiff23,
double cos1m2Theta13,
double cos1m2Theta12) |
|
protected double |
doSum770(double[] R1,
double[] R2,
double[] cosNTheta1) |
|
protected double |
doSum833(double[] R1,
double[] R2,
double[] R3,
double cos2Theta3,
double cos2Theta1,
double cos2Theta2) |
|
protected double |
doSum860(double[] R1,
double[] R2,
double cosTheta1) |
|
double |
energy(double[] r2) |
Returns the energy for a configuration of atoms having the given pair
separations (squared distances).
|
protected double |
energy(double RAB,
double RAC,
double RBC,
double costhetaA,
double costhetaB,
double costhetaC) |
|
double |
energy(IAtomList atomSet) |
Returns the interaction energy between the given atoms.
|
double |
getD(double beta,
double RXY,
int nXY) |
|
double |
getRange() |
Returns the range over which the potential applies.
|
Vector[] |
gradient(IAtomList atoms) |
Returns the gradient of the potential as it applies to each atom in the
given AtomSet, indicating how the energy would change as the position of
the first atom is varied.
|
Vector[] |
gradient(IAtomList atoms,
Tensor pressureTensor) |
Returns the same gradient as gradient(AtomSet) and also adds in the
contribution of the AtomSet to the pressureTensor.
|
double |
legendreP(int i,
double x) |
|
static void |
main(java.lang.String[] args) |
|
void |
setA() |
|
void |
setAlpha() |
|
void |
setBox(Box box) |
Informs the potential of the box on which it acts.
|
void |
setNullRegionMethod(int nullRegionMethod) |
|
double |
virial(IAtomList atoms) |
nBody
protected final Vector drAB
protected final Vector drAC
protected final Vector drBC
protected Boundary boundary
protected final Vector[] gradient
public static boolean bigAngle
protected final double[][][] alpha
protected final double[][][] A
protected final double[][][] beta3
protected final double[][][] Z3
protected final double[][][][] beta4220
protected final double[][][][] Z4220
protected final double[][][][] beta4211
protected final double[][][][] Z4211
protected final double[][] Rpow
protected final double[][] cosNTheta
protected final double[] sinTheta
protected final double[][] cosThetaDiff
protected final double[][] cos2ThetaDiff
protected final double[][] cos1m2ThetaDiff
protected final double[][] cosThetaSum
protected static final double Z3_111
protected static final double Z3_112
protected static final double Z3_113
protected static final double Z3_122
protected static final double Z3_222
protected static final double Z4220_1111
protected static final double Z4220_1211
protected static final double Z4220_2111
protected static final double Z4211_1112
protected static final double Z4211_1121
protected static final double Z4211_2111
protected static final double beta3_111
protected static final double beta3_112
protected static final double beta3_113
protected static final double beta3_122
protected static final double beta3_222
protected static final double beta4211_1112
protected static final double beta4211_1121
protected static final double beta4211_2111
protected static final double beta4220_1111
protected static final double beta4220_1211
protected static final double beta4220_2111
public boolean verbose
protected final double sigma
public P3CPSNonAdditiveHe(Space space)
public P3CPSNonAdditiveHe(Space space, double sigma)
public void setBox(Box box)
Potential
setBox
in interface IPotential
setBox
in class Potential
public void setNullRegionMethod(int nullRegionMethod)
public double energy(IAtomList atomSet)
Potential
energy
in interface IPotentialAtomic
energy
in class Potential
public double energy(double[] r2)
IPotentialAtomicMultibody
energy
in interface IPotentialAtomicMultibody
protected double energy(double RAB, double RAC, double RBC, double costhetaA, double costhetaB, double costhetaC)
protected double doSum112(double[] R1pow, double[] R2pow, double[] R3pow, double[] cosNTheta3, double cosThetaDiff12)
protected double doSum122(double[] R1pow, double[] R2pow, double[] R3pow, double[] cosNTheta2, double cosThetaDiff13, double cos2ThetaDiff13)
protected double doSum113(double[] R1, double[] R2, double[] R3, double[] cosNTheta3, double cosThetaDiff12)
protected double doSum660(double[] R1, double[] R2, double cosTheta1)
protected double doSum734(double[] R1, double[] R2, double[] R3, double[] cosNTheta1, double cosThetaSum23, double cosThetaDiff23, double cos1m2Theta13, double cos1m2Theta12)
protected double doSum644(double[] R1, double[] R2, double[] R3, double[] cosNTheta3, double cosThetaSum12, double cosThetaDiff12, double cos1m2ThetaDiff31, double cos1m2ThetaDiff32)
protected double doSum833(double[] R1, double[] R2, double[] R3, double cos2Theta3, double cos2Theta1, double cos2Theta2)
protected double doSum770(double[] R1, double[] R2, double[] cosNTheta1)
protected double doSum860(double[] R1, double[] R2, double cosTheta1)
public double getD(double beta, double RXY, int nXY)
public double legendreP(int i, double x)
public void setAlpha()
public void setA()
public double getRange()
IPotential
getRange
in interface IPotential
getRange
in class Potential
public Vector[] gradient(IAtomList atoms)
PotentialSoft
gradient
in interface PotentialSoft
public Vector[] gradient(IAtomList atoms, Tensor pressureTensor)
PotentialSoft
gradient
in interface PotentialSoft
public double virial(IAtomList atoms)
virial
in interface PotentialSoft
public static void main(java.lang.String[] args)