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.

Partial Static Condensation

More
5 years 5 months ago #1285 by Sivas
Hello,

I am trying to test the preconditioner in the paper ( arxiv.org/abs/1801.04707 , doi.org/10.1007/s10915-018-0760-4 ). There, only the momentum block is condensed. I am trying to replicate the same by changing CouplingType of the local_dof corresponding to pressure unknowns. However, when I solve the resulting system, I get a solution which does not make sense. Is this the intended way? Or should I be doing it in a more manual way using multiple bilinear forms?

Best regards,
Abdullah Ali Sivas
More
5 years 5 months ago #1287 by joachim
Replied by joachim on topic Partial Static Condensation
Hi Abdullah,
having hybrid variables for the pressure you should be able to condense also the element-wise pressure. Yes, you do so by setting the coupling-type.

for debugging, you can dump and check element-matrices as follows :

SetTestoutFile ("test.out")
bf = BilinearForm(..., printelmat=True)

best,
Joachim
The following user(s) said Thank You: Sivas
More
5 years 5 months ago #1290 by Sivas
Replied by Sivas on topic Partial Static Condensation
Hi Joachim,

Thanks for your reply. I now know that I am on the correct route! Also printelmat will definitely be useful for debugging purposes.

However, what I mean is if I try to solve the system described in Eqs. (54)-(55), i.e. eliminating both element momentum and elemnent pressure, -for test purposes using a direct solver- I get the correct solution. However, if I try to solve the system as described in Eqs. (65)-(66) (by setting the coupling type of element pressure unknowns to interface dofs for example), I get a solution which does not make sense.

Should I share my code? Would it better that way?

Best wishes,
Abdullah Ali Sivas
More
5 years 5 months ago #1291 by christopher
Hi Abdullah,
if you attach a small test example we can have a look at it.
Best
Christopher
The following user(s) said Thank You: Sivas
More
5 years 5 months ago #1292 by Sivas
Replied by Sivas on topic Partial Static Condensation
Hi Christopher,

Attached I am sending an implementation of the method. I am using the variable eliminate_up to switch between condensing both u and p and condensing only u. I am setting the coupling type in lines 74-76. I appreciate your time.

Thanks a lot,
Abdullah Ali Sivas
Attachments:
More
5 years 5 months ago #1293 by joachim
Replied by joachim on topic Partial Static Condensation
Hi Abdullah,

after changing the coupling-types, you have to update internal tables by calling X.FinalizeUpdate()

Then both versions produce the same result,

best, Joachim
The following user(s) said Thank You: Sivas
Time to create page: 0.163 seconds