gflownet.utils.crystals.pyxtal_cache

Functions

get_space_group(group_index)

Returns a PyxTal Group object representing a crystal space group

space_group_check_compatible(group_index, composition)

Determines if a given atom composition is compatible with a space group

space_group_lowest_free_wp_multiplicity(group_index)

Returns the multiplicity of a space group's most specific free WP.

space_group_wyckoff_gcd(group_index)

Returns the greatest common divisor of a space group's Wyckoff positions

Module Contents

gflownet.utils.crystals.pyxtal_cache.get_space_group(group_index)[source]

Returns a PyxTal Group object representing a crystal space group

This methods includes a lazy caching mechanism since the instantiation of a pyxtal.symmetry.Group object is expensive.

Parameters:

group_index (int) – Index (starting at 1) of the space group

Returns:

pyxtal.symmetry.Group – Requested space group

gflownet.utils.crystals.pyxtal_cache.space_group_check_compatible(group_index, composition)[source]

Determines if a given atom composition is compatible with a space group

This methods internally relies on pyxtal.symmetry.Group.check_compatible() to determine if a composition and a space group are compatible but this method includes a caching mechanism since the call to check_compatible() is expensive.

Parameters:
  • group_index (int) – Index (starting at 1) of the space group

  • composition (list of ints) – Atom composition. Each element in the list corresponds to the number of atoms of a distinct element in the crystal conventional cell

Returns:

is_compatible (bool) – True if the composition and space group are compatible. False otherwise.

gflownet.utils.crystals.pyxtal_cache.space_group_lowest_free_wp_multiplicity(group_index)[source]

Returns the multiplicity of a space group’s most specific free WP.

This methods includes a lazy caching mechanism since the call to PyXtal methods to determine if a Wyckoff position is fixed or free is expensive.

Parameters:

group_index (int) – Index (starting at 1) of the space group

Returns:

multiplicity (int) – Multiplicity of the most specific free wyckoff position.

gflownet.utils.crystals.pyxtal_cache.space_group_wyckoff_gcd(group_index)[source]

Returns the greatest common divisor of a space group’s Wyckoff positions

This methods includes a lazy caching mechanism.

Parameters:

group_index (int) – Index (starting at 1) of the space group

Returns:

gcd (int) – Greatest common divisor of the group’s wyckoff position.