← Back to team overview

dolfin team mailing list archive

Re: Diffusion Advection form

 

On Thursday 10 April 2008 09:28:31 Garth N. Wells wrote:
> Johan Hake wrote:
> > On Wednesday 09 April 2008 14:49:03 Dag Lindbo wrote:
> >> Johan Hake wrote:
> >>> Hello!
> >>>
> >>> I am simulating the diffusion of Calcium ions within an electrical
> >>> field, i.e., solving the Diffusion Advection (Convection) equation. The
> >>> field is not solenoidal.
> >>>
> >>> This workes fine for fields with small absolute values. When the
> >>> typical field get above a certain value, the solution starts to behave
> >>> peculiarly. It converges but I get negative values of concentration and
> >>> it becomes very dependent on the mesh size.
> >>>
> >>> My bilinear Diffusion Advection form with homogenous Neumann boundaries
> >>> look like: (skipping konstants)
> >>>
> >>> ( dot(grad(v),grad(u)) + u*dot(E,grad(v)) )*dx
> >>>
> >>> where v is the test function, u trial function and E the electrical
> >>> field.
> >>>
> >>> Having basic FEM knowledge, I have heard of the stabilizing method of
> >>> Petrov-Galerkin, but I have no experience using it. I found some very
> >>> usefull explainations in Dag Lindbos Master thesis :).
> >>
> >> Wow, you found that!
> >>
> >>> Do you think this method could be usefull to try out? If so, how should
> >>> this be formulated in FFC.
> >>
> >> Yes, SU/PG is very solid. I believe I cite the original paper if you
> >> need the details. As I recall, Garth has published papers on this topic.
> >>
> >> In any case, there used to be a convection/diffusion module in DOLFIN.
> >> It contains both the forms and routines needed to compute the
> >> stabilization. Take a look under src/modules/convdiff/dolfin/ in DOLFIN
> >> 0.6.4. It was probably Garth who wrote this module.
>
> I wonder why this disappeared. I'll add the stabilised demo back some time.

That would be nice!

> > Did anyone check that the stabilizing term actually kicked in the right
> > way?
> >
> > The SUPG term is integrated together with the residual. The diffusion
> > term of the residual is derivated away, i.e., the solution is derivated
> > twice while beeing a first order Lagrange function. From the form file:
> >
> >    u1 = TrialFunction(scalar)
> >    r1 = dot(w, grad(U1)) - c*div(grad(U1))
> >    a_stabilise = 0.5*k*SUPG*r1*dx + ...
> >
> > Does this form make sence as we have assumed that the advection part of
> > the equation is dominant, and therefore also dominant in the residual,
> > makeing the error of loosing the diffusion term not so large?
>
> This is correct behaviour for linear elements. SUPG for linear elements
> simply introduces diffusion in the streamline direction.

Ok

> The demo is rather primitive as the stabilisation parameter \tau is
> fixed. It should really depend on the element Peclet number.

Many thanks for your answers!

  Pe = L*V/D, 

where L is the characteristic length, V the velocity of the field, and D is 
the diffusion constant.

So you are saying that one should compute a local Peclet number for each 
element, based on the Length of the element, the (absolute) velocity of the 
field in the element, and the diffusion constant, D, of the domain? Or should 
L be a typical length of the whole domain?

Johan

> Garth
>
> > Have I missed something?
> >
> > Johan
> >
> >> Cheers!
> >> /Dag
> >>
> >>> Many thanks in advance!
> >>>
> >>>
> >>> Johan
> >>> _______________________________________________
> >>> DOLFIN-dev mailing list
> >>> DOLFIN-dev@xxxxxxxxxx
> >>> http://www.fenics.org/mailman/listinfo/dolfin-dev
> >
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/dolfin-dev




References