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. > 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. The demo is rather primitive as the stabilisation parameter \tau is fixed. It should really depend on the element Peclet number. Garth > Have I missed something? > > Johan > > > > >> Cheers! >> /Dag >> >>> Many thanks in advance! >>> >>> >>> Johan >>> _______________________________________________ >>> DOLFIN-dev mailing list >>> [email protected] >>> http://www.fenics.org/mailman/listinfo/dolfin-dev > > > _______________________________________________ > DOLFIN-dev mailing list > [email protected] > http://www.fenics.org/mailman/listinfo/dolfin-dev _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
