TensorProductCell interface issues

Issue #76 resolved
David Ham created an issue

I'm attempting to do the OuterProduct => TensorProduct rename agreed on the FIAT issue.

It turns out that the existing OuterProductCell and TensorProductCell are not quite compatible.

  1. Geometric dimension.

    Current OPC has an optional gdim argument to explicitly set this. Current TPC always calculates this from the components.

    Imagine I wish to make a quad cell immersed in 3D. The effect of the current TPC behaviour is that I have to choose one of the component interval cells and immerse it in 2D. This is kind of unnatural (mathematically, the components don't really have a geometric dimension) and has the odd effect that you get a different cell depending on which of the two intervals you decide to immerse in 3D.

    I propose to give TPC an optional geometric_dimension which overrides the default sum of components.

  2. TPC takes a list of cells. This results in an ugly additional set of parentheses in the constructor. I propose that TPC should take *cells.

Comments (5)

  1. Log in to comment