Skip to content

Add jacobian()... to GeometryReference and AlbertaGrid's geometries

Carsten Gräser requested to merge feature/implement-alberta-jacobian into master

This adds jacobian(), jacobianInverse(), Jacobain, and JacobianInverse to the Dune::GeometryReference class. The implementation works exactly as in Dune::Geometry: If the method and typedef is provided by the implementation, then this one is used. Otherwise the default version with Dune::transpose() drops in.

This is needed because Dune::GeometryReference is - altough it's contained in albertagrid/ - in fact a generic interface class that is e.g. also used in dune-spgrid.

This also adds the members to AlbertaGrid. Currently the new methods hand out temporary objects. These matrices could also be cached. However, this should only be done if measurement have shown that this is indeed beneficial. An alternative implementation would be to return transposedView(jacobianTransposed()) and transposedView(jacobianInverseTransposed()).

Merge request reports