deal.II's 25th birthday

112 views
Skip to first unread message

Wolfgang Bangerth

unread,
Nov 25, 2022, 1:17:52 AM11/25/22
to deal.II user group

All:
Today is deal.II's 25th anniversary: The first commit to the deal.II
repository (then managed by CVS) was on November 24, 1997, exactly 25
years ago!

At the time, I was a student starting my Master's in the lab of Rolf
Rannacher at the University of Heidelberg in Germany. Back then, the
lab was using two other libraries: Stefan Turek was using and writing
software called FEATFLOW, written in Fortran, which today lives on as
FEAST (http://www.feast.tu-dortmund.de/index.html); and Guido
Kanschat, Franz-Theo Suttmeier, and Roland Becker were writing a
software called DEAL, short for "differential equations analysis
library", which today lives on in the Gascoigne library
(https://gascoigne.math.uni-magdeburg.de/). So there was some history
in writing finite element packages.

Guido Kanschat, who at the time was a postdoc, became my Master's
adviser, and we talked about what software to use for my project. He
knew that I was a decent software designer and felt that DEAL had some
software design shortcomings. He had the experience what mathematical
representations could be used to support adaptive finite elements with
hanging nodes. So we decided that I should take a few classes from
DEAL (like FullMatrix -- a class that to this day has some members
whose names and argument order don't match the deal.II convention) and
with his help write some others from scratch. I re-used a design
pattern I had explored a bit in the summer of 1997: Using <int dim> as
a template argument for classes. We called the project "deal.II": The
second version of the DEAL library.

I worked on all of this by myself for a couple of months, and then
Guido joined in the software development work; eventually also my
academic brother Ralf Hartmann, who was doing his Master's at the same
time as me. By the summer we had something that worked for adaptive
meshes in 2d, and mostly in 3d, for continuous elements of moderate
order.

Ralf and I graduated with a Master's at the end of 1998, but decided
to stay on for a PhD. Guido continued as a postdoc. All three of us
developed whatever it was we needed for our research, and sometime in
2000, we created a website for it and uploaded it there. Because we
thought that a version 1.0 sounded so immature, we called the version
that was uploaded 3.0. None of us had any hopes for this website. This
is just what one did in 2000: The web was new, why not create a
website?

I do remember that we were all a bit surprised when people started
using the software. They also asked questions, and so a mailing list
was created, and I remember us having to think about writing more
documentation. None of this had been on our agenda: That the library
found users was, really, all just an accident. But it grew from there.

Of course, today everything looks vastly different from these small
beginnings. There are hundreds, maybe thousands of people using
it. There are a dozen principal developers. We know of more than 2,100
publications that use deal.II. We review every patch. There is a test
suite that contains more than 13,000 tests, and each patch is run on
half a dozen machines before it can be merged. deal.II can interface
with more than 25 other packages, and it has nearly 1.5 million lines
of source code -- the product of what is almost certainly several
hundred person-years of work. More than 300 people are listed as
having contributed substantial pieces of work. One could probably
write a whole paper about how all of this happened, but maybe that is
not the time to do so: let's just celebrate the 25th birthday today,
and that this little thing has grown into something that has turned
out to be useful to so many in our community!

........................................................................

Today is also Thanksgiving in the United States where I live
today. This is traditionally where people, quite literally, give
thanks for whatever they are grateful for. For me personally, I am
thankful for the fact that what started as a small project for myself
and a couple of colleagues has grown into a worldwide community. It
has allowed me to build a career, and it has allowed me to meet many
people from around the world who I would likely never have met
otherwise; many of them I call my friends today. It is something I
could not have imagined 25 years ago, and something I am truly
grateful for.

Best
Wolfgang

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

Guido Kanschat

unread,
Nov 25, 2022, 3:38:15 AM11/25/22
to deal.II User Group
Dear Wolfgang,

Thanks for celebrating the day. I am more the person who forgets his wedding anniversary and I would have missed this occasion as well.

I vividly remember our daily discussions about structuring classes, which sometimes could take hours. Meanwhile, the office where this took place does not exist anymore. On the next day, you had implemented our plan and we had to discuss again because some things did not work the way we had thought. This way we iterated towards a structure that managed to live for 25 years.

I remember how we fought about the ordering of vertices in quadrilaterals and how we later had to go through the painful process of re-engineering this part in order to eliminate specializations with respect to dimensions. As for the ordering of arguments, it was a standard in C to have return arguments first. In C++ it is even rationally justified, since a return argument in last position makes it impossible to have a consistent ordering with optional arguments.

Dear all,

I would also like to make use of this day to announce my retirement from the deal.II developer team. It was a great time and I enjoyed the development very much. I have taught courses on deal.II on three continents and enjoyed being its ambassador. Scientifically, I have moved on towards hardware oriented implementations where we need much more specialized software. Personally, my career has shifted towards academic administration and my job as dean does not leave much time for programming anyway.

I am happy that I am one of the fathers of deal.II, a child with a surprisingly small number of mothers, and I have spent considerable time and effort for it “in my time”. Now, is the time, where another generation should take over and also get full credit for it. My advice to you is: be fearless and not too respectful for the ancient, change what you deem necessary to meet modern needs. But, do remember that people are using deal.II and stick to the policy of changing the API carefully and with sufficient warning time, since this has been a trademark for deal.II for a long time and contributed to its success.

I wish you all another 25 years of happy and successful development,
Guido

--
Prof. Dr. Guido Kanschat
Dean of Engineering Sciences
Interdisciplinary Center for Scientific Computing (IWR)
Heidelberg University 

Martin Kronbichler

unread,
Nov 30, 2022, 5:15:25 AM11/30/22
to dea...@googlegroups.com

Dear Guido,

I regret that you are stepping back as a developer, but I have full understanding for your personal situation. I think I speak of many developers and active users of deal.II when I express my gratitude for all your work and ideas that went into the project, especially regarding the multigrid algorithms and abstractions for mesh loops that also inspired our matrix-free algorithms. On a personal level, I remember our discussions about multigrid algorithms and efficient preconditioning going back to 2008 and 2009. Your code and your papers have been a key step in developing my own research ideas. After I completed my Ph.D., we intensified our interaction and have worked on several joint research projects. I feel that many contributions to deal.II by me or Ph.D. students under my supervision during the last decade have profited enormously from your ideas, efforts and code sketches, even when you were not as visible in the software repository any more.

I am looking forward to our future interaction, and hope that we as a deal.II community will be able to integrate with as many of your research results as possible, keep up your great work! I personally share many of your interests on hardware-aware implementations, so I am sure we will have time and resources to work for our mutual benefits.

Thank you, Guido!

Best regards,
Martin

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/4472f8a6-c58b-46f4-a4c5-f10f00a92db9n%40googlegroups.com.

Wolfgang Bangerth

unread,
Nov 30, 2022, 9:44:09 PM11/30/22
to dea...@googlegroups.com, Guido Kanschat, Guido Kanschat

Hi Guido:

> I vividly remember our daily discussions about structuring classes, which
> sometimes could take hours. Meanwhile, the office where this took place does
> not exist anymore. On the next day, you had implemented our plan and we had to
> discuss again because some things did not work the way we had thought. This
> way we iterated towards a structure that managed to live for 25 years.

Yes, good times! My personal life was not happy at the time, and after work I
would usually go home, sleep for an hour, then work till 3 or 4am, and then
take the bike to work in time for lunch. Work was my way to forget a lot of
things during that year, and a lot of code was written. It was productive!


> I remember how we fought about the ordering of vertices in quadrilaterals and
> how we later had to go through the painful process of re-engineering this part
> in order to eliminate specializations with respect to dimensions.

Oh right, I forgot about that. What a disaster. It wasn't the only mistake we
made, but maybe the one that required the most work to fix...

Overall, however, I do think we came up with designs that have proved to be
surprisingly successful in the long run!
Reply all
Reply to author
Forward
0 new messages