- Thank you received: 6
HDiv-HDG static condensation issue
- Guosheng Fu
- Topic Author
- Offline
- Elite Member
Less
More
4 years 5 months ago #2871
by Guosheng Fu
HDiv-HDG static condensation issue was created 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
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
Attachments:
4 years 5 months ago #2872
by joachim
Replied by joachim on topic HDiv-HDG static condensation issue
see you are changing the FreeDofs, but you should modify the coupling types (local/interface/wirebasket)
The flag
is doing the job you need.
Joachim
The flag
Code:
L2(... lowest_ordre_wb=True)
Joachim
4 years 5 months ago #2873
by schruste
Replied by schruste on topic HDiv-HDG static condensation issue
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
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
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
- Guosheng Fu
- Topic Author
- Offline
- Elite Member
Less
More
- Thank you received: 6
4 years 5 months ago #2874
by Guosheng Fu
Replied by Guosheng Fu on topic HDiv-HDG static condensation issue
Thank you both for the very quick reply.
Time to create page: 0.102 seconds