← Back to team overview

fiat team mailing list archive

Re: Evaluation of functionals

 

L2 projection into the finite element space.  On each element, or globally,
solve( pi u - u , w ) = 0 for a function pi u for all of the test functions
in the finite element space.

All you need is point evaluation on the input function u for quadrature, and
the weighted values of u become the rhs of the system.

We could include the function value being integrated against, but it's going
to be inexact.  I see creating interpolants as quite a bit of work with
little payback when the infrastructure to do projection is already in place
and typically is what is required by theorems anyway (e.g. project initial
conditions for parabolic problems into FE space).


On Dec 11, 2007 3:25 AM, Anders Logg <logg@xxxxxxxxx> wrote:

> On Mon, Dec 10, 2007 at 06:47:27PM -0600, Robert Kirby wrote:
> > 1.) This is ill-posed, in general.  You can't integrate a generic
> function just
> > by using it as a black-box.  This handles Lagrange interpolation, but
> not
> > Raviart-Thomas, which has integral moments against some functions as
> some of
> > the nodes.
>
> Can't we just include the value of the function we integrate against
> in the weights?
>
> > 2.) Why don't you do L2 projection instead?  Generally, you get a mass
> matrix
> > that is so much cheaper to solve than anything else you're doing that it
> > doesn't cost very much.  Everything is already in place for that.
>
> L2 projection between which spaces? What we want to do is to
> interpolate (evaluate the dofs) locally on each element. We don't
> solve a global system.
>
> --
> Anders
>
>
> >
> >
> >
> > On Dec 10, 2007 1:51 PM, Anders Logg <logg@xxxxxxxxx> wrote:
> >
> >     On Mon, Dec 10, 2007 at 09:08:33AM -0600, Robert Kirby wrote:
> >     > By "given function", do you mean an arbitrary input function
> (something
> >     that
> >     > supports __call__) or something in the finite element space?
> >
> >     A function that can be evaluated at any point. For example, someone
> >     has specified a right-hand side by "return sin(x)".
> >
> >
> >
> >     > Functionals know how to apply themselves to the finite-dimensional
> space
> >     > members via __call__ (it's just a dot product).
> >     >
> >     > There is some preliminary support for the types of functionals in
> the
> >     "get_type
> >     > ()" method.  It would need to be expanded to include some of this
> other
> >     > information.
> >     _______________________________________________
> >     FIAT-dev mailing list
> >     FIAT-dev@xxxxxxxxxx
> >     http://www.fenics.org/mailman/listinfo/fiat-dev
> >
> >
>
> > _______________________________________________
> > FIAT-dev mailing list
> > FIAT-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/fiat-dev
>
> _______________________________________________
> FIAT-dev mailing list
> FIAT-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/fiat-dev
>

Follow ups

References