[dune-pdelab] PGFS with 1 component

Pavel Hron pavel.hron at iwr.uni-heidelberg.de
Tue Feb 18 01:03:15 CET 2014


On Mon, 2014-02-17 at 14:59 -0800, Steffen Müthing wrote:
> Hi Martin,
> 
> Am 17.02.2014 um 06:27 schrieb Martin Rückl <mrueckl at physik.hu-berlin.de>:
> 
> > Hi PDELab team,
> > i am using the Dune::PDELab::PowerGridFunctionSpace in one of my generic classes. At the moment I’m porting lots of my code to the new Dune/Pdelab version. I think in the old version of PDElab (like one year ago, before the changes with the dof handling) it was possible to create a PowerGridFunctionSpace with only a single component, i.e.: 
> > 
> >     typedef Dune::PDELab::PowerGridFunctionSpace<GFS,1,VBE,Dune::PDELab::EntityBlockedOrderingTag> PGFS;
> > 
> > while the above is still possible, i get an assertion error when interpolating an initial solution into the dof vector:
> > 
> >     Dune::PDELab::interpolate(initialSolution,pgfs,u);
> > 
> > -> assert(i==-1) in dune/pdelab/backend/istl/vectorhelpers.hh line #27 fails
> > 
> > i had a short glimpse into the callstack, and  I think the cache type had size 1 hence i resulted in 0. If you like, i can provide a full call stack(which looks REALLY ugly :-() and/or fill a bug report.
> > 
> > Since i added a little bit of extra functionality around the ISTLBlockVectorConainer, I’m not 100% sure whether it is an PDELab issue :-(
> 
> that’s weird, I just clobbered together a small example (see attached file), and that works without a problem.
> Is your initialSolution a PowerGridFunction?
> 
> Steffen
> 

Hi Steffen,

your code works, but if you change Dune::PDELab::ISTLVectorBackend<>
(default no blocking) to
Dune::PDELab::ISTLVectorBackend<Dune::PDELab::ISTLParameters::static_blocking> (as in Martin's code), it breaks.

Does it make a sense use static_blocking with blocksize 1?

Pavel








More information about the dune-pdelab mailing list