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
ciffile and many other formats viapymatgenorASEEasy 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.1.4 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()pyxtalpyxtal.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_min_values()pyxtal.get_neighboring_dists()pyxtal.get_neighboring_molecules()pyxtal.get_num_torsions()pyxtal.get_orientation_energy()pyxtal.get_reduced_composition()pyxtal.get_rep_bounds_from_spg_wps_cell()pyxtal.get_rms_dist()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.substitute_molecules()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.to_subgroup_zp2()pyxtal.transform()pyxtal.translate()pyxtal.update_from_1d_rep()pyxtal.update_wyckoffs()
- Subpackages
- Submodules
- pyxtal.XRD module
ProfileSimilarityXRDadd_peak()axial_div()axial_div_bak()check_pxrd_match()create_index()gaussian()gaussian_integrated()get_all_intensity()get_all_intensity_par()get_intensity()get_para_from_pxrd()is_multiple()lorentzian()map_intensity()mod_pseudo_voigt()pseudo_voigt()pxrd_refine()similarity_calculate()
- pyxtal.block_crystal module
- pyxtal.constants module
- pyxtal.crystal module
- pyxtal.db module
- pyxtal.descriptor module
- pyxtal.elasticity module
CubicElasticModuliVoigt_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
OperationAnalyzeraa2matrix()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
GroupHallSymmetryDataWyckoff_positionabc2matrix()are_equivalent_ops()check_symmetry_and_dim()check_wyckoff_position()choose_wyckoff()choose_wyckoff_mol()find_axis_order()generate_possible_hkls()get_all_polar_space_groups()get_bravais_lattice()get_canonical_hkl()get_canonical_hkl_series()get_close_packed_groups()get_generators()get_lattice_type()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()is_hkl_allowed()is_hkl_allowed_by_bravais()jk_from_i()letter_from_index()op_transform()op_translation()organized_wyckoffs()para2ferro()rf()search_cloest_wp()site_symm()site_symmetryswap_xyz_ops()swap_xyz_string()symmetry_element_from_axis()transform_ops()trim_ops()
- pyxtal.tolerance module
- pyxtal.util module
Kgrid()ase2pymatgen()check_upper_bounds()extract_ase_db()find_dir()generate_wp_lib()get_pmg_dist()get_similar_cids_from_pubchem()get_struc_from__parser()get_symmetrized_pmg()get_wyc_from_comp()good_lattice()listToString()new_struc()new_struc_wo_energy()parse_cif()prettify()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
- pyxtal.XRD module