[dune-pdelab] Implementing static condensation in PDELab

Christian Waluga christian.waluga at ma.tum.de
Tue Jun 5 14:39:15 CEST 2012


Hello everybody,

I have another question... Is there any 'easy' way to implement 'static
condensation' (i.e. the elimination of unknowns which only couple
locally) in PDELab?

Suppose we have an element-system as follows

A x + B y = f,
C x + D y = g,

which we assume can be reduced to

(D - C inv(A) B) y = g - C inv(A) f.

After local assembly of A, B, C, D, f and g, I would compute (D - C
inv(A) B) and g - C inv(A) f, and add those to the global Jacobian and
residual, respectively. After solving the reduced global system, I could
loop over all elements and obtain the x by locally solving A x = f - B y
as a postprocessing. This is often done with internal (bubble) functions
in higher-order FEM-Methods and also for the element coefficients in
HDG-methods.

At the moment I see no other possibility than re-implementing the whole
GridOperator-stuff specifically for this problem. But that solution
might run into problems with future backend changes or when using the
operator with other components like, for example, the nonlinear solvers.
I saw that there is now some kind of local assembler engine, which gave
me hope, that I could tackle this problem on a more abstract level,
without going too deep into internal PDELab structures.

Thanks for any suggestions!

Best, Christian

-- 
Christian Waluga

M2 - Zentrum Mathematik
Boltzmannstraße 3 
85748 Garching bei München

Phone:  +49(0) 89 28918418
Fax:    +49(0) 89 28918435
E-Mail: christian.waluga at ma.tum.de
https://www-m2.ma.tum.de/bin/view/Allgemeines/ChristianWalugaEN





More information about the dune-pdelab mailing list