User Tools

Site Tools


faq:cholesky_decomp_failed

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 PRECONDITIONER options, which may prove to be more stable for your system.
  • Decrease the value of EPS_DEFAULT or 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.
faq/cholesky_decomp_failed.txt · Last modified: 2020/08/21 10:15 by 127.0.0.1