There is a curious convergence problem that appeared first in 852b438f4941e6c017aa89c3ae9e3853f8b6ab66 in small_case.cc and small_case.py. With young moduli in the hundreds of GPa numerically expressed in Pa (i.e. E_1 = 210e9, E_2 = 70GPa), the conjugate gradient fails for system sizes larger than about 5 by 5.
Expressing the Moduli in GPa ( i.e. E_1 = 210., E_2 = 70) restores convergence. This is weird, since the solution (in terms of gradient) is identical.
It would be important to understand where the inaccuracy originates, and to warn users of the issue.
Ideally, we would be able to test automatically and raise and exception when we are in a non-convergent case
The probelm is µSpectre-specific: the python implementation does not have the same issue