[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