Pattern Library
Given a local atomic environment, a unique CNA pattern can be generated. To efficiently identify these CNA pattern, we make use of a so-called pattern library. The purpose of this pattern library is two-fold. First, it allows us to add a human-readable label to each CNA pattern. Second, we can assign colors to these CNA patterns which can be used for visualization purposes.
The pattern library is encoded as a JSON file. Its structure is as follows:
{
"patterns":
{
"unknown":
{
"label": "Unknown",
"fingerprint": "",
"color": "7b7b7b"
},
"fcc_bulk":
{
"label": "FCC bulk",
"fingerprint": "12(4,2,1)",
"color": "0b3d05",
"file": "fcc.am"
},
"fcc111":
{
"label": "FCC(111)",
"fingerprint": "3(4,2,1)6(3,1,1)",
"color": "49ade1",
"file": "fcc111.am"
},
"fcc100":
{
"label": "FCC(100)",
"fingerprint": "4(4,2,1)4(2,1,1)",
"color": "2f8323"
}
}
}
For each type of CNA pattern, a short-hand label is used that represents the
CNA item. For example, in the above snippet the labels fcc_bulk
, fcc111
,
and fcc100
are used to represent the items. In turn, for each item a
label
, a fingerprint
, a color
and potentially file
can be
specified.
label
A human-readable descriptive label.
fingerprint
The CNA pattern.
color
The color to be used when rendering the atom.
file
A file containing the adjacency matrix. This is an optional argument.