GSoC/GCI Archive
Google Summer of Code 2013

Distributed and Unified Numerics Environment (DUNE)

Web Page: http://www.dune-project.org/gsoc/2013/index.html

Mailing List: http://lists.dune-project.org/mailman/listinfo/dune

The "Distributed and Unified Numerics Environment" (DUNE) is a software framework for solving partial differential equations (PDE) using parallel and supercomputers. It is written in C++. DUNE started with an inaugarating meeting held in Bonn in February 2002. People from different research groups of Universities in Bonn, Freiburg, and Heidelberg shared a common interest: developing an clean, slim, and modern open source framework for the parallel solution of PDEs which would allow reusing existent legacy software via a common interface based on generic programming techniques.

It consist of "core developers" (currently 10) and "non-core developers". Core and non-core developers are individuals with read and write access to the source code repostiories. They are professors, graduate students, postdocs, or people working in industry (e.g. as freelancers or consultants), currently located in Germany, UK, and USA. With DUNE being a scientific software, they all share a scientific education and background. But their background differs (Mathematics, Computer Science, and Physics) as well as their application area (flow through porous media, linear elasticity, computational fluid dynamics, electro-magnetism, ...). At least every year a public (users may attend) developer meeting is held, where the further strategy is discussed and open questions are decided. Decision are made based on the consent of the majority of the core developers. Regardless of developer's background or merit, his/her vote counts as much as another ones. Non-core developers are consulted before decisions, but cannot vote. During the rest of the year all communication happens on public mailing lists.

Contributors (i.e. people that previously provided patches) to DUNE can become developers if at least one core developer is willing to be his/her mentor. New core developers must have the consent of the majority of the rest of the core developers.

Projects

  • Attach the PSurface Library of DUNE to ParaView Writing Python scripting to read PSurface object and display it in paraview. Implement a ParaView filter to control the PSurface surface simplification algorithm.
  • Performance testing framework Provide a framework for repeatedly measuring the performance of DUNE. I will write a number of small example programs to be used as benchmarks. A test running environment will compile and run these benchmark while measuring the spent time and consumed resources. While the tests will be run on many computers, the results will be reported to a central dashboard that will analyze the data and visualized on a website.