I have a complicated and long script to solve a surface Navier-Stokes problem. In some runs (~ each 10th time) the script throws an error. Parts of the error message read:
It seems like there is some problem with the SparseCholesky solver, but I have no idea to resolve the problem and I don’t know how to get more information on the error because it only occurs sometimes, so it is hard to find the part of the python script where the error occurs. I’ve tried to build an mwe, but I didn’t manage to write a short code snippet that reproduces the error.
Can anybody give an advice what can cause such errors or how I can debug which part of my python script might be problematic?
do you have huge systems, where you may run out of memory?
your matrix is symmetric ?
does everything work fine with other direct solvers (pardiso, umfpack) ?
what kind of spaces / discretization are you using?
No, it also happens on a coarse mesh. The memory should not be the problem.
Yes
It is hard to say. I’ve done some computations with pardiso and the error does not occur. But since the erro only occurs sometimes I cannot be sure, if pardiso is working all the time.
I use scalar H1 spaces of degree 2 and solve an extension problem. The bilinear form reads:
I thin I’ll first stick to the pardiso direct solver to see, if the error occurs again. Maybe there is a problem in the sparsecholesky when it is applied only on parts of the DOFs. I’ll let you know, when the error happens again.