dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #04520
Re: pointmap
On Sat, Mar 24, 2007 at 06:52:04PM +0100, Garth N. Wells wrote:
> In the old FFC output format, the function
>
> void pointmap(Point points[], unsigned int components[],
> const AffineMap& map) const
>
> returns in components[] a degree of freedom identifier (e.g. 0 for u, 1
> for v, 2 for p, etc) for each entry in the element tensor. How can we
> get this information with the new UFC format? (or how can we avoid
> requiring it?)
>
> Garth
Do you mean for evaluating dofs on user-defined functions (to get the
expansion coefficients in the nodal basis to put in the array w) or
for setting boundary conditions?
I think that in both cases it should be enough to evaluate the dofs on
the ufc::function, but we might have missed something. The function
evaluate_dof() takes a function f that may or may not be vector-valued
and computes the scalar value of dof i. So for a 2D vector-valued
Lagrange element of degree 1, dof 0 will be f_0(v0), dof 1 will be
f_0(v1), dof 2 will be f_0(v2), dof 3 will be f_1(v0) etc. The
function evaluate() in ufc::function needs to compute all values of
the possibly tensor-valued function.
/Anders
Follow ups
References
-
pointmap
From: Garth N. Wells, 2007-03-24