In this post are listed some known issues about CRYSTAL, including CRYSTAL17 v1.0.2 and CRYSTAL23 v1.0.1. Only problems with its source code are included, for other issues related to usages, please refer to other posts. Note, the majority of the issues are ‘imperfections’ rather than ‘bugs’. Special thanks to N.M.H, a main developer, for inspecting the source codes.
Tests of the parallel edition are performed on Imperial cluster and ARCHER2 UK national supercomputer. Tests of the serial Linux edition are performed on Debain WSL2, Windows 21H2. Tests are performed from Feb. 2021 till the last updated date. The contents of this webpage are checked regularly.
Basis set
- EIGSparallel only - The bug in printout of overlap matrix eigenvalues
- The diagonalization of the overlap matrix is distributed to individual cores according to the number of irreducible k points during parallel computing. The core in charge of printing will end the output file early when the number of cores used is larger than the number of k points due to the signal from spare cores. No eigenvalue will be printed out in this case. Only the exact TELAPSEandTCPUare printed at the end of the output file.SOLUTION The number of cores should be smaller than the number of irreducible k points (see the pre-SCF section of the .outfile) when parallel CRYSTAL is used.
- BASISSET- A noticeable issue about its incompatibility with the- ENDkeyword.
- When specifying the pre-defined basis set names using BASISSET, theENDkeywords of geometry block and basis set block should be removed in case of error in reading input deck.
- BASISSET+- def2-SVP- CRYSTAL23 A noticeable issue about the obsolete warning message
- The following warning message is obsolete and not true.
1
2
3
4
5
6
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
 This is a molecular basis set! It might contain basis functions with an angular
 momentum (AM) higher than 3 (e.g. g-funcitons). Since CRYSTAL only supports
 functions with an AM of up to 3 (f-functions) they are removed from the basis.
 Keep that in mind when comparing results to molecular codes!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
