ClusterAbstract
public 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, value
protected 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()
ClusterAbstract
makeCopy
in interface ClusterAbstract
makeCopy
in class ClusterWheatleySoft
public void setTemperature(double newT)
setTemperature
in interface ClusterAbstract
setTemperature
in class ClusterWheatleySoft
public void setDoTotal(boolean newDoTotal)
public void setRCut(double newRCut)
public void calcValue(BoxCluster box)
ClusterWheatleySoft
calcValue
in class ClusterWheatleySoft
protected void calcFullFQ(BoxCluster box)
ClusterWheatleySoft
calcFullFQ
in class ClusterWheatleySoft