ClusterAbstractpublic class ClusterWheatleyMultibodyBD extends ClusterWheatleySoftBD
| Modifier and Type | Field | Description |
|---|---|---|
protected ClusterWheatleyMultibodyBD |
clusterWheatleyBDBD |
|
protected boolean |
doMulti |
|
protected boolean |
doTotal |
|
protected MayerFunctionNonAdditive[] |
fMulti |
|
protected MayerFunctionNonAdditive |
fNonAdditive |
|
protected java.math.BigDecimal[] |
fQmulti |
|
protected int[] |
moleculeIndices |
|
protected MoleculeArrayList |
molecules |
|
protected int |
precisionLimit |
|
protected double[] |
r2 |
|
protected double |
rCut2 |
| Constructor | Description |
|---|---|
ClusterWheatleyMultibodyBD(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive[] fMulti,
int precision) |
|
ClusterWheatleyMultibodyBD(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive,
int precision) |
|
ClusterWheatleyMultibodyBD(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive,
MayerFunctionNonAdditive[] fMulti,
int precision) |
| 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 |
setPrecisionLimit(int newLimit) |
|
void |
setRCut(double newRCut) |
pointCount, setDoCaching, setTemperature, updateF, valueprotected final MayerFunctionNonAdditive[] fMulti
protected final MayerFunctionNonAdditive fNonAdditive
protected final int[] moleculeIndices
protected final double[] r2
protected final MoleculeArrayList molecules
protected boolean doMulti
protected boolean doTotal
protected double rCut2
protected final java.math.BigDecimal[] fQmulti
protected ClusterWheatleyMultibodyBD clusterWheatleyBDBD
protected int precisionLimit
public ClusterWheatleyMultibodyBD(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive[] fMulti,
int precision)
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).precision - number of digits used for internal computation and storagepublic ClusterWheatleyMultibodyBD(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive,
int precision)
nPoints - number of pointsf - pair Mayer functionfNonAdditive - Mayer function that returns non-additive value for
any number of molecules.public ClusterWheatleyMultibodyBD(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive,
MayerFunctionNonAdditive[] fMulti,
int precision)
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).precision - 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 setPrecisionLimit(int newLimit)
public ClusterAbstract makeCopy()
ClusterAbstractmakeCopy in interface ClusterAbstractmakeCopy in class ClusterWheatleySoftBDpublic void setDoTotal(boolean newDoTotal)
public void setRCut(double newRCut)
public void calcValue(BoxCluster box)
ClusterWheatleySoftBDcalcValue in class ClusterWheatleySoftBDprotected void calcFullFQ(BoxCluster box)
ClusterWheatleySoftBDcalcFullFQ in class ClusterWheatleySoftBD