I installed NGSolve last Monday with -DUSE_UMFPACK=ON, and I have these problems when running a 3D problem with a cubic mesh.
- I cannot use mesh.Refine()
- I have problems with a.Assemble, when using direct preconditioner
For example, running this code:
from ngsolve import * from netgen.csg import unit_cube mesh=Mesh(unit_cube.GenerateMesh(maxh=0.125, quad_dominated=True)) #mesh.Refine() #This is not working H = H1(mesh, order=1) u = H.TrialFunction() v = H.TestFunction() a = BilinearForm(H) a+= SymbolicBFI( u*v) c = Preconditioner(a, type="direct") SetHeapSize(int(1e8)) a.Assemble()
RuntimeError: caught exception in DirectPreconditioner:
UmfpackInverse: Numeric factorization failed.
needs a sparse matrix (or has memory problems)in Assemble BilinearForm ‘bfa’
Is any other way to make this work?
I also tried a.Assemble(heapsize=int(1e9)).