Discussion:
[petsc-users] mathematics formula of DMPlexProjectFunction
Fande Kong
2015-10-20 17:44:41 UTC
Permalink
Hi all,

Any body knows the mathematics formula corresponding to the function
DMPlexProjectFunction? I already went through the code, but I do not
understand quite well. I will appreciate any help.


Thanks,

Fande,
Jed Brown
2015-10-20 18:03:09 UTC
Permalink
Post by Fande Kong
Any body knows the mathematics formula corresponding to the function
DMPlexProjectFunction? I already went through the code, but I do not
understand quite well. I will appreciate any help.
The definition of a finite element involves a dual space (the basis for
which is sometimes called the "nodes"). For a typical finite element
space, the "nodes" are Dirac delta functions at vertices. Consequently,
the inner product

(n_i, f) = \int \delta(x - x_i) f(x) = f(x_i)

if f is sufficiently regular. For more general dual basis functions,
this inner product needs to be evaluated by quadrature.
DMPlexProjectFunction does this projection.
Fande Kong
2015-10-20 18:32:46 UTC
Permalink
Jed, Thanks.

It means that the inner product against basis "n_i" is just the function
value at the point "x_i" if the function is sufficiently regular, e.g.,
sin(x) or cos(x).

The basis function at x_i is "x-x_i" which is not the one we use
to discretize the equations?
Post by Jed Brown
Post by Fande Kong
Any body knows the mathematics formula corresponding to the function
DMPlexProjectFunction? I already went through the code, but I do not
understand quite well. I will appreciate any help.
The definition of a finite element involves a dual space (the basis for
which is sometimes called the "nodes"). For a typical finite element
space, the "nodes" are Dirac delta functions at vertices. Consequently,
the inner product
(n_i, f) = \int \delta(x - x_i) f(x) = f(x_i)
if f is sufficiently regular. For more general dual basis functions,
this inner product needs to be evaluated by quadrature.
DMPlexProjectFunction does this projection.
Matthew Knepley
2015-10-20 18:44:22 UTC
Permalink
Post by Fande Kong
Jed, Thanks.
It means that the inner product against basis "n_i" is just the function
value at the point "x_i" if the function is sufficiently regular, e.g.,
sin(x) or cos(x).
No, n_i is not part of the basis for the approximation space, its a basis
vector for the dual space. Thus its
not an inner product, it the dual pairing. Here we can always use an
integral since the dual elements can
be represented by measures

Riesz-Markov-Kakutani Representation Theorem (
https://en.wikipedia.org/wiki/Riesz%E2%80%93Markov%E2%80%93Kakutani_representation_theorem
)

Matt
Post by Fande Kong
The basis function at x_i is "x-x_i" which is not the one we use
to discretize the equations?
Post by Jed Brown
Post by Fande Kong
Any body knows the mathematics formula corresponding to the function
DMPlexProjectFunction? I already went through the code, but I do not
understand quite well. I will appreciate any help.
The definition of a finite element involves a dual space (the basis for
which is sometimes called the "nodes"). For a typical finite element
space, the "nodes" are Dirac delta functions at vertices. Consequently,
the inner product
(n_i, f) = \int \delta(x - x_i) f(x) = f(x_i)
if f is sufficiently regular. For more general dual basis functions,
this inner product needs to be evaluated by quadrature.
DMPlexProjectFunction does this projection.
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
Jed Brown
2015-10-20 18:45:26 UTC
Permalink
Post by Fande Kong
Jed, Thanks.
It means that the inner product against basis "n_i" is just the function
value at the point "x_i" if the function is sufficiently regular, e.g.,
sin(x) or cos(x).
Yes.
Post by Fande Kong
The basis function at x_i is "x-x_i" which is not the one we use
to discretize the equations?
The *dual basis* function in that case is \delta(x-x_i), the Dirac delta
function.

Loading...