public class ChemicalOrderingAttributeGenerator extends BaseAttributeGenerator
For each atom in the structure, the average Warren-Cowley ordering parameter is determined by computing the average magnitude of ordering parameter for each type for all atoms in a structure. The ordering parameter is 0 for a perfectly-random distribution, so this average represents an average degree of "ordering" in the structure. This attribute is computed for several nearest-neighbor shells (1st, 2nd, and 3rd by default).
There are two options for computing order parameters: Weighted and unweighted.
The former is computed by weighing the contribution of each neighboring atom
by the fraction of surface area corresponding to boundaries between that atom
and the central atom. The former considers all neighbors weighted equally, which
means they are very sensitive to the introduction of small faces due to numerical
problems inherent to the Voronoi tessellation. Full details is available in
the Vassal documentation for
VoronoiCellBasedAnalysis.getNeighborOrderingParameters(int, boolean).
Usage: [-unweighted] <shells...>
Constructor and Description |
---|
ChemicalOrderingAttributeGenerator()
Create a default attribute generator.
|
Modifier and Type | Method and Description |
---|---|
void |
addAttributes(Dataset data)
Generate new attributes for a dataset.
|
java.lang.String |
printDescription(boolean htmlFormat)
Print out description of attributes.
|
java.lang.String |
printUsage()
Print out required format for options.
|
void |
setOptions(java.util.List<java.lang.Object> Options)
Set any options for this object.
|
void |
setShells(java.util.Collection<java.lang.Integer> shells)
Define which nearest-neighbor shells to consider when generating attributes.
|
void |
setWeighted(boolean weighted)
Set whether to consider face sizes when computing ordering parameters.
|
runCommand
public ChemicalOrderingAttributeGenerator()
public void setOptions(java.util.List<java.lang.Object> Options) throws java.lang.Exception
Options
Options
- Array of options as Objects - can be null
java.lang.Exception
- if problem with inputspublic java.lang.String printUsage()
Options
public void setShells(java.util.Collection<java.lang.Integer> shells)
shells
- List of shell indicespublic void setWeighted(boolean weighted)
weighted
- Whether to weigh using face sizespublic void addAttributes(Dataset data) throws java.lang.Exception
BaseAttributeGenerator
addAttributes
in class BaseAttributeGenerator
data
- Dataset to be added tojava.lang.Exception
Dataset.addAttribute(java.lang.String, double[])
public java.lang.String printDescription(boolean htmlFormat)
BaseAttributeGenerator
Implementation Notes
Format should look like
[Full Name of generator]: (Number of attributes) Text description of what these attributes are
For HTML format, omit the ":".
printDescription
in class BaseAttributeGenerator
htmlFormat
- Whether to print in HTML format