Major redesign of localoperator (and associated classes) file structure
With all the discussions about good locations for helper classes like grid function adapters etc., I think that we should consider a more radical solution. After talking things through with Dominic, I suggest the following new structure: ``` dune/ pdelab/ localoperator/ [general files like defaultimp.hh, interface.hh] problem/ convectiondiffusion/ operator/ convectiondiffusionfem.hh convectiondiffusiondg.hh ... parameter.hh function/ darcy_ccfv.hh ... convectiondiffusion.hh # includes everything from convectiondiffusion/ navierstokes/ ... navierstokes.hh ... common/ function/ curl.hh ... common.hh or util.hh # need a good name here ``` With this structure the user just includes `dune/pdelab/problem/convectiondiffusion.hh` and gets everything required to solve convection-diffusion problems. At the same time, I also support Christian's idea of putting transitional / experimental stuff into a new namespace `Dune::PDELab::experimental`. This has two advantages over a configure time flag: * It's very explicit: Users are always aware of the experimental nature of a class, both when using it and when reading the code at a later time. * Stuff can easily be promoted to standard functionality by moving the class into the regular PDELab namespace and replacing the version in the experimental namespace with a deprecated template alias. What do you think?
issue