I am a user of the VASP code. I relax the atomic positions of a supercell containing an impurity atom. For relaxation, I set

ISYM = 0

Then, I try to perform a static calculation. For this step, I set

ISYM = 2

However, I got an error along with suggestion:

VERY BAD NEWS! internal error in subroutine INVGRP:
inverse of rotation matrix was not found (increase SYMPREC)       2

Following the suggestion, I increase SYMPREC (from the default value $10^{-5}$) to $10^{-4}$, and the error happened again. Instead, when I decrease SYMPREC to $10^{-6}$, the error is gone.

I am confused that what does "increase SYMPREC" mean in the above suggestion. Could someone help explain? What are the side effects when tuning the SYMPREC?

  • $\begingroup$ @NikeDattani For relaxation, I think symmetry should be disabled especially when there is a lattice defect $\endgroup$
    – Memories
    Oct 1, 2022 at 16:38
  • 1
    $\begingroup$ if lattice have some defect, automatic sub routine will detect modified symmetry. If VASP is unable to do so. You can always go for larger run with no symmetry but it will be very computational expensive. $\endgroup$ Oct 1, 2022 at 16:41
  • $\begingroup$ @Pranavkumar By switching off the symmetry, the calculation becomes very expensive due to increased k-points in IBZKPT. From year to year, I think VASP is not a very inefficient code, with unsatisfactory scalability $\endgroup$
    – Memories
    Oct 2, 2022 at 9:49
  • $\begingroup$ Yes, both the updated version of vasp and increasing SYMPREC= 1e-6 from default value of SYMPREC= 1e-5. $\endgroup$ Mar 12 at 7:22

1 Answer 1


This is symmetry related problem, somehow VASP subroutine is unable to find point symmetry. This problem can be solved by switching off symmetry (ISYM=0) or by setting more tight tolerance SYMPREC=1e-8 (default: 1e-5).

SYMPREC defines precision of atomic position to determine symmetry

There is no problem in changing SYMPREC, it will only increase computational cost if certain symmetry is broken.

  • $\begingroup$ Thank you. Then as I understand, "increase SYMPREC" means using smaller/tighter SYMPREC. Am I correct? $\endgroup$
    – Memories
    Oct 1, 2022 at 16:40
  • 1
    $\begingroup$ I don't think vasp subroutine has written to print either to increase or decrease symprec. It always give same message. Based on experience 1e-6 or 1e-8 helps. $\endgroup$ Oct 1, 2022 at 16:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .