#459 Make the parameter 'codim' of subIndex a run-time parameter
Metadata
Property | Value |
---|---|
Reported by | Oliver Sander (oliver.sander@tu-dresden.de) |
Reported at | Nov 11, 2008 10:33 |
Type | Feature Request |
Version | Git (pre2.4) [autotools] |
Operating System | Unspecified / All |
Last edited by | Oliver Sander (oliver.sander@tu-dresden.de) |
Last edited at | May 31, 2009 16:52 |
Closed by | Oliver Sander (oliver.sander@tu-dresden.de) |
Closed at | May 31, 2009 16:52 |
Closed in version | Unknown |
Resolution | Implemented |
Comment |
Description
Currently the index (and id) sets provide methods subIndex (subId), which, for a given codim 0 entity, provide the indices of its subentities of given codimension. This codimension argument is a compile-time argument.
This is problematic. Why? Imagine you are doing a higher-order method. While assembling your stiffness matrix you loop over the shape functions of an element. Each shape function tells you to which subentity it belongs. Now in order to add the element matrix to the global matrix you need the index of this subentity. Since our method is of higher order the codimensions of the relevant subentities are not constant.
I suspect that you do not lose speed at all when converting codim argument to a run-time one. In cases where the codim really is a compile-time constant most of the code you still be optimized away