Skip to content

Deprecate default implementation of jacobian() and jacobianInverse()

This deprecates the default implementation of the jacobian() and jacobianInverse() method and the corresponding typedefs Jacobian and JacobianInverse on the interface class Dune::Geometry where they have been introduced in !577 (merged). Hence grid geometry implementations should implement these members on their own and get a deprecation warning otherwise. After the next release this becomes a must. For any geometry in the core modules there's nothing left to do:

  • All geometry implementations provided by dune-geometry have been adapted in dune-geometry!193 (merged).
  • The utility class Dune::GeometryDefaultImplementation now implements the newly required members on top of the user-provided jacobianTransposed() and jacobianInverseTransposed(). This is safe, because the latter return a FieldMatrix.
  • The only remaining implementation Dune::GeoGrid::Geometry is also adapted with this MR.

Other grid implementations need not to do anything if they only use the generic geometry implementations from dune-geometry or rely on Dune::GeometryDefaultImplementation. Otherwise they have to provide the four new members manually. The easiest (but maybe not the most efficient and elegant) way is to copy the default implementation deprecated with the present MR.

Notice that this is a follow-up MR to dune-geometry!193 (merged) and !577 (merged) and should this be merged afterwards.

Merge request reports