[Dune-devel] YaspGrid has new features!

Dominic Kempf dominic.r.kempf at gmail.com
Wed Aug 13 16:59:28 CEST 2014


Dear DUNE!

I have finished my work on YaspGrid. You find it here:
http://cgit.dune-project.org/repositories/dune-grid/commit/?h=feature/all-entities-yaspgrid&id=1fd2a101abc8cac9237c74b386e07748ab0e7088

To describe the changes, I quote the commit message:

This is a major rewrite of Dune::YaspGrid. It now
- has full entities of all codimensions
- communicates on all these codimensions
- works for arbitrary dimension (again)

Of course, these new features come at a price. The performance
implications in comparison to the old code have been measured.
Iterating over the grid and computing indices and subindices got a bit
slower (to a maximum of 20%). However, these operations are still
really (!) fast.

Here are some implications for the implementation (not of interest for users):
- The former YGrid is now called YGridComponent. All entities that
belong to one such component share the same "shift" (the set of
spanning unity vectors). For codim 0 and dim, there was only one
component describing a codimension, in general this is dim choose
codim.
- A YGrid is a collection of YGridComponent. A YGrid describes the
parts of a grid given by partition type and a codimension. It offers
iterators to iterate over the multiple components. YGridList does the
same thing for send and receive lists.
- Yasp handles codimensions generically now. The former data
structures {cell,vertex}_{...} are replaced by arrays of size dim + 1
of {...}.
- The entity implementation provides a generic implementation of the
index methods according to the new generic reference elements.
- A namespace Yasp is introduced and used to hide away some free
functions from the user.
- YaspGeometry now handles the bitsets required by
AxisAlignedCubeGeometry directly.

The incode and doxygen documentation of the rewritten code was
improved whenever it seemed necessary.

If you have any questions regarding these changes, please contact me.

Best,
Dominic




More information about the Dune-devel mailing list