Forum Message

 

 

We have moved the forum to https://forum.ngsolve.org . This is an archived version of the topics until 05/05/23. All the topics were moved to the new forum and conversations can be continued there. This forum is just kept as legacy to not invalidate old links. If you want to continue a conversation just look for the topic in the new forum.

Notice

The forum is in read only mode.

HDiv-HDG static condensation issue

More
3 years 10 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
3 years 10 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
3 years 10 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
3 years 10 months ago #2874 by Guosheng Fu
Thank you both for the very quick reply. :)
Time to create page: 0.154 seconds