P.S. I like the idea of a GAUSS-interpolary basis since it'll give a diagonal mass matrix.

On 02/28/2012 07:55 AM, David Knezevic wrote:
Sounds good Derek. John also mentioned to me that you guys are interested in L2_LAGRANGE that interpolates at gauss points. I think we could just add that to the current L2_LAGRANGE (rather than making a new type L2_GAUSS_LAGRANGE), and have a switch between NODAL and GAUSS shape functions?


On 02/27/2012 10:06 PM, Derek Gaston wrote:
Very cool David... since you brought these up a little while back we've been thinking of ways we can use them.  I think they're going to turn out to be quite useful for a lot of different things (like well behaved, non-constant, discontinuous material property projections)...

Thanks for contributing this!


On Mon, Feb 27, 2012 at 7:34 PM, David Knezevic <dknezevic@seas.harvard.edu> wrote:
I've just checked in the discontinuous Lagrange basis (L2_LAGRANGE) we
discussed recently. Changing MONOMIAL to L2_LAGRANGE in
miscellaneous_ex5 works fine in both 2D and 3D.

A few comments:

1. Just like in fe_monomial.C, I set compute_constraints to be a NOOP. I
was surprised to see that this method is not a NOOP in L2_HIERARCHIC?

2. Similarly, I was surprised to see that L2_HIERARCHIC returns C_ZERO
rather than DISCONTINUOUS in get_continuity()?

3. In fe_monomial.C, it looks like monomial_n_dofs() and
monomial_n_dofs_per_elem() are identical? If so, I'd like to delete the
latter (we only have one of these two functions in L2_HIERARCHIC and

4. For now I've just used the same "max_order" for L2_LAGRANGE and
LAGRANGE, since I wanted to do an initial check-in based directly on
LAGRANGE. But L2_LAGRANGE's Order is no longer related to "element
order" (e.g. a SECOND on a TRI3 is perfectly fine for L2_LAGRANGE), so
those extra valid combinations could be added to L2_LAGRANGE... this
would also have implications for the serendipity shapes functions: we
currently assume that QUAD8 or HEX20 implies serendipity, but this need
not be true with L2_LAGRANGE.

5. I followed the L2_HIERARCHIC approach of adding new files
fe_l2_lagrange_shape_*D.C which are copies of fe_lagrange_shape_*D.C
with LAGRANGE replaced by L2_LAGRANGE. But it would be possible to just
call LAGRANGE's shape functions directly, rather than copying and
pasting --- though this would need some modifications if point 4 above
is implemented. Any thoughts on the best thing to do here?


Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
Libmesh-devel mailing list