
PyXtal
PyXtal (pronounced pie-crystal
) is an open source Python library for the
ab-initio generation of random crystal structures. It has the following features:
Generation of atomic structures for a given symmetry and stoichiometry (0-3D)
Generation of molecular crystals (1-3D) with the support of special Wyckoff positions
Internal support of
cif
file and many other formats viapymatgen
orASE
Easy access to symmetry information (e.g., Wyckoff, site symmetry and international symbols)
X-ray diffraction analysis and its online application
Structural manipulation via symmetry relation (both subgroup and supergroup)
Geometry optimization from built-in and external optimization methods
The current version is 1.0.5
at GitHub.
It is available for use under the MIT license. Expect updates upon request by
Qiang Zhu's group at the
University of North Carolina at Charlotte.
PyXtal is an open source project. You are welcome to contribute it directly via the GitHub platform or send your comments and suggestions to the developer.
A basic tutorial is provided below for common functions. Additionally, documentation and source code are provided for individual modules.
For an experienced Python user who are familiar with Jupyter notebook, you are also encouraged to check out the following examples
Tutorial
Indices and tables
Modules
- pyxtal package
print_logo()
pyxtal
pyxtal.apply_perturbation()
pyxtal.are_valid_numIons()
pyxtal.build()
pyxtal.check_H_coordination()
pyxtal.check_distance()
pyxtal.check_mapping()
pyxtal.check_short_distances()
pyxtal.check_short_distances_by_dict()
pyxtal.check_validity()
pyxtal.copy()
pyxtal.cut_lattice()
pyxtal.find_matched_lattice()
pyxtal.from_1d_rep()
pyxtal.from_CSD()
pyxtal.from_json()
pyxtal.from_prototype()
pyxtal.from_random()
pyxtal.from_seed()
pyxtal.from_spg_wps_rep()
pyxtal.from_tabular_representation()
pyxtal.get_1D_comp()
pyxtal.get_1D_representation()
pyxtal.get_1d_rep_x()
pyxtal.get_Pearson_Symbol()
pyxtal.get_XRD()
pyxtal.get_alternatives()
pyxtal.get_bounds()
pyxtal.get_density()
pyxtal.get_dimensionality()
pyxtal.get_disps_optim()
pyxtal.get_disps_sets()
pyxtal.get_disps_single()
pyxtal.get_dof()
pyxtal.get_forcefield()
pyxtal.get_free_axis()
pyxtal.get_init_translations()
pyxtal.get_intermolecular_energy()
pyxtal.get_neighboring_dists()
pyxtal.get_neighboring_molecules()
pyxtal.get_num_torsions()
pyxtal.get_orientation_energy()
pyxtal.get_separations()
pyxtal.get_site_labels()
pyxtal.get_spherical_images()
pyxtal.get_std_representation()
pyxtal.get_structure_factor()
pyxtal.get_tabular_representation()
pyxtal.get_tabular_representations()
pyxtal.get_transition()
pyxtal.get_transition_by_path()
pyxtal.get_xtal_string()
pyxtal.get_zprime()
pyxtal.has_special_site()
pyxtal.is_duplicate()
pyxtal.load_dict()
pyxtal.make_transitions()
pyxtal.optimize_lattice()
pyxtal.optimize_lattice_and_rotation()
pyxtal.optimize_orientation_by_energy()
pyxtal.remove_species()
pyxtal.remove_water()
pyxtal.resort()
pyxtal.resort_species()
pyxtal.resymmetrize()
pyxtal.save_dict()
pyxtal.set_cutoff()
pyxtal.set_site_coordination()
pyxtal.show()
pyxtal.show_mol_cluster()
pyxtal.sort_sites_by_mult()
pyxtal.sort_sites_by_numIons()
pyxtal.subgroup()
pyxtal.subgroup_by_path()
pyxtal.subgroup_once()
pyxtal.substitute()
pyxtal.substitute_1_2()
pyxtal.substitute_linear()
pyxtal.supergroup()
pyxtal.supergroups()
pyxtal.to_ase()
pyxtal.to_atomic_xtal()
pyxtal.to_file()
pyxtal.to_json()
pyxtal.to_molecular_xtal()
pyxtal.to_pymatgen()
pyxtal.to_pyxtal_center()
pyxtal.to_standard_setting()
pyxtal.to_subgroup()
pyxtal.transform()
pyxtal.translate()
pyxtal.update_from_1d_rep()
pyxtal.update_wyckoffs()
- Subpackages
- Submodules
- pyxtal.XRD module
- pyxtal.block_crystal module
- pyxtal.constants module
- pyxtal.crystal module
- pyxtal.db module
- pyxtal.descriptor module
- pyxtal.elasticity module
CubicElasticModuli
Voigt_6_to_full_3x3_strain()
Voigt_6_to_full_3x3_stress()
Voigt_6x6_to_cubic()
Voigt_6x6_to_full_3x3x3x3()
cubic_to_Voigt_6x6()
elastic_moduli()
elastic_properties()
fit_elastic_constants()
full_3x3_to_Voigt_6_index()
full_3x3_to_Voigt_6_strain()
full_3x3_to_Voigt_6_stress()
full_3x3x3x3_to_Voigt_6x6()
generate_strained_configs()
invariants()
measure_triclinic_elastic_constants()
poisson_ratio()
rotate_cubic_elastic_constants()
rotate_elastic_constants()
youngs_modulus()
- pyxtal.io module
- pyxtal.lattice module
- pyxtal.molecular_crystal module
- pyxtal.molecule module
- pyxtal.msg module
- pyxtal.operations module
OperationAnalyzer
aa2matrix()
angle()
apply_ops()
apply_ops_diagonal()
are_equal()
check_distance()
check_images()
create_matrix()
distance()
distance_matrix()
distance_matrix_no_PBC()
filtered_coords()
filtered_coords_euclidean()
find_ids()
get_best_match()
get_inverse()
get_inverse_ops()
is_orthogonal()
rotate_vector()
verify_distances()
- pyxtal.plane module
- pyxtal.representation module
- pyxtal.supergroup module
- pyxtal.symmetry module
Group
Hall
SymmetryData
Wyckoff_position
abc2matrix()
are_equivalent_ops()
check_symmetry_and_dim()
check_wyckoff_position()
choose_wyckoff()
choose_wyckoff_mol()
find_axis_order()
get_all_polar_space_groups()
get_close_packed_groups()
get_generators()
get_pbc_and_lattice()
get_point_group()
get_symbol_and_number()
get_symmetry_directions()
get_symmetry_from_ops()
get_wyckoff_symmetry()
get_wyckoffs()
identity_ops()
index_from_letter()
jk_from_i()
letter_from_index()
op_transform()
op_translation()
organized_wyckoffs()
para2ferro()
rf()
search_cloest_wp()
site_symm()
site_symmetry
swap_xyz_ops()
swap_xyz_string()
symmetry_element_from_axis()
transform_ops()
trim_ops()
- pyxtal.tolerance module
- pyxtal.util module
Kgrid()
ase2pymatgen()
extract_ase_db()
find_dir()
generate_wp_lib()
get_similar_cids_from_pubchem()
get_struc_from__parser()
get_symmetrized_pmg()
good_lattice()
listToString()
new_struc()
new_struc_wo_energy()
parse_cif()
process_csd_cif()
pymatgen2ase()
reset_lammps_cell()
search_csd_code_by_pubchem()
search_csd_entries_by_code()
sort_by_dimer()
split_list_by_ratio()
symmetrize()
symmetrize_cell()
- pyxtal.version module
- pyxtal.viz module
- pyxtal.wyckoff_site module
- pyxtal.wyckoff_split module