← Back to team overview

dolfin team mailing list archive

Work on Expression

 

Hello!

I have not pushed anything, but Expressions should be up to shape now, and I 
am working on simplifying the logic in other places of expression.py

I do not like the implementation of the dim method. It is used to read a user 
defined value dimension and then discarded. I suggest that we add a 
value_shape attribute to the dolfin.Expression class. If not set by the user 
it is by default (), i.e., a scalar Expression.

  class MyExpression(Expression):
      value_shape = (2,)
      def eval(self, values, x):
         values[0] = 1
         values[1] = 1

The dim name is also only making sense for Vector Expressions, where I think a 
value_shape attribute makes sense for all occasions. A value_shape for scalar 
Expression will still be the default.

After creation and instantiation we then have an object that have both a shape 
method (from ufl.Function) and a value_shape attribute from the subclassing 
definition.

What you think.

Johan



Follow ups