Version 1.5.0

Important change

Composition constraints in EA-vc

  • Added min_comp and max_comp to specify lower and upper bounds on each atom type’s composition fraction. These constraints can be combined with charge neutrality.
  • Features > Composition Constraints

Input file

  • Moved plotting parameters from the [EA] section to the new [visual] section.
  • Deprecated cgen. Use plot_min_gen and plot_max_gen to select generations to display, and ref_gen to specify the reference generation.
  • Renamed the reference energies for formation energy calculations from end_point to ref_energies. end_point is still accepted for backward compatibility.
  • Removed target and timeout_mol.
  • Input File > [EA] Section, Input File > [visual] Section, Input File > [structure] Section

Common

  • Updated the minimum requirements to Python 3.10 and PyXtal 1.0.7.
  • Removed support for using random and evolutionary structure generation as a standalone library.

Added

Subcommand

  • cryspy-print: Display the contents or a summary of a pickle file. For rslt_data.pkl, row selection, composition filtering, and regeneration of text result files are also supported.
  • cryspy-extract-struc: Extract structures from structure data and save them as CIF files or display their information.
  • Integrated these commands into CrySPY as replacements for CrySPY Utility’s print_pkl.py and extract_struc.py.

Plotting and replotting

  • Added support for RS and EA energy plots in cryspy-Eplot.
  • Added separate controls for the displayed generation range and the reference generation in EA and EA-vc.
  • Added axis_order to change element positions and support for displaying the allowed composition range in EA-vc.
  • Added cryspy-Eplot -c to check the allowed composition range specified in the input before starting a search.
  • Added terminals to plot convex hulls with compound terminals.
  • Commands > cryspy-Eplot, Input File > [visual] Section

Input parameters

Niggli reduction

Result and figure output

  • Added rslt_out to control when cryspy_rslt and cryspy_rslt_energy_asc are written. The default is always.
  • Added energy_output_interval to control the output interval for EA energy plots and EA-vc convex hull plots and hull-distance files. The default is 1 (every generation); 0 disables automatic output.
  • EA-vc convex hulls and hull distances are still calculated every generation, regardless of the output interval.
  • Input File > [option] Section

Charge neutrality condition

  • Improved the calculation of atom-count combinations that satisfy charge neutrality.
  • Added support for multivalent species, for example, charge = (2 3) -2.
  • Added cn_mode to select enumeration or sampling of atom-count combinations. In auto mode, the method is selected based on max_cn_grid_points.
  • Features > Charge Neutrality Condition

Backup

  • Added backup_interval to specify the automatic backup interval.
  • Backup directory names now include the progress number and unit. Manual backups also include manual.
  • Features > Backup

Changed

Default values in EA-vc

Loading initial structures

  • Added stricter validation of data loaded with load_struc_flag = True. Structure IDs, structure counts, atom types, and atom counts are checked. EA-vc also checks composition constraints and charge neutrality.
  • If fewer structures than required are loaded, the remaining structures are generated randomly.
  • Features > Loading Initial Structures

Fixed

  • Fixed an infinite loop in EA parent selection when the same parent was repeatedly selected while attempting to choose two distinct parents.
  • Fixed roulette selection probabilities when all candidates have the same fitness.
  • Fixed EA-vc elite reselection after changes to atom-count bounds, composition constraints, or n_elite. Elites are now reselected from past results.
  • Fixed errors when structures excluded from convex hull calculations were considered as elites or parent candidates in EA-vc.
  • Fixed a missing random number generator argument in the atom-addition step of crossover that affected reproducibility.
  • Fixed cases where lock_cryspy was left behind after input errors in interactive mode.