ClusterAbstract
, ClusterAbstractMultivalue
public class ClusterWheatleyMultibodyDerivatives extends ClusterWheatleySoftDerivatives implements ClusterAbstractMultivalue
Modifier and Type | Class | Description |
---|---|---|
static class |
ClusterWheatleyMultibodyDerivatives.ClusterRetrievePrimes |
ClusterWheatleySoftDerivatives.ClusterRetrievePrimesBD
Modifier and Type | Field | Description |
---|---|---|
protected ClusterWheatleyMultibodyDerivativesBD |
clusterMultiBD |
|
protected boolean |
doMulti |
|
protected boolean |
doTotal |
|
protected MayerFunctionNonAdditive[] |
fMulti |
|
protected MayerFunctionNonAdditive |
fNonAdditive |
|
protected double[] |
fQmulti |
|
protected int[] |
moleculeIndices |
|
protected MoleculeArrayList |
molecules |
|
protected long |
MultiBDcount |
|
protected double |
multiTol |
|
protected int |
nDer |
|
protected double[] |
pairValues |
|
static boolean |
pushme |
|
static boolean |
pushmeval |
|
protected double[] |
r2 |
|
protected long |
totcount |
avgAbsCheck, avgAbsCheckBD, BDAccFrac, beta, binomial, checkFac, clusterBD, count, cPairID, debug, doCaching, f, fA, fB, fC, fQ, lastCPairID, lastValue, lastValueBD, n, nCheck, nCheckTot, random, randomJustChecking, rCut2, SoftBDcount, stepcount, timeBD, tol, value, valueBD
Constructor | Description |
---|---|
ClusterWheatleyMultibodyDerivatives(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive[] fMulti,
double multiTol,
int nDer,
boolean doTotal) |
|
ClusterWheatleyMultibodyDerivatives(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive,
double multiTol,
int nDer,
boolean doTotal) |
|
ClusterWheatleyMultibodyDerivatives(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive,
MayerFunctionNonAdditive[] fMulti,
double tol,
int nDer,
boolean doTotal) |
Modifier and Type | Method | Description |
---|---|---|
protected void |
calcFullFQ(BoxCluster box) |
This calculates all FQ values given that the entries for pairs have
already been populated.
|
void |
calcValue(BoxCluster box) |
Returns the cluster value for the given configuration.
|
double[] |
getAllLastValues(BoxCluster box) |
|
long |
getMultiBDcount() |
|
double |
getMultiBDfrac() |
|
long |
getMulticount() |
|
int |
getNumValues() |
|
ClusterAbstract |
makeCopy() |
Returns another instance of an identical cluster (shallow copy).
|
void |
setTemperature(double newT) |
|
void |
setTolerance(double newTol) |
pointCount, value
getAverageCheck, getAverageCheckBD, getNumBDChecks, getNumCheckVisits, getSoftBDcount, getSoftBDfrac, getSoftcount, getTimeBD, pointCount, printCheckData, setBDAccFrac, setDoCaching, setNumBDCheckBins, setRCut, updateF, value, valueIsBD
protected final MayerFunctionNonAdditive fNonAdditive
protected final MayerFunctionNonAdditive[] fMulti
protected final int[] moleculeIndices
protected final double[] r2
protected final MoleculeArrayList molecules
protected boolean doMulti
protected ClusterWheatleyMultibodyDerivativesBD clusterMultiBD
protected double multiTol
protected final double[] fQmulti
protected final int nDer
protected final boolean doTotal
public static boolean pushme
public static boolean pushmeval
protected final double[] pairValues
protected long totcount
protected long MultiBDcount
public ClusterWheatleyMultibodyDerivatives(int nPoints, MayerFunction f, MayerFunctionNonAdditive[] fMulti, double multiTol, int nDer, boolean doTotal)
nPoints
- number of pointsf
- pair Mayer functionfMulti
- array of non-additive Mayer functions. fMulti[3] is the
3-body Mayer function (exp(-beta*deltaU3)-1), fMulti[4] is the
4-body Mayer function, etc. fMulti null entries will be
ignored and the array need to not be of size equal to nPoints.
If only 3-body Mayer function is available, then fMulti can be
of length 4 (0,1,2,3).public ClusterWheatleyMultibodyDerivatives(int nPoints, MayerFunction f, MayerFunctionNonAdditive fNonAdditive, double multiTol, int nDer, boolean doTotal)
nPoints
- number of pointsf
- pair Mayer functionfNonAdditive
- Mayer function that returns non-additive value for
any number of molecules.public ClusterWheatleyMultibodyDerivatives(int nPoints, MayerFunction f, MayerFunctionNonAdditive fNonAdditive, MayerFunctionNonAdditive[] fMulti, double tol, int nDer, boolean doTotal)
nPoints
- number of pointsf
- pair Mayer functionfNonAdditive
- Mayer function that returns non-additive value for
any number of molecules.fMulti
- array of non-additive Mayer functions. fMulti[3] is the
3-body Mayer function (exp(-beta*deltaU3)-1), fMulti[4] is the
4-body Mayer function, etc. fMulti null entries will be
ignored and the array need to not be of size equal to nPoints.
If only 3-body Mayer function is available, then fMulti can be
of length 4 (0,1,2,3).tol
- if the magnitude of the computed cluster value is less than
the value will be recomputed using BigDecimal. Use tol=0 to
prevent BigDecimal computations.public void setTolerance(double newTol)
setTolerance
in class ClusterWheatleySoftDerivatives
public ClusterAbstract makeCopy()
ClusterAbstract
makeCopy
in interface ClusterAbstract
makeCopy
in class ClusterWheatleySoftDerivatives
public void setTemperature(double newT)
setTemperature
in interface ClusterAbstract
setTemperature
in class ClusterWheatleySoftDerivatives
public void calcValue(BoxCluster box)
ClusterWheatleySoftDerivatives
calcValue
in class ClusterWheatleySoftDerivatives
protected void calcFullFQ(BoxCluster box)
ClusterWheatleySoftDerivatives
calcFullFQ
in class ClusterWheatleySoftDerivatives
public int getNumValues()
getNumValues
in interface ClusterAbstractMultivalue
getNumValues
in class ClusterWheatleySoftDerivatives
public double[] getAllLastValues(BoxCluster box)
getAllLastValues
in interface ClusterAbstractMultivalue
getAllLastValues
in class ClusterWheatleySoftDerivatives
public long getMultiBDcount()
public long getMulticount()
public double getMultiBDfrac()