- lack of time
- I don't think one reads actually what I write :(
- I wanted to show pictures next :)
I did the force inverter, which is a optimization for selected
solution variables (e.g. max
(I call the objective "output") already in Denmark the last
summer in Matlab and shortly later in C++ in our own academic
FEM solver.
This requires the solution of the adjoint pde, technically
one only solves for another right hand side (l).
To optimize for the solution variable is a really interesting
objective, but the
optimization becomes quite challenging (in mechanics):
- IPOPT can't do it (at least the simple example I show)
- With SCPIP I had quite some problems but finally I found out
with the help of SCPIP's author, Christian Zillober, that
it was my fault. I compiled SCPIP with -O2 (g77) what was fine for
compliance but led to wrong results here. - As mentioned in the book by Bendsoe and Sigmund, one can adopt the optimality condition
method. It is not that easy but works ok in an ugly way
(implementation and performance) but doing it nicer cost me
already too much time w/o good results. In the end I much prefer
SCPIP
So finally: Here is the force inverter, the standard example we
did in Denmark within a very nice lecture by Ole Sigmund: We press
on the left and want the point on the right to move against the
input force direction. There is a small spring added the the output
node for regularization.
And the movie