ClusterAbstract
, ClusterAbstractMultivalue
public class ClusterWheatleyMultibodyDerivativesBD extends ClusterWheatleySoftDerivativesBD implements ClusterAbstractMultivalue
Modifier and Type | Class | Description |
---|---|---|
static class |
ClusterWheatleyMultibodyDerivativesBD.ClusterRetrievePrimes |
Modifier and Type | Field | Description |
---|---|---|
protected ClusterWheatleyMultibodyDerivativesBD |
clusterMultiBDBD |
|
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 |
nDer |
|
protected java.math.BigDecimal[] |
pairValues |
|
protected int |
precisionLimit |
|
protected double[] |
r2 |
Constructor | Description |
---|---|
ClusterWheatleyMultibodyDerivativesBD(int nPoints,
MayerFunction f,
MayerFunctionNonAdditive fNonAdditive,
MayerFunctionNonAdditive[] fMulti,
int precision,
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) |
|
int |
getNumValues() |
|
ClusterAbstract |
makeCopy() |
Returns another instance of an identical cluster (shallow copy).
|
void |
setPrecisionLimit(int newLimit) |
|
void |
setTemperature(double newT) |
pointCount, value
BDexp, BDExpInternal, BDlog, makeClusterBDBD, pointCount, setDoCaching, setRCut, 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 ClusterWheatleyMultibodyDerivativesBD clusterMultiBDBD
protected final java.math.BigDecimal[] fQmulti
protected final int nDer
protected int precisionLimit
protected final boolean doTotal
protected final java.math.BigDecimal[] pairValues
public ClusterWheatleyMultibodyDerivativesBD(int nPoints, MayerFunction f, MayerFunctionNonAdditive fNonAdditive, MayerFunctionNonAdditive[] fMulti, int precision, 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)public void setPrecisionLimit(int newLimit)
setPrecisionLimit
in class ClusterWheatleySoftDerivativesBD
public ClusterAbstract makeCopy()
ClusterAbstract
makeCopy
in interface ClusterAbstract
makeCopy
in class ClusterWheatleySoftDerivativesBD
public void setTemperature(double newT)
setTemperature
in interface ClusterAbstract
setTemperature
in class ClusterWheatleySoftDerivativesBD
public void calcValue(BoxCluster box)
ClusterWheatleySoftDerivativesBD
calcValue
in class ClusterWheatleySoftDerivativesBD
protected void calcFullFQ(BoxCluster box)
ClusterWheatleySoftDerivativesBD
calcFullFQ
in class ClusterWheatleySoftDerivativesBD
public int getNumValues()
getNumValues
in interface ClusterAbstractMultivalue
getNumValues
in class ClusterWheatleySoftDerivativesBD
public double[] getAllLastValues(BoxCluster box)
getAllLastValues
in interface ClusterAbstractMultivalue
getAllLastValues
in class ClusterWheatleySoftDerivativesBD