ExternalVirialDiagrams
public class VirialDiagrams
extends java.lang.Object
Modifier and Type | Class | Description |
---|---|---|
static class |
VirialDiagrams.ArticulatedAt0 |
|
static class |
VirialDiagrams.ComparatorNumFieldNodesExchange |
Modifier and Type | Field | Description |
---|---|---|
protected boolean |
allPermutations |
|
char |
bBond |
|
protected java.util.Map<Graph,Graph> |
cancelMap |
|
protected java.util.Set<Graph> |
disconnectedP |
|
protected boolean |
doDisconnectedMatching |
|
protected boolean |
doExchange |
|
protected boolean |
doExchangeCondensing |
|
protected boolean |
doExchangeF |
|
protected boolean |
doHB |
|
protected boolean |
doKeepEBonds |
|
protected boolean |
doMinimalBC |
|
protected boolean |
doMinimalMulti |
|
protected boolean |
doMultiFromPair |
|
protected boolean |
doNegativeExchange |
|
protected boolean |
doReeHoover |
|
protected boolean |
doShortcut |
|
char |
eBond |
|
char |
efbcBond |
|
char |
excBond |
|
char |
fBond |
|
char |
ffBond |
|
protected boolean |
flex |
|
protected boolean |
flexCancelOnly |
|
protected char[] |
flexColors |
|
char |
fmBond |
|
protected java.util.Set<Graph> |
fullLnXi |
|
protected java.util.Set<Graph> |
fullMultiP |
|
protected static int[][][] |
groupStart |
|
protected boolean |
isInteractive |
|
protected java.util.Set<Graph> |
lnfXi |
|
char |
mBond |
|
protected java.util.Set<Graph> |
minMultiP |
|
char |
mmBond |
|
protected boolean |
multibody |
|
char |
mxcBond |
|
char |
MxcBond |
|
protected static int[][] |
myIds |
|
protected int |
n |
|
protected char |
nodeColor |
|
protected java.util.Set<Graph> |
p |
|
protected static int[][] |
quadStart |
|
protected static int[][] |
quintStart |
|
protected java.util.Set<Graph> |
rho |
|
protected static int[][] |
sixStart |
|
protected static int[][] |
tripletStart |
|
protected java.util.Set<Graph> |
trueMultiP |
Constructor | Description |
---|---|
VirialDiagrams(int n,
boolean multibody,
boolean flex) |
|
VirialDiagrams(int n,
boolean multibody,
boolean flex,
boolean interactive) |
Modifier and Type | Method | Description |
---|---|---|
java.util.Map<Graph,Graph> |
getCancelMap() |
|
java.util.Set<Graph> |
getExtraDisconnectedVirialGraphs() |
|
static int |
getGroupID(int[] ids,
int n) |
|
java.util.Set<Graph> |
getMSMCGraphs(boolean connectedOnly,
boolean getMultiGraphs) |
|
java.util.Set<Graph> |
getSplitDisconnectedVirialGraphs(Graph g) |
|
java.util.Set<Graph> |
getVirialGraphs() |
|
static boolean |
graphHasEdgeColor(Graph g,
char color) |
|
protected void |
init() |
|
static java.util.HashMap<java.lang.Character,java.lang.Integer> |
initMetaDataComparator() |
|
static void |
main(java.lang.String[] args) |
|
static GraphList |
makeGraphList() |
|
void |
makeRhoDiagrams() |
|
ClusterSumShell[] |
makeSingleVirialClusters(ClusterSum coreCluster,
MayerFunction e,
MayerFunction f) |
|
ClusterSumMultibodyShell[] |
makeSingleVirialClustersMulti(ClusterSumMultibody coreCluster,
MayerFunction f,
MayerFunctionNonAdditive fMulti) |
|
ClusterSum |
makeVirialCluster(MayerFunction f) |
|
ClusterSum |
makeVirialCluster(MayerFunction f,
MayerFunctionNonAdditive fMulti) |
|
ClusterSum |
makeVirialCluster(MayerFunction f,
MayerFunctionNonAdditive fMulti,
boolean doTotal) |
|
ClusterSum |
makeVirialCluster(java.util.Set<Graph> graphs,
MayerFunction f,
MayerFunctionNonAdditive fMulti) |
|
ClusterSumHS |
makeVirialClusterHS(java.util.Set<Graph> graphs,
MayerFunction f) |
|
ClusterSum |
makeVirialClusterSecondTemperatureDerivative(MayerFunction f,
MayerFunction e,
MayerFunction dfdT,
MayerFunction d2fdT2) |
|
ClusterSum |
makeVirialClusterTempDeriv(MayerFunction f,
MayerFunction e,
MayerFunction dfdT) |
|
void |
makeVirialDiagrams() |
|
static int |
pairId(int id0,
int id1,
int n) |
Returns the pair ID for the given indices (id0, id1, id2)
|
int |
populateEFBonds(Graph g,
java.util.List<ClusterBonds> allBonds,
java.util.List<java.lang.Double> weights,
boolean swap) |
|
void |
populateEFdfdTBonds(Graph g,
java.util.ArrayList<ClusterBonds> allBonds,
boolean swap) |
|
void |
populateEFdfdTdf2dT2Bonds(Graph g,
java.util.ArrayList<ClusterBonds> allBonds,
boolean swap) |
|
static int |
quadId(int id0,
int id1,
int id2,
int id3,
int n) |
Returns the quad ID for the given indices (id0, id1, id2, id3) and given
number of molecules (n).
|
static int |
quintId(int id0,
int id1,
int id2,
int id3,
int id4,
int n) |
Returns the quint ID for the given indices (id0, id1, id2, id3, id4) and given
number of molecules (n).
|
void |
setAllPermutations(boolean newAllPermutations) |
|
void |
setDoDisconnectedMatching(boolean newDoDisconnectedMatching) |
|
void |
setDoExchange(boolean newDoExchange) |
|
void |
setDoExchangeCondensing(boolean newDoExchangeCondensing) |
Turn on replacement of exchanged groups of nodes with a single node (of
a different color)
|
void |
setDoExchangeF(boolean newDoExchangeF) |
Turn on replacement of eBonds with bonds that represent a single fBond
between an exchange group and another molecule (or another exchange
group).
|
void |
setDoHB(boolean newDoHB) |
Enable construction of diagrams from the Hellmann-Bich formulation
|
void |
setDoKeepEBonds(boolean newDoKeepEBonds) |
|
void |
setDoMinimalBC(boolean newDoMinimalBC) |
|
void |
setDoMinimalMulti(boolean newDoMinimalMulti) |
Only include graphs with nonadditive bonds.
|
void |
setDoMultiFromPair(boolean newDoMultiFromPair) |
|
void |
setDoNegativeExchange(boolean newDoNegativeExchange) |
|
void |
setDoReeHoover(boolean newDoReeHoover) |
|
void |
setDoShortcut(boolean newDoShortcut) |
|
void |
setFlexCancelOnly(boolean newFlexCancelOnly) |
This method only effects the graphs returned by getMSMCGraphs
|
static int |
singletId(int id0,
int n) |
|
static int |
sixId(int id0,
int id1,
int id2,
int id3,
int id4,
int id5,
int n) |
Returns the six-molecule ID for the given indices (id0, id1, id2, id3, id4, id5)
and given number of molecules (n).
|
java.util.Set<Graph> |
substMinMulti(Graph g) |
|
protected byte |
swap0n(byte i) |
|
static int |
tripletId(int id0,
int id1,
int id2,
int n) |
Returns the triplet ID for the given indices (id0, id1, id2) and given
number of molecules (n).
|
protected final int n
protected final boolean flex
protected final boolean multibody
protected final boolean isInteractive
protected boolean doReeHoover
protected java.util.Set<Graph> p
protected java.util.Set<Graph> disconnectedP
protected java.util.Set<Graph> minMultiP
protected java.util.Set<Graph> fullMultiP
protected java.util.Set<Graph> trueMultiP
protected java.util.Set<Graph> rho
protected java.util.Set<Graph> lnfXi
protected java.util.Set<Graph> fullLnXi
protected boolean doShortcut
protected boolean doMinimalMulti
protected boolean doMultiFromPair
protected boolean doMinimalBC
protected boolean doKeepEBonds
protected boolean doExchange
protected boolean doExchangeF
protected boolean doExchangeCondensing
protected boolean doDisconnectedMatching
protected boolean doNegativeExchange
protected boolean doHB
protected boolean flexCancelOnly
protected final char nodeColor
protected char[] flexColors
protected boolean allPermutations
public char fBond
public char bBond
public char eBond
public char excBond
public char mBond
public char mmBond
public char fmBond
public char efbcBond
public char ffBond
public char mxcBond
public char MxcBond
protected static int[][][] groupStart
protected static int[][] myIds
protected static int[][] tripletStart
protected static int[][] quadStart
protected static int[][] quintStart
protected static int[][] sixStart
public VirialDiagrams(int n, boolean multibody, boolean flex)
public VirialDiagrams(int n, boolean multibody, boolean flex, boolean interactive)
public static void main(java.lang.String[] args)
public void setDoReeHoover(boolean newDoReeHoover)
public void setDoShortcut(boolean newDoShortcut)
public void setDoKeepEBonds(boolean newDoKeepEBonds)
public void setDoHB(boolean newDoHB)
public void setDoExchange(boolean newDoExchange)
public void setDoDisconnectedMatching(boolean newDoDisconnectedMatching)
public void setDoExchangeF(boolean newDoExchangeF)
public void setDoExchangeCondensing(boolean newDoExchangeCondensing)
public void setDoNegativeExchange(boolean newDoNegativeExchange)
public void setDoMinimalMulti(boolean newDoMinimalMulti)
public void setDoMultiFromPair(boolean newDoMultiFromPair)
public void setDoMinimalBC(boolean newDoMinimalBC)
protected void init()
public void setAllPermutations(boolean newAllPermutations)
public java.util.Set<Graph> getVirialGraphs()
public void setFlexCancelOnly(boolean newFlexCancelOnly)
public java.util.Set<Graph> getMSMCGraphs(boolean connectedOnly, boolean getMultiGraphs)
public ClusterSum makeVirialCluster(MayerFunction f)
public ClusterSum makeVirialCluster(MayerFunction f, MayerFunctionNonAdditive fMulti)
public ClusterSum makeVirialCluster(MayerFunction f, MayerFunctionNonAdditive fMulti, boolean doTotal)
public ClusterSum makeVirialCluster(java.util.Set<Graph> graphs, MayerFunction f, MayerFunctionNonAdditive fMulti)
public ClusterSumHS makeVirialClusterHS(java.util.Set<Graph> graphs, MayerFunction f)
public ClusterSum makeVirialClusterTempDeriv(MayerFunction f, MayerFunction e, MayerFunction dfdT)
public ClusterSum makeVirialClusterSecondTemperatureDerivative(MayerFunction f, MayerFunction e, MayerFunction dfdT, MayerFunction d2fdT2)
protected byte swap0n(byte i)
public int populateEFBonds(Graph g, java.util.List<ClusterBonds> allBonds, java.util.List<java.lang.Double> weights, boolean swap)
public void populateEFdfdTBonds(Graph g, java.util.ArrayList<ClusterBonds> allBonds, boolean swap)
public void populateEFdfdTdf2dT2Bonds(Graph g, java.util.ArrayList<ClusterBonds> allBonds, boolean swap)
public ClusterSumShell[] makeSingleVirialClusters(ClusterSum coreCluster, MayerFunction e, MayerFunction f)
public ClusterSumMultibodyShell[] makeSingleVirialClustersMulti(ClusterSumMultibody coreCluster, MayerFunction f, MayerFunctionNonAdditive fMulti)
public java.util.Set<Graph> getExtraDisconnectedVirialGraphs()
public java.util.Set<Graph> getSplitDisconnectedVirialGraphs(Graph g)
public static GraphList makeGraphList()
public static java.util.HashMap<java.lang.Character,java.lang.Integer> initMetaDataComparator()
public void makeRhoDiagrams()
public void makeVirialDiagrams()
public static boolean graphHasEdgeColor(Graph g, char color)
public static int getGroupID(int[] ids, int n)
public static int singletId(int id0, int n)
public static int pairId(int id0, int id1, int n)
public static int tripletId(int id0, int id1, int id2, int n)
public static int quadId(int id0, int id1, int id2, int id3, int n)
public static int quintId(int id0, int id1, int id2, int id3, int id4, int n)
public static int sixId(int id0, int id1, int id2, int id3, int id4, int id5, int n)