← Back to team overview

ffc team mailing list archive

Re: [DOLFIN-dev] Higher-order problems?

 

On Friday 26 June 2009 14:53:14 Robert Kirby wrote:
> Leaving aside any ffc issues, this formulation is a problem mathematically
> -- second derivatives of piecewise Lagrange polynomials don't make sense
> because they are only C^0.  

I think he used cubic polynomials.

> There are several workarounds: 
> As you've observed, Hermite or other non-Lagrange elements are needed to
> resolve the higher derivatives in plate bending, biharmonic, Cahn-Hilliard,
> and other 4th order problems.
>
> - Hermite is a nonconforming C^1 (it's really C^1 in 1d, but not on
> triangles or tets).
> - The Morley triangle is also a suitable nonconforming element
> - Argyris is a fully C^1 triangle
>
> The bug problem with all these element is that we don't support them yet.
>  They are on the to-do list, but will require some modifications to ffc
> because of technicalities in how they transform from a reference element.
>  Anders and I have a plan :)
>
> - You can also use a mixed formulation, writing the 4th order problem as a
> system of 2nd order equations.  In strong form,
>
> Delta Delta u = f
> -->
> v = Delta u
> Delta v = f
>
> Delta is the Laplacian, so you can multiply each equation by a test
> function and integrate by parts to get a weak form where you never need
> more than one derivative
>
>
> - You can also use the "continuous/discontinuous Galerkin method, where you
> add penalty terms on the first derivatives.
>
> Garth: you've used the C/DG method, can you contribute an example?

Yes, that would be very nice!

Johan

> On Thu, Jun 25, 2009 at 5:08 PM, <ndl@xxxxxxxxxxxxxx> wrote:
> > First I have to say that I'm not sure that this should work...
> >
> > 1- Probably I'm missing/ignoring something (mathematically speaking)
> > 2- I didn't find yet, in the literature, a simple example
> >    (but I've started this week :) )
> >    If anyone knows such an example,
> >    I would by happy to make a demo with it.
> > 3- all the cases I've seen are related with plate bending and requires
> >    hermite elements or some other "non-standard elements"
> > 4-Concerning the code: I'm not sure on the Boundary conditions syntax.
> >
> > I was thinking in a simple "4th order like poisson "
> > for instance:
> >
> > -lap lap u(x,y)=-sin(x)  in the [0,2pi]x[0,2pi]
> > lap u= -sin(x)  and  grad(u).n=(cos(x),0).n  in the Boundary
> >
> > with solution u(x,y)=sin(x)
> >
> > LapLap.ufl
> > ------------------------------------------------------------------------
> > element = FiniteElement("Lagrange", triangle, 2)
> > v = TestFunction(element)
> > u = TrialFunction(element)
> > f = Function(element)
> > g = Function(element)
> > n = VectorConstant("triangle")
> > a = -div(grad(v))*div(grad(u))*dx
> > L = v*f*dx-f*inner(grad(v),n)*ds+div(grad(g*n[0]))*v*ds
> > ----------------------------------------------------------------------
> > the main.cpp is modified from the poisson demo  and follows in
> > attachment. (I'm using  0.9.2  dolfin version)
> > It really fails.
> >
> > > This should work, but I don't know of a demo testing it.
> > >
> > > See if you could create a very simple test case that fails.
> >
> > --
> > Nuno David Lopes
> >
> > e-mail:ndl@xxxxxxxxxxxxxx <e-mail%3Andl@xxxxxxxxxxxxxx>       
> > (FCUL/CMAF) nlopes@xxxxxxxxxxxxxxx    (ISEL)
> > http://ptmat.ptmat.fc.ul.pt/%7Endl/
> >
> > Thu Jun 25 22:19:44 WEST 2009
> >
> >
> > _______________________________________________
> > FFC-dev mailing list
> > FFC-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/ffc-dev




References