[dune-fem] Dune::Fem::GeoGridPart vs. Dune::GeometryGrid

Tobias Malkmus tomalk at mathematik.uni-freiburg.de
Tue Nov 5 16:33:38 CET 2013


Hi Andrea


On 11/05/2013 03:34 PM, Sacconi, Andrea wrote:
> Hi everyone,
>
> I would like to ask you a question about the difference between Dune::Fem::GeoGridPart and Dune::GeometryGrid.
>>From what I have understood so far, the former wraps only the leaf level, while the latter keeps track of the entire hierarchy of the grid over which you perform your numerical simulations.
>
> I am trying to modify my code to get a Dune::Fem::GeoGridPart working, but it doesn't. I mean, I am trying to use the same Dune::DiscreteCoordFunction I have already defined for using with Dune::GeometryGrid, but the compiler still complains.
> My idea was to use a Dune::DiscreteCoordFunction which stores the vertices (as a P1 Lagrange function), and to write a method that modifies the DoFs of that function appropriately. Is this a good idea?

To use a Dune::DiscreteCoordFunction for the Dune::Fem::GeoGridPart will 
not work.

A code snippet for the definition and construction of a GeoGridPart 
might look like this:

//-----------------------------------------------
typedef Dune::Fem::AdaptiveLeafGridPart< GridType > HostGridPartType;
typedef Dune::Fem::FunctionSpace< double, double, gridDim, geoGridDim > 
CoordinateFunctionSpaceType;
typedef Dune::Fem::LagrangeDiscreteFunctionSpace< HostGridPartType, 
CoordinateFunctionSpaceType, 1 > DiscreteCoordinateFunctionSpaceType;

typedef Dune::Fem::AdaptiveDiscreteFunction< 
DiscreteCoordinateFunctionSpaceType > DiscreteCoordinateFunctionType;

typedef Dune::Fem::GeoGridPart< DiscreteCoordinateFunctionType > 
GridPartType;

HostGridPartType hostGridPart( grid );
DiscreteCoordinateFunctionSpaceType coordSpace( hostGridPart );
DiscreteCoordinateFunctionType coordFunction("coord", coordSpace );

//( do something to set up the coordFunction, eg. interpolation )

GridPartType gridPart( coordFunction );

//-------------------------------------------------



> Which properties need to be satisfied by Dune::DiscreteCoordFunction ???
>
> By the way, using Dune::GeometryGrid I observed a huge slow down (50 times slower than the case without wrapper) in the assembling of the matrices; I guess it is due to the necessity of converting iterators and so on, internally done by the wrapper. Could Dune::Fem::GeoGridPart speed up the process? Has anyone observed such a tremendous overhead?


I'm also using the geoGridPart but i don't know the exact overhead to 
Dune::GeoGrid.


Best Tobias

>
> Thank you very much!
> Andrea
> __________________________________________________________
>
> Andrea Sacconi
> PhD student, Applied Mathematics
> AMMP Section, Department of Mathematics, Imperial College London,
> London SW7 2AZ, UK
> a.sacconi11 at imperial.ac.uk
>
> _______________________________________________
> dune-fem mailing list
> dune-fem at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune-fem
>
>


-- 
Tobias Malkmus                 <tomalk at mathematik.uni-freiburg.de>

Mathematisches Institut               Tel: +49 761 203 5627
Abt. für Angewandte Mathematik        Universität Freiburg
Hermann-Herder-Str. 10
79104 Freiburg





More information about the dune-fem mailing list