I have used DG in libMesh for the Euler and NavierStokes equations in
compressible gas dynamics. The MONOMIAL and XYZ finite element families
are both discontinuous, in the first case the element shape functions
are defined in terms of the local, element coordinates (xi,eta,zeta),
whereas in the second case the shape functions are defined in terms of
the global (x,y,z) coordinates.
For DG it is especially useful to use the XYZ family. This makes the
(many) face evaluations fairly cheap.
As Roy points out, however, currently libMesh is uniform p. For the
case of discontinuous elements it would be pretty straightforward to
extend the code to variable p. I have just not done that yet because I
figured we would tackle hp refinement for the continuous case and hash
out all the details then.
If hrefinement is insufficient for your case please let me know. Like
I said, adding p refinement for discontinuous elements is pretty
straightforward and would not require a lot of work.
Ben
Roy Stogner wrote:
> On Wed, 12 Jan 2005, Aleksander Grm wrote:
>
>> I have some strange illposed hyperbolic PDE. I hope that I could
>> obtain solutions with discontinuous galerkin FEM with hprefinement.
>> I saw that libMesh has very powerful things inside and I was wondering
>> if libMesh can help me with that.
>> Can you help me with answer how much or what do I have to upgrade or
>> how far can I do it with libMesh now.
>
>
> I'm sure one of the primary developers would have a better answer, but
> I'll take a crack at it:
>
> The h refinement is no problem; libMesh is excellent for hangingnode
> adaptive h refinement. I'll bet DG complicates this with the element
> jump terms, but those complications should be addressible in your
> system assembly code without any internal library changes.
>
> Using DG methods isn't a big problem  I don't know if you can do it
> with the library as is (since global continuity is enforced by the way
> the individual finite element classes associate degrees of freedom
> with edge and corner nodes), but you could probably create a working
> discontinuous finite element by just copying the C0 hierarchic element
> and telling your new version to associate every degree of freedom with
> the element interior.
>
> The hardest part of the problem here seems to be the adaptive p
> refinement. LibMesh currently assumes that each scalar variable in
> your system is associated with a single finite element object and each
> finite element object has the same number of degrees of freedom on
> every cell. I'm not sure if you can get around that without either
> leaving tons of inefficient unused DoFs in your global system or
> digging deep into the libMesh guts. You could combine uniform p
> refinement with adaptive h refinement pretty easily, but I'm sure you
> want more than that.
> 
> Roy Stogner
>
>
> 
> The SF.Net email is sponsored by: Beat the postholiday blues
> Get a FREE limited edition SourceForge.net tshirt from ThinkGeek.
> It's fun and FREE  well, almost....http://www.thinkgeek.com/sfshirt
> _______________________________________________
> Libmeshusers mailing list
> Libmeshusers@...
> https://lists.sourceforge.net/lists/listinfo/libmeshusers
