public class EffectiveCoordinationNumberAttributeGenerator extends BaseAttributeGenerator
The effective coordination number has major benefit: stability against the additional of a very small face. Small perturbations in atomic positions can break symmetry in a crystal, and lead to the introduction of small faces. The conventional coordination number treats all faces equally, so the coordination number changes even when one of these small faces is added.
One approach in the literature is to first apply a screen on small faces (e.g., remove any smaller than 1% of the total face area), which still runs into problems with discontinuity for larger displacements.
Our approach is differentiable with respect to the additional of a small face
(ask Logan if you want the math), and also captures another interesting effect
small coordination numbers for Voronoi cells with a dispersity in face sizes.
For example, BCC has 14 faces on its voronoi cell. 8 large faces, and 6 small ones.
Our effective face size identifies a face size of closer to 8, the commonly-accepted
value of the BCC coordination number, than 14 reported by the conventional measure.
Additional, for systems with equal-sized faces (e.g., FCC), this measure
agrees exactly with conventional reports.
Usage: *No options*
Constructor and Description |
---|
EffectiveCoordinationNumberAttributeGenerator() |
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.
|
runCommand
public EffectiveCoordinationNumberAttributeGenerator()
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 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