← Back to team overview

fiat team mailing list archive

Re: trace_tabulate

 

Garth,
I'm not sure why you get an unsubscriptable object, but
there are at least two problems in how you are using/understanding the function.

1.) First, it's not necessarily a quadrature rule that you're tabulating at, but any set of points. This has no impact on your problem. 2.) Second, you have to provide the one-dimensional points at which to tabulate since you said "d=1". So if you wanted the Gauss points along edge number 1, you would compute the Gauss points on the reference line (q=quadrature.make_quadrature(shapes.LINE,degree)), and then call trace_tabulate( d , 1 , q.get_points() ). Trace_tabulate maps the points on the reference line to the appropriate edge.

Let me know if there is still a problem.

Rob

On Apr 27, 2006, at 10:14 AM, Garth N. Wells wrote:

Hi Rob,

I'm playing around with calling trace_tabulate from FFC. Before I
elaborate my problem, let me check that I'm on the right path with
trace_tabulate.

In a nutshell, does trace_tabulate return the basis functions on
edge/face e of dimension d (d=2->face, d=1->edge, etc) given a
quadrature scheme of dimension d for an element of dimension n? (e and d
being the same as used in the trace_tabulate argument list).

When I try in FFC

  junk =  self.element.function_space().trace_tabulate(1, 1,  points)

where
  self.element.function_space() is of type
FIAT.polynomial.ScalarPolynomialSet
and
  points = [(0.0)]

I get the error

  *** unsubscriptable object

Garth






Follow ups