: SOLUTION Ignore it.
Exchange-Correlation functional & related
- HYBRID- SR-OMEGA- MR-OMEGA- LR-OMEGAboth editions - A noticeable issue about their incompatibility.
- Fock hybrid percentage and short/medium/long rangeness cannot be modified simultaneously. SR-OMEGA,MR-OMEGA, andLR-OMEGAare only applicable to pre-defined range-separated functionals.SOLUTION The current situation is acceptable unless for developing new hybrid functionals, which is a delicate thing. The code also supports user-defined range separation of PBE based hybrid functionals - the keyword LSRSH-PBEis compatible withHYBRID.
- SR-HYB_WB97X- A bug with the keyword
- Used for tuning the short-range HF mixing percentage. Does not work at all because the code cannot recognize ‘wB97X’.SOLUTION Unknown. 
- DFTD3- gCP- A noticeable issue that this sub-block is closed by- ENDkeyword only.
- Code does not recognize ENDkeywords with suffixes for differentiating proposes, such asENDD3.
- FUNCof- DFTD3- A bug that some functionals claimed to support actually cannot perform auto-parameterization.
- Test performed on M06-2X functional. For the list of available functionals please refer to Obtain parameter lists for Grimme’s DFT-D3 and gCP methods.SOLUTION Turn to the current coefficient pages (BJ damping and zero damping) of DFT-D3 for parameters and enter them manually. 
- FUNCof- DFTD3Parallel edition - A noticeable issue about incompatibility of newly published functionals
- DFTD3only recognizes the supported functionals and that goes beyond its own block.- FUNCkeyword will not cover the setups if a functional unsupported is defined in- DFTblock, which means users cannot cheat the code with a supported functional name at- FUNCkeyword and manually modify all parameters for the functional actually used.- SOLUTION Unknown. 
Geometry optimization
- ITATOCEL- RESTART- An incompatible bug in certain conditions.
- Cell parameter optimization is launched as the initial step of ITATOCEL. If the optimization is interrupted at the atomic coordinate optimization step, the restarted optimization will still begin from the cell parameters, leading to the error messageOPTIMIZATION TYPE CHANGED.SOLUTION Manually set the option to ATOMONLYand restart. Then useITATOCELto check the convergence of cell parameters again.
Frequency & DFPT
- PHONBANDS.DAT- CRYSTAL17, 23 not tested The bug in printout of phonon bands
- The discontinuous points of phonon dispersion curves at the high-symmetric points originate from a bug in source code. The 2 ends of every segment are duplicated during calculation, which the printout option fails to consider.SOLUTION Use the fort.25 file instead. 
- MODES- The change of default settings
- The MODEScommand is the default option for most of cases. Howver, it is deactivated by theBANDScommand, with the informationINFORMATION **** INPFREQ **** BANDS: MODES PRINTING DISABLED. USE KEYWORD MODES TO ENABLE..Solution To examine the eigenvectors of mass-weighted Hessian matrices during phonon band calculations, insert MODESin theFREQCALCblock. Or an alternative is suggested to make the output clearer: Run frequency calculations at Γ first and restart the calculations for phonon bands.
- fort.9tested on - A noticeable issue about empty binary wavefunction file for restarted jobs
- Unlike optimization module, the frequency module does not save binary wavefunction files (fort.9) of subsequent SCF calculations, so the fort.9 file for a restarted calculation is empty.SOLUTION Use the fort.9 file of the initial run. 
- BIPOSIZE- A memory allocation bug about exceeding disk quota
- The keyword BIPOSIZEdefines the size of bi-electron integral buffer. By default it is 32Mb. That limit might be exceeded when using large basis sets / screened hybrid functionals. Typically that issue can only lead to a warning message during SCF calculations and slightly sluggish computation, because the system has to re-allocate disk quota and restart calculations after the bi-electron integral exceeds the pre-defined buffer.However, such re-allocation is neither saved in SCF output files nor passed to the frequency calculation module. When involving a new SCF calculation ‘within’ the module (the known examples are RESTARTandQHA), ‘Disk quota exceeded’ error will be reported and the program will exit without re-allocating the disk quota.NOTE According to tests, missing BIPOSIZEmight kill other running jobs as well.SOLUTION For RESTART, do an SCF trial run for large systems and setBIPOSIZEno smaller than the output value. ForQHA, no solution is known since it inevitably launches multiple harmonic calculations.
- MULTITASK- A file I/O bug about restarting multitask calculations
- This keyword allows multiple SCF calculations running simultaneously when generating the numerical force constant matrices. The FREQINFO.DAT.tsk[n] files are generated during the calculation and the FREQINFO.DAT file is generated at the end. Restarting a MULTITASKrun with either FREQINFO.DAT.tsk[n] or FREQINFO.DAT file is impossible, no matter whether the previous run is either finished or killed.SOLUTION Unknown. 
Properties
- CPHF- A noticeable issue about supported exchange-correlation functionals.
- Only a limited number of functionals are supported in CPHF/KS method. Listed in the manual.
- PBAN- A noticeable issue about projected charge density of conduction bands.
- Charge density projection are obtained directly from KS eigenvalues and will be exactly 0 if projected onto unoccupied bands, which is different from DOS curves, in which case the density above the Fermi level is non-zero.SOLUTION To visualize the spatial shape of CBM, compute crystalline orbitals with the keyword ORBITALSinstead.
Developers
- BASISSET+ ‘def2’ basis set family - A noticeable issue that non-UTF-8 encoded character is printed out when specifying- BASISSETwith ‘def2’ basis sets.
- The non-UTF-8 encoded character lies in the ‘ä’ of the following line:
1
Fully Optimized Contracted Gaussian Basis Sets for Atoms Li to Kr. A. Schäfer, H. Horn and R. Ahlrichs; J. Chem. Phys. 97, 2571 (1992). 
This issue leads to probable errors when decoding files. For example, when using reading files with python:
1
>>> file = read(filename, 'r')
The command above leads to error message: ‘Non UTF-8 encoded character.’ Either delete ‘ä’ or add the option to skip the character can solve this problem:
1
>>> file = read(filename, 'r', errors='ignore')
