Subsections of Version Information
Version 1.5.0
Important change
Composition constraints in EA-vc
- Added
min_compandmax_compto 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. Useplot_min_genandplot_max_gento select generations to display, andref_gento specify the reference generation. - Renamed the reference energies for formation energy calculations from
end_pointtoref_energies.end_pointis still accepted for backward compatibility. - Removed
targetandtimeout_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.pyandextract_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_orderto change element positions and support for displaying the allowed composition range in EA-vc. - Added
cryspy-Eplot -cto check the allowed composition range specified in the input before starting a search. - Added
terminalsto plot convex hulls with compound terminals. - Commands > cryspy-Eplot, Input File > [visual] Section
Input parameters
seed: Specify the random number generator seed. Input File > [option] Sectionmax_parent_attempts: Limit the number of parent-selection attempts per offspring in EA. The default is 50. Input File > [EA] Section
Niggli reduction
- Niggli reduction is now applied to structures generated by crossover.
- Search Algorithms > EA > Crossover
Result and figure output
- Added
rslt_outto control whencryspy_rsltandcryspy_rslt_energy_ascare written. The default isalways. - Added
energy_output_intervalto 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_modeto select enumeration or sampling of atom-count combinations. Inautomode, the method is selected based onmax_cn_grid_points. - Features > Charge Neutrality Condition
Backup
- Added
backup_intervalto 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
- Changed
add_maxandelim_maxfrom 3 to 5.subs_maxremains 3. - Changed the defaults of
show_maxandbottom_marginin the [visual] section toNoneand 0.04, respectively. - Input File > [EA] Section, Input File > [visual] Section
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_cryspywas left behind after input errors in interactive mode.
Version 1.4.3
Fixed
- Elimintion in EA-vc: fixed a bug that let the atom count go below the minimum.
- Substitution in EA-vc: fixed a bug where the atom count went negative mid-run.
Version 1.4.2
Important change
- EA-vc now supports VASP and QE
- Tutorial > Variable-composition evolutionary algorithm (EA-vc) > VASP (Fe-Al)
- Tutorial > Variable-composition evolutionary algorithm (EA-vc) > QE (Fe-Al)
Added
- Added support for check_opt in ASE
- Subcommand(see also:Features > Skip calculations)
- cryspy-skip
- cryspy-calc-convex-hull
Changed
Job file auto-rewriting
- The sed command at the end of the job file is now automatically appended by CrySPY
- Feature > Job file auto-rewriting
Priority order of structure optimization input file names
x is the stage number.
x_ase_in.pyase_in.py_xase_in.py
In previous versions, the second style ase_in.py_x was used.
Fixed
- Fixed a bug in mindist check after structure optimization (when structure data could not be obtained correctly)
Version 1.4.1
Important change
EA-vc
- The number of atoms operated on in addition, elimination, and substitution can now be changed. The number is randomly selected up to 3 by default (in 1.4.0, it was always 1).
Added
Charge neutral condition
- It is now possible to impose a charge neutrality condition during structure generation in EA-vc.
Subcommand
- cryspy-Eplot: (CrySPY > Features > Energy plot )
Version 1.4.0
Important change
New algorithm: EA-vc
- Currently, only the ASE interface is supported. Support for VASP and others is planned. CrySPY > Interface
- CrySPY > Tutorial > Variable-composition evolutionary algorithm (EA-vc)
- CrySPY > Search algorithms > Variable-composition evolutionary algorithm (EA-vc)
Interactive mode
- RS, EA, and EA-vc can be run from the Jupyter environment.
- Only the ASE interface is supported.
- CrySPY > Tutorial > Interactive mode (Jupyter Notebook)
- CrySPY > Features > Interactive mode
EA
tot_strucis no longer used in EA. The number of structures in the first generation is now determined byn_pop.
Interatomic distance check after structrue optimization
- Added
check_mindist_optto the [option] section incryspy.in. - Default:
check_mindist_opt = True. - After structure relaxation, a check is performed to ensure that the minimum interatomic distance constraint is satisfied.
Common
- The
natotparameter incryspy.inhas been removed. - Ctrl_ext has been removed.
Fixed
- Fixed a bug related to using
TSas thescorein BO. - Several other minor fixes.
Version 1.3.0
Important change
Common
- working directory name
work000000 –> work0 - We used to pickle data by grouping several data into tuples, but we changed it to pickle each item individually.
For example, rs_id_data.pkl –> id_queueing.pkl and id_running.pkl
BO
- Using cal_fingerprint program is obsolete. dscribe is required instead.
fppathandfp_rminin cryspy.in are obsolete.
- Changed the Bayesian optimization library from COMBO to PHYSBO
- See Installation > CrySPY > CrySPY 1.3.0 or later
Fixed
soiap
- support for recent pymatgen
Added
Random structure generation and structure generation by EA are now available as libraries.(removed in version 1.5.0)
for developer
- We stopped using global variables (rin), now uses dataclass for input data.
- Many of the input variables were lists, but we changed them to tuples.
Version 1.2.5
Bug fix
- simple bug fix
Version 1.2.4
Bug fix
- ASE interface:
e.args[0]–>str(e.args[0]) - ext mode: noprint
- njob ( see also FAQ > Can I change njob in the middle of the simulation )
EA
- default value of
cls_lat:equal–>random
EA-vc
- test version of variable composition EA (EA-vc). only binary system for now.
Version 1.2.3
MPI
- Bug fix
- In using MPI,
-poption is required:
See also
Version 1.2.2
Enthalpy
You can use enthalpy instead of energy for VASP and QE.
See also
Version 1.2.1
ASE interface
Bug fixed for multiple stages.
Version 1.2.0
ASE interface
ASE interface is now available.
See also
Adoption of logging
CrySPY logs are output to both the screen and files (log_cryspy and err_cryspy).
See also
Version 1.1.1
Bug fix for spg_error
In random structure generation, when a structure cannot be generated for a certain space group, the space group number is recorded in the variable sgp_error, and the number is skipped thereafter, but a bug was found in which the number was registered incorrectly in rare cases. Therefore, this spg_error function has been removed.
Version 1.1.0
Parallelization with MPI
Random structure generation using MPI has been available.
See also
- Tutorial > Random structure generation with MPI
- Features > Structure generation with MPI parallelization
LAQA
Updated score formula to take into account the stress term (T. Yamashita and H. Sekine, Sci. Technol. Adv. Mater. Meth. 2, 84 (2022).).
See also
Backup
Files are copied to the directory named by the date and time in “backup” directory.
See features/backup in detail.
Version 1.0.0
Install and run
CrySPY is now available in PyPI. You can install by
The executable script, cryspy is automatically installed in your PATH.
To run CrySPY, just type cryspy:
CrySPY stops once before going to next selection (BO, LAQA) or next generation (EA). For example, EA case:
[old version]
- cryspy run
- check jobs (finish current generation?)
- structure generation by EA automatically starts
[CrySPY 1.0.0]
- cryspy run
- check jobs (finish current generation?)
- stop
- cryspy run
- auto backup
- structure generation by EA automatically starts
Auto and manual backup
Automatically backup:
- before going to next selection or next generation
- structure generation
To manually back up:
See features/backup in detail.
Clean
See features/clean in detail.
Directory tree
Changed the directory tree.
- genstruc/RS –> RS/
- genstruc/EA –> EA/
- genstruc/struc_util.py –> util/
- utility.py –> util/
IO
- Fixed standard output file and standard error file:
log_cryspyanderr_cryspy cryspy.outis obsoleted
Moved to CrySPY Utility
With the change in installation method, examples and cal_fingerprint have been moved to the CrySPY Utility.
COMBO
The python library COMBO is now optional in CrySPY. If you do not use Bayesian optimizaion, you do not need to install it.
New calc_code
- ext: Deprecated in version 1.4.0.
cryspy.in
fppath
New input variable for cal_fingerprint. See Instllation/cryspy/cryspy_1.0
fwpath
New input variable for find_wy. See Instllation/requirements/find_wy
mindist
mindistcan be omitted incryspy.inmindist_eais obsoleted- added
mindist_mol_bsandmindist_mol_bs_factorincryspy.in
Version 0.10.3 or earlier
- [2022 May 17] version 0.10.3 released
- Bug fixed: LAMMPS IO.
- [2022 January 24] version 0.10.2 released
- Added nrot: maximum number of times to rotate molecules in mol_bs
- [2021 September 30] version 0.10.1 released
- Fixed the problem of numpy.random.seed in multiprocessing
- [2021 July 25] version 0.10.0 released
- Support PyXtal 0.2.9 or later
- LAQA can be used with QE
- Upper and lower limits of energy for EA and BO
- [2021 July 13] paper published
- Our paper on CrySPY software has been published in STAM:Methods
- [2021 March 18] version 0.9.2 released
- Support pymatgen v2022.
- [2021 February 7] version 0.9.0 released
- Interfaced with OpenMX
- Employ PyXtal library to generate initial structures
- If you use PyXtal (default), find_wy program is not required
- LAQA can be used with soiap
- Change the name: [lattice] section –> [structure] section
- Several input variables move to [structure] section
- natot: [basic] –> [structure]
- atype: [basic] –> [structure]
- nat: [basic] –> [structure]
- maxcnt: [option] –> [structure]
- symprec: [option] –> [structure]
- spgnum: [option] –> [structure]
- New features
- Molecular crystal structure generation
- Scale volume
- [2020 March 19] paper published
- Our paper on adjusting the descriptor for CSP Bayesian optimization has been published in Physical Review Materials
- [2020 February 16] version 0.8.0 released
- Migrate to Python 3
- CrySPY logo created
- Change several variable names and data formats
- Change style of output for energy: eV/cell –> eV/atom
- IDs of working directories corresponds to structure IDs
- New features
- recalculation
- manual select in BO
- [2018 December 5] version 0.7.0 released
- New features
- Evolutionary algorithm
- New features
- [2018 August 20] version 0.6.4 released
- [2018 July 2] version 0.6.3 released
- [2018 June 26] Version 0.6.2 released
- [2018 March 1] Version 0.6.1 released
- [2018 January 9] paper published
- Our paper on CrySPY has been published in Physical Review Materials