Friday, 15 August 2008

Fastest Topology Optimization on Mac ever?

This is the summer of work! After finishing the work on my paper, and a couple of presentations I gave (see the last two postings), I was looking forward to this summer.

Personally to spend time with my (almost two years old) doughter in the garden but also to actually code and test ideas before the writing time starts again. I four weeks I need a paper and a poster, then two presentations for the two following weekends. In November there are two important reports ... So concentrate on actually working now :)

The two chairs I'm working are almost deserted - a productive working atmosphere. Even the student working on his diploma thesis about topology optimization of an energy harvester (I "share" him with a colleague) is on holiday.

But now to the subject: One of my collaegues, Simon, is currently porting our finite element software to his MacBook. He's absolutely the right guy for this job - a really skilled hacker - and it took him just about two days. That's really respectably considering the complexity of our C++ monster with all the external libraries!

Well, as we all work on the same piece of code in the end (thanks a lot to the subversion team!), there is now a finite element code existing (unequals available!) on the Mac that shall be difficult to match (at least on OS-X). And this might be even more true for topology optimization (and all the other specialities my collegues are working on). :)

That doesn't really help anyone, is by no means an academic progress - but on the other hand this might be only possible in an academic environment. And the flying spaghetti monster alone might know which potentials this will have in the future. Simon's previous work to port our code to different plattforms released us from our Makefile hell and brought us a clean cmake based structure. As a result we can have debug-code and (ten times faster) release code concurrently and can now compile the whole code monster within 2 minutes (icecream cluster compilations thanks to Simon) instead of 20+ minutes.

While I'm often frustrated that I code my optimization algorithms not based on a clone of Ole Sigmuns's 99-line MATLAB code but in our FEM code where I sometimes need a week instead of an hour - then this are the things that make me prefer the C++ version, to code together with colleagues! (And I started recently to do more coding in Octave (a GNU MATLAB clone) anyway)

Monday, 4 August 2008

Two presentations I gave

In the last two weeks I gave 4 presentations. I'm happy it's over and I can concentrate on my work again. But I want to share them here.

From the first one (I gave in three variants) I cut my resent results. Such it is a more or less general introduction into the SIMP method. My piezoelectric stuff plays only a minor role. Actually it shall help people to understand about the ease and efficency of SIMP. The target audience are engineers with some FEM knowledge or mathematicians with no knowledge in optimization. For optimization experts it's too low level.

The presentation is not "self contained" but rather a keyword prompter for me. So don't expect to understand the issue only by the presentation.

SIMP presentation

The other talk was given for scholars. It was within the symposium Applied Mathematics in Science and Industry at "Students Day". So it is PDE within a page, FEM within a page, ... and almost no formula. It is in german and I should have added an animation.

Schuelervortrag

Meanwhile I'm really a fan of doing presentations with latex and the beamer stile. Maybe I write about my steps of generating nice pdf images from gnuplot another time.

First paper submitted

Finally my first paper is submitted! :)

I want to thank my co-authors (there are a lot of them) a lot for their help and patience (there are a lot of them). There is a preprint available:

Topology Optimization of Piezoelectric Layers Using the SIMP Method

To be honest, I'm not sure how to judge this paper. It contains no breathtaking new method but a detailed mathematical description of the model (thanks to both of the Kaltenbachers). I like the idea to follow the adjoint method approach in the weak formulation to answer the question of the boundary conditions for the adjoint equation. Clearly there might be other approaches but in the papers I read no word is spent about that issue.

From an engineering point of view, I think the result is quite interesting. It suggests practical designs for real world applications. And indeed, optimization helps to understand our models/ devices better. At least my colleagues who are really deep into the piezoelectric bussiness are interested. :)

This work took us about four month! Without it, I might be much further in the dynamic optimization - but on the other side writing your stuff down really helps. I found an important bug and it clarified some issues (e.g. excitation only via voltage =inhomogeneous Dirichlet boundary condition) instead of electric charges or other stuff.

And while most papers (especially the dutch ones) are really impressive - some others actually tell a lot of nonsense. Compared to them mine might really be worth to be published. :)

I cover only the static case in the paper. Since a couple of weeks I do harmonic optimization. In september I'll be at the OIPE 2008 in Ilmenau (the father of MP3 is a prof there). I have to write a paper and hopefully I have some interesting new (dynamic) results then.