HDiv-HDG static condensation issue

More
4 years 5 months ago #2871 by Guosheng Fu
Hi,

I am having some trouble enable static condensation of HDiv-HDG for Stokes.
In particular, I use BDM-P0 pair with P1 tangential facet fespace.
There are simply no local DOFs. I mark the P0 pressure DOFs as interface DOFs and solve the flow around cylinder problem. The code works fine without condensation, but umfpack factorization fails when condensation flag is enabled.
Attached is the notebook that produce the error.

Any idea on the issue?

Best,
Guosheng
More
4 years 5 months ago #2872 by joachim
see you are changing the FreeDofs, but you should modify the coupling types (local/interface/wirebasket)

The flag
Code:
L2(... lowest_ordre_wb=True)
is doing the job you need.

Joachim
More
4 years 5 months ago #2873 by schruste
Hi Guosheng,

Changing the freedofs alone does not fix the static condensation. In your script you only make sure that the pressure dofs are appearing in the sparse factorization of the global problem, but haven't told the assembly to keep the pressure dofs in the global system in the first place.

You need to fix the CouplingType of the (lowest order functions of the) pressure space. You can simply do this with
Code:
Q = L2(mesh, order=0, lowest_order_wb=True)

as the L2-space has a flag for this case. Otherwise you can Set the CouplingType of each dof of an FESpace through python manually.

Best,
Christoph
More
4 years 5 months ago #2874 by Guosheng Fu
Thank you both for the very quick reply. :)
Time to create page: 0.102 seconds