ClusterAbstractpublic class ClusterWheatleyMultibody extends ClusterWheatleySoft
| Modifier and Type | Field | Description |
|---|---|---|
protected ClusterWheatleyMultibodyBD |
clusterMultiBD |
|
protected boolean |
doMulti |
|
protected boolean |
doTotal |
|
protected MayerFunctionNonAdditive[] |
fMulti |
|
protected MayerFunctionNonAdditive |
fNonAdditive |
|
protected double[] |
fQmulti |
|
protected int[] |
moleculeIndices |
|
protected MoleculeArrayList |
molecules |
|
protected double |
multiTol |
|
protected double[] |
r2 |
|
protected double |
rCut2 |
| Constructor | Description |
|---|---|
ClusterWheatleyMultibody(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive) |
|
ClusterWheatleyMultibody(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive[] fMulti) |
|
ClusterWheatleyMultibody(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive,
MayerFunctionNonAdditive[] fMulti,
double tol) |
| 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.
|
ClusterAbstract |
makeCopy() |
Returns another instance of an identical cluster (shallow copy).
|
void |
setDoTotal(boolean newDoTotal) |
|
void |
setRCut(double newRCut) |
|
void |
setTemperature(double newT) |
|
void |
setTolerance(double newTol) |
getAverageCheck, getAverageCheckBD, pointCount, setBDAccFrac, setDoCaching, updateF, valueprotected final MayerFunctionNonAdditive fNonAdditive
protected final MayerFunctionNonAdditive[] fMulti
protected final int[] moleculeIndices
protected final double[] r2
protected final MoleculeArrayList molecules
protected boolean doMulti
protected boolean doTotal
protected double rCut2
protected ClusterWheatleyMultibodyBD clusterMultiBD
protected double multiTol
protected final double[] fQmulti
public ClusterWheatleyMultibody(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive[] fMulti)
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 ClusterWheatleyMultibody(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive)
nPoints - number of pointsf - pair Mayer functionfNonAdditive - Mayer function that returns non-additive value for
any number of molecules.public ClusterWheatleyMultibody(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive,
MayerFunctionNonAdditive[] fMulti,
double tol)
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)
public ClusterAbstract makeCopy()
ClusterAbstractmakeCopy in interface ClusterAbstractmakeCopy in class ClusterWheatleySoftpublic void setTemperature(double newT)
setTemperature in interface ClusterAbstractsetTemperature in class ClusterWheatleySoftpublic void setDoTotal(boolean newDoTotal)
public void setRCut(double newRCut)
public void calcValue(BoxCluster box)
ClusterWheatleySoftcalcValue in class ClusterWheatleySoftprotected void calcFullFQ(BoxCluster box)
ClusterWheatleySoftcalcFullFQ in class ClusterWheatleySoft