Composition Axes
Description
Contains a dictionary of possible composition axes, and which one is currently selected for use in the CASM project.
Project files
This format is used for the composition_axes.json
file, which is generated by the casm composition
method.
JSON Attributes List
Project Composition Axes attributes:
Name | Description | Format |
---|---|---|
current_axes |
Identifier of the currently selected composition axes | string |
enumerated |
Identifiers of composition axes generated by casm composition --calc |
array of string |
possible_axes |
Dictionary of possible composition axes | dict of Composition Axes |
Composition Axes attributes:
Name | Description | Format |
---|---|---|
<end_member> |
Composition of axes end members | 2d array of number |
components |
Names of occupants | array of string |
independent_compositions |
Number of independent composition axes | int |
mol_formula |
Species composition, in terms of composition axes coordinate | str |
origin |
Composition of axes origin | 2d array of number |
param_formula |
Composition axes coordinate, in terms of species fraction | str |
JSON Attributes Description
Project Composition Axes JSON object
-
current_axes
: stringIdentifier of the currently selected composition axes.
This is the key in the
possible_axes
dictionary of the composition axes currently being used by the CASM project. The current axes may be selected bycasm composition --select
. -
enumerated
: array of stringIdentifiers of composition axes generated by
casm composition --calc
. This is a set of keys in thepossible_axes
dictionary. -
possible_axes
: dict of Composition AxesA dictionary where the values are possible Composition Axes, and the keys are identifiers. Standard axes are generated by
casm composition --calc
and a user may also add custom axes manually.
Composition Axes JSON Object
Composition Axes holds the set of compositions, as species fraction, that are used as the origin and end members of axes defining a composition space.
-
<end_member>
: array of numberComposition of the end members of the axes defining the composition space. The
independent_compositions
value is read first to determine how many end members exist. Then, that many end member compositions are read from the attributesa
,b
,c
, etc.The elements of the arrays are the composition of the occupant species in the corresponding element of the
components
array. -
components
array of stringThe names of occupants, defining the order that occupant species compositions appear in the
<end_member>
andorigin
arrays.The order is deterministically generated based on the order of sites and occupants in the prim for standard axes generated by
casm composition --calc
. Manually created composition axes should use the same order. -
independent_compositions
: intThe number of independent composition axes. Determines the number of
<end_members>
. -
mol_formula
: strA formula for the species composition in terms of composition axes coordinate.
For manually created axes, this is generated when the
composition_axes.json
file is re-written after the current axes are selected bycasm composition --select
. -
origin
: 2d array of numberThe composition at the origin of the composition axes.
The elements of the arrays are the composition of the occupant species in the corresponding element of the
components
array. -
param_formula
: strA formula for the composition axes coordinate in terms of the species composition.
For manually created axes, this is generated when the
composition_axes.json
file is re-written after the current axes are selected bycasm composition --select
.
Examples
Example 1) Generated composition axes for a Ni-Al binary system
{
"current_axes" : "0",
"enumerated" : [ "0", "1" ],
"possible_axes" : {
"0" : {
"a" : [
[ 1.000000000000 ],
[ 0.000000000000 ]
],
"components" : [ "Ni", "Al" ],
"independent_compositions" : 1,
"mol_formula" : "Ni(a)Al(1-a)",
"origin" : [
[ 0.000000000000 ],
[ 1.000000000000 ]
],
"param_formula" : "a(0.5+0.5Ni-0.5Al)"
},
"1" : {
"a" : [
[ 0.000000000000 ],
[ 1.000000000000 ]
],
"components" : [ "Ni", "Al" ],
"independent_compositions" : 1,
"mol_formula" : "Ni(1-a)Al(a)",
"origin" : [
[ 1.000000000000 ],
[ 0.000000000000 ]
],
"param_formula" : "a(0.5-0.5Ni+0.5Al)"
}
}
}
Example 2) Generated composition axes for HCP Zr, with octahedral interstitial O disorder
{
"current_axes" : "1",
"enumerated" : [ "0", "1" ],
"possible_axes" : {
"0" : {
"a" : [
[ 2.000000000000 ],
[ 2.000000000000 ],
[ 0.000000000000 ]
],
"components" : [ "Zr", "Va", "O" ],
"independent_compositions" : 1,
"mol_formula" : "Zr(2)Va(2a)O(2-2a)",
"origin" : [
[ 2.000000000000 ],
[ 0.000000000000 ],
[ 2.000000000000 ]
],
"param_formula" : "a(0.5+0.25Va-0.25O)"
},
"1" : {
"a" : [
[ 2.000000000000 ],
[ 0.000000000000 ],
[ 2.000000000000 ]
],
"components" : [ "Zr", "Va", "O" ],
"independent_compositions" : 1,
"mol_formula" : "Zr(2)Va(2-2a)O(2a)",
"origin" : [
[ 2.000000000000 ],
[ 2.000000000000 ],
[ 0.000000000000 ]
],
"param_formula" : "a(0.5-0.25Va+0.25O)"
}
}
}