Stokes iTutorial

I was working through the Stokes iTutorial and noticed an issue.

In input blocks 9 and 10, I get an error:

V = H1(mesh, order=2, dirichlet="wall|inlet|cyl") V.order[TRIG]=3

AttributeError: 'ngsolve.comp.H1' object has no attribute 'order'

I eliminate the AttributeError if I change this line to:

V.SetOrder(element_type=TRIG, order=3)

But instead of the expected output, I get this:

V.ndof = 1702 , Q.ndof = 2382

RuntimeError Traceback (most recent call last)
in ()
5 Q = L2(mesh, order=1)
6 X = FESpace([V,V,Q])
----> 7 gfu = SolveStokes(X)
8 velocity = CoefficientFunction(gfu.components[0:2])
9 Draw(velocity, mesh, “vel”)

in SolveStokes(X)
16 res = gfu.vec.CreateVector()
17 = -a.mat * gfu.vec
—> 18 inv = a.mat.Inverse(freedofs=X.FreeDofs(), inverse=“umfpack”)
19 += inv * res
20 return gfu

RuntimeError: UmfpackInverse: Numeric factorization failed.[/code]


The current version of this tutorial is working as expected.


There is a cell where there is a note that with that choice of spaces the problem is instable. In that case the umfpack inverse fails. We correct that afterwards with the correct choice of spaces.