Skip to content

Implement LocalBasis::partial method for partial derivatives of the shape functions

Oliver Sander requested to merge feature/implement-partial-method into master

The current LocalBasis::evaluate method that provides partial derivatives of shape functions has a serious shortcoming: the differentiation order is a template parameter, and therefore it does not play nicely with the type-erased interface. A full explanation is given here:

flyspray/FS#1653 (closed)

At the 2015 dev meeting in Heidelberg it was decided to switch to a multi-index based implementation (like the one proposed in this patch). For reference:

http://users.dune-project.org/projects/dune-developer-meeting-2015/wiki/Protocol

(Section 7.4.1)

This patch does only the bare minimum: it makes test-localfe test the new 'partial' method for all those LocalFiniteElement implementations that class to support a diffOrder > 1. Additionally, it implements the 'partial' method for all these, but not for any other LocalFiniteElement implementation.

Also, there is currently no way to find out what orders are supported through the virtual interface. A solution for that will need to came afterwards.

Merge request reports