Skip to content

Improved dune-functions compatibility

Currently we can wrap a scalar (i.e. just a single node in the tree) Dune::Functions::DiscreteGridFunctionSpaceBasis as a Dune::PDELab::GridFunctionSpace.

This is very limited and actually not what we aim at on the long run. It means that internally PDELab is still working the orderings, which are relatively hard to maintain.

I discussed with @santiago.ospina and we came to the conclusion that it should actually be feasible to update the backends, and the assembler to work with with a Dune::Functions::DiscreteGridFunctionSpaceBasis by introducing some specializations and perhaps some traits. The main difficulty will (perhaps) be a compatible user interface for Dune::PDELab::LocalGridFunctionSpace.

I propose the folling steps:

  • being able to create an Dune::PDELab::ISTL::VectorBackend for dune-functions bases (see !463)
  • create a DiscreteGridViewFunction with a PDELab backend
  • update the LFSIndexCache to work with the localView of a basis
  • update the assemblers to work with a dummy LOP that does not do anything
  • introduce a LocalFunctionsSpace wrapper to fulfill the interface to the local operator
Edited by Christian Engwer