Hi Lixing,
Another tutorial that might be of interest to you to look at is step-44
<https://www.dealii.org/current/doxygen/deal.II/step_44.html>. In that
tutorial, two discontinuous fields are condensed out in one of two ways
(there's a switch to choose which method is applied). The first approach
<https://www.dealii.org/current/doxygen/deal.II/step_44.html#Solidassemble_sc>
uses the "local condensation" technique, where one block of the global
block-system matrix is augmented when doing the condensation. The second
approach
<https://www.dealii.org/current/doxygen/deal.II/step_44.html#Solidsolve_linear_system>
incorporates condensation into the solver strategy for the linear system
by adopting a (nested) global Schur complement; unlike the first
technique, this one does not change the values in the stored in the
system matrix. In either case, just one field of a three field problem
is solved for, and the others computed as a post-processing step.
I think that the first approach might cover the details of one possible
way of doing what you list as point (2) "element-wise static
condensation". However, the second method (using LinearOperators) is, in
my opinion, much easier to implement (although, in the end, both
approaches have their advantages and disadvantages).
I hope that this helps a little.
Best,
Jean-Paul
On 07.01.21 08:11, Lixing Zhu wrote:
Dear Wolgang,
1. I looked into the step-51 of the tutorial. It does illustrate a
paradigm of segregating local DOFs and global DOFs. If I utilize this
paradigm, the workflow would solve the local DOFs first (virtual node
of the bubble function), which is a block matrix since bubble support
from adjacent cells is irrelevant. Then I substitute the solution to
the system related to global DOFs (vertices of the standard Lagrange
shape function), namely, stabilizing the system. However, this would
require certain FEM space in the barycenter of the element (like a
FE_Center, in the same fashion as FE_Face), which seems not provided
in deal.ii.
2. On the other hand, I am more inclined to use element-wise static
condensation (I guess this is somewhat not a rational decision). Is
there any example of how to eliminate the virtual DOFs of bubbles from
the global system once we have eliminated them locally? I guess this
route can reduce the time of implementation since I can at least
utilize the FE_Q_Bubbles with its linear realization.
3. The bubbles in FE_Q_Bubbles for a quadratic and higher-order
element are not the standard bubbles. Are there any specific
references to these bubbles? or how hard it is to modify the bubble
function in FE_Q_Bubbles for my own choice?
Thank you for your time in advance.
Best
Lixing
On Tuesday, January 5, 2021 at 1:21:56 PM UTC+8 Wolfgang Bangerth wrote:
Lixing,
> I am trying to implement a stabiliazed weak form (e.g.
advection-diffusion)
> where the stabilization tensor is computed element-wise through
a standard
> bubble: \Pi(1-x_i^2). It seems that FE_Q_Bubbles should provides
all I need,
> but here are two things I am not quite clear about,
>
> 1. Is the definition of bubble function in FE_Q_Bubbles in [0,1]
span or
> [-1,1] span?
Everything in deal.II is on the reference cell define as [0,1]^d.
> Does it has the standard bubble shape (1 at element center and
> vanishes at the edges)? The (2x_j-1)^{p-1} part is a little bit
confusing to
> me. The bubble function corresponds to linear element in
FE_Q_Bubbles is the
> standard bubble that I desire, but I am really confusing at the
shape of this
> expression at higher orders.
For higher orders, you end up with multiple bubble functions, one
for each
j=0..dim-1. This wasn't quite clear from the documentation, and
I'll submit a
patch later for that.
> 2. I tried to utilize this class (i.e., FE_Q_Bubbles). One issue
is that it
> takes the virtual nodes of the bubble function into account of
the total DOFs,
> which is not the way we prefer in the stabilization method.
But the behavior is correct -- the class describes a finite
element *space*
and that space contains the bubble function. I think that what you
are trying
to do is to do static elimination of that degree of freedom right
away, and
that can be implemented as well but is not the philosophical view
we generally
take in deal.II if you select such an element.
The question is what you want the finite element space to be (i)
locally, on
every cell, and (ii) globally. There are a number of tutorials
that discuss
these sorts of questions. I would encourage you to read through
step-61 and
step-51, for example.
Best
WB
--
------------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
www: http://www.math.colostate.edu/~bangerth/
<http://www.math.colostate.edu/~bangerth/>
--
The deal.II project is located at http://www.dealii.org/
<http://www.dealii.org/>
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
<https://groups.google.com/d/forum/dealii?hl=en>
---
You received this message because you are subscribed to the Google
Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/ba1bb5e4-4344-4f19-b630-8dee8d86dc3dn%40googlegroups.com
<https://groups.google.com/d/msgid/dealii/ba1bb5e4-4344-4f19-b630-8dee8d86dc3dn%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/c7c60529-2143-b2aa-a29a-f9ebe7dcc421%40gmail.com.