Absolutely, the FENothing approach seems like a great fix. If you
could send me any pointers, that would be great. I will start looking
at the implementation of similar classes.
Now, here's something I've thought about for a few years already for
situations like yours: we have the hp::DoFhandler class that allows
to use
different finite elements on different cells. One class that doesn't
currently exist but that would be rather trivial to implement (all its
functions are empty, and it just makes sure it calls the base class's
constructor correctly) is something I've mentally always called
FENothing -- a finite element that simply doesn't have any degrees of
freedom at all and so can only express the zero function. Assuming
such a
class existed, you could set the active_fe_index of each cell where
you
want to compute something to the FE you are currently using, and on
the
inactive cells you would set it to use the FENothing. The
hp::DoFHandler
would then assign degrees of freedom on each cell according to the
finite
element that lives there -- which means no dofs on the cells in your
inactive region. The hp::DoFHandler is quite happy to produce
discontinuous function spaces, which is what is going to happen when
you
use FENothing, so you will somehow have to describe boundary
conditions at
the active-inactive interface, but I suppose you have to do that
anyhow.
If you're interested in going down this road and try your hand
implementing
the FENothing let us know and we'll give you pointers where to start.
Best
W.
--
---
----------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
www: http://www.math.tamu.edu/~bangerth/
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii