← Back to team overview

fiat team mailing list archive

Re: Added trace_tabulate_jet to ScalarPolynomialSet. [...]

 

It works because you applied it to an instance of a subclass that supports tabulate_jet. Dynamic binding in Python hides some of these issues (it wouldn't compile in C++). To do the vector-valued case, you need to do it to every component of the vectors. It's a similar function, but trickier.


On May 1, 2006, at 10:01 AM, Garth N. Wells wrote:

Rob,

Is it just a question of adding a similar function to the class
VectorPolynomialSet as below?  When I do this, the output looks
reasonable.

Garth

--- polynomial.py       1 May 2006 14:28:43 -0000       1.8
+++ polynomial.py       1 May 2006 14:56:33 -0000
@@ -283,6 +283,12 @@
                  for i in range(self.tensor_shape()[0]) ]


+    def trace_tabulate_jet( self , d , e , order , xs ):
+        myshape = self.domain_shape()
+        xs_dim = map( shapes.pt_maps[ myshape ][ d ]( e ) , xs )
+        return self.tabulate_jet( order, xs_dim )
+
+
 # The code for TensorPolynomialSet will look just like
VectorPolynomialSet
 # except that we will flatten all of the coefficients to make them
 # look like vectors instead of tensors.


On Mon, 2006-05-01 at 16:28 +0200, fiat@xxxxxxxxxx wrote:
Commit from kirby (2006-05-01 16:28 CEST)
-----------------

Added trace_tabulate_jet to ScalarPolynomialSet.
Patch thanks to Garth.
Only problem is that tabulate_jet is undefined on the
AbstractPolynomialSet (in the patch), so I
moved it to ScalarPolynomialSet.  It's not hard to generalize the
jet to vector-valued spaces, but gives for a large number of
indices.  Perhaps in the future...

  fiat  FIAT/polynomial.py  1.8

_______________________________________________
FIAT-dev mailing list
FIAT-dev@xxxxxxxxxx
http://www.fenics.org/cgi-bin/mailman/listinfo/fiat-dev


_______________________________________________
FIAT-dev mailing list
FIAT-dev@xxxxxxxxxx
http://www.fenics.org/cgi-bin/mailman/listinfo/fiat-dev




Follow ups

References