====== How do I solve "CPASSERT failed" in cp_fm_cholesky.F? ====== If you see the following error message (line number correct as of CP2K 2.7, Dec 2015), with a routine calling stack that includes ''prepare_preconditioner'', for example: ******************************************************************************* * ___ * * / \ * * [ABORT] * * \___/ CPASSERT failed * * | * * O/| * * /| | * * / \ fm/cp_fm_cholesky.F:94 * ******************************************************************************* ===== Routine Calling Stack ===== 10 cp_fm_cholesky_decompose 9 make_full_inverse_cholesky 8 make_preconditioner 7 prepare_preconditioner 6 init_scf_loop 5 scf_env_do_scf 4 qs_energies 3 qs_forces 2 qs_mol_dyn_low 1 CP2K This says that CP2K failed to compute a Cholesky decomposition during the construction of the preconditioner for OT. Most likely, the overlap matrix (S) has become singular (or at least numerically close to singular). Here are some causes / possible solutions: * Try some of the other [[inp>FORCE_EVAL/DFT/SCF/OT#PRECONDITIONER|PRECONDITIONER]] options, which may prove to be more stable for your system. * Decrease the value of [[inp>FORCE_EVAL/DFT/QS#EPS_DEFAULT|EPS_DEFAULT]] or [[inp>FORCE_EVAL/DFT/QS#EPS_PGF_ORB|EPS_PGF_ORB]], to reduce the amount of numerical noise in the construction of S. * Check carefully that the Basis Set(s) chosen for your calculation are appropriate for the system. If the basis set is over-complete this could result in a singular overlap matrix - try switching to a smaller basis set.