Thank you, but Iām afraid my follow-up question was not clear. The stokes demo for the direct solver,[Preformatted text](https://fenicsproject.org/olddocs/dolfinx/dev/python/demos/stokes-taylor-hood/demo_stokes-taylor-hood.py.html#non-blocked-direct-solver)
, does not work as-is. I made modifications to get the solver to run but that does not mean I did so correctly. So, the first three chunks of code have a couple inconsistencies. I pasted them below and added additional comments on the two lines of code that might need to change. Can you please comment on which one is correct?
# Create the function space
TH = P2 * P1
W = FunctionSpace(mesh, TH)
W0 = W.sub(0).collapse() #<-- should this be W0,_ = W.sub(0).collapse() ??
# No slip boundary condition
noslip = Function(V)
facets = locate_entities_boundary(mesh, 1, noslip_boundary)
dofs = locate_dofs_topological((W.sub(0), V), 1, facets)
bc0 = DirichletBC(noslip, dofs, W.sub(0))
# Driving velocity condition u = (1, 0) on top boundary (y = 1)
lid_velocity = Function(W0) # <--- or should this be lid_velocity = Function(V)
lid_velocity.interpolate(lid_velocity_expression)
facets = locate_entities_boundary(mesh, 1, lid)
dofs = locate_dofs_topological((W.sub(0), V), 1, facets)
bc1 = DirichletBC(lid_velocity, dofs, W.sub(0))