fiat team mailing list archive
-
fiat team
-
Mailing list archive
-
Message #00279
Re: Lagrange basis
Dear Jed,Thanks for your interest in FIAT and your comments (I see the
patches that came in later emails).
I am aware about several of the issues you raise. Let me respond:
1.) I agree that using "better" points have definite advantages in terms of
conditioning. It's mainly a matter of FIAT being little used in 1d and
focusing on enabling hard elements on simplices -- when I wrote the initial
version, you had to go through quite a bit to obtain the simplicial (near)
Fekete points. I just didn't do it. If FIAT's 1d capability were used to
form tensor products, this would be easier to do. Since I wrote FIAT, I
believe Tim Warburton has come up with a much better way to explicitly get
good points. The make_lattice functions have the benefit of being very
simple to code in complete generality, both in 1d and higher-dimensional
simplices.
2.) The main use of FIAT is currently within FFC, which is better set up
algorithmically to handle low to moderate orders (very low by the standards
of the spectral world). We aren't really hitting the point where equispaced
points hurt.
3.) Finding structure, both in the resulting mass/stiffness matrices as well
as in the generalized Vandermonde matrix, is a very interesting issue, but
one I haven't tackled. I'm trying to be as general as possible at this
point. I would like to see how to automatically infer these kinds of
structure within FIAT. The disadvantage of the K&S approach is that you
work very hard to get one particular basis, but I want "all" the elements.
Being able to compute with all of the elements has a certain value, even if
we don't get the full benefits of the specialized spectral element approach.
2008/5/25 Jed Brown <jed@xxxxxxxx>:
> I was playing with FIAT today and became somewhat confused with the choice
> of
> Lagrange basis. I'm just working in one dimension because I'm building
> high
> order tensor products bases.
>
> It appears that the Lagrange basis is based on evenly spaced points, but
> that's
> terrible if the polynomial order grows. Indeed, when I plotted the basis
> for
> modest order, the Runge effect quickly becomes a problem. So why is the
> Lagrange basis not imeplemented on Legendre-Gauss-Lobatto nodes? It's not
> really harder to do since
>
> jacobi.compute_gauss_jacobi_points(1,1,p-1)
>
> gives the interior points of an order p basis). They are pretty much the
> same
> at order 3, but by order 4 there is already an advantage to using the LGL
> points. Is there any advantage (ever) to using equally spaced nodes? If
> you
> want the points to nest, the Chebyshev points would be fine. Am I missing
> something? I think it would be nice to be able to choose LGL/CGL/equal
> spacing,
> but this requires some (maybe not much) refactoring. Is it sufficient to
> have
> make_lattice_xxx() take an extra parameter and add corresponding plumbing
> up
> to the front-ends?
>
> On another note, in K&S, the `standard modal' basis is chosen so that the
> element mass and stiffness (for linear Laplacian) matrices are banded.
> This
> might be a nice basis to use for p-type refinement, but unfortunately it's
> sparseness doesn't hold for nonlinear problems. Does anyone (potential
> FIAT
> users) care about hierarchical bases and sparser matrices for high order
> Laplacians?
>
> Jed
>
> _______________________________________________
> FIAT-dev mailing list
> FIAT-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/fiat-dev
>
>
References