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: string

    Identifier 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 by casm composition --select.

  • enumerated: array of string

    Identifiers of composition axes generated by casm composition --calc. This is a set of keys in the possible_axes dictionary.

  • possible_axes: dict of Composition Axes

    A 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 number

    Composition 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 attributes a, 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 string

    The names of occupants, defining the order that occupant species compositions appear in the <end_member> and origin 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: int

    The number of independent composition axes. Determines the number of <end_members>.

  • mol_formula: str

    A 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 by casm composition --select.

  • origin: 2d array of number

    The 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: str

    A 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 by casm 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)"
    }
  }
}