7
$\begingroup$

I am interested in the adjoint method for shape optimization problems. However, I couldn't find a helpful introduction. So I come here and look forward to some enlightening advices.

Could you direct me to any textbooks, published papers or free online source course materials.

And to clearify several things: I am familiar with FEM, matrix computation, calculus of variation, etc.; I only want to learn the adjoint method for shape optimization in solid mechanics, specifically on continuous level.

Though the question does not perfectly fit this website, but it seems to be the best choice for a shot amongst stack-websites.

Greetings.

$\endgroup$
4
$\begingroup$

There is a nice chapter on adjoint based optimization in the book "The finite element method for engineers" by Kenneth Huebner. Unlike many other (mostly unhelpful) references that focus purely on theory, it shows the implementation (examples with all math worked out) but only for static solid mechanics problems.

For quasi-static problems I have no idea (maybe others here can provide pointers).

For dynamic (wave propagation) problems try the paper here.

| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ Hi stali, I just came back from library. The book has been checked. Unfortunately the adjoint method is on discrete level, what I am looking for is the explanation on continuous level. Still, thanks for your reply. Do you have any suggestions in the mentioned direction? $\endgroup$ – newbie Mar 15 '12 at 16:23
  • $\begingroup$ No unfortunately not. $\endgroup$ – stali Mar 17 '12 at 14:28
  • $\begingroup$ Keep in mind that you'll actually be optimizing a discretized version of your problem. An important practical problem in adjoint methods is that if you find the adjoint equation is that the results from solving your adjoint equation often don't correctly match the derivatives of the discretized version of the forward problem and result in poor convergence of the optimization method. Discrete adjoint methods avoid this issue. $\endgroup$ – Brian Borchers Feb 12 at 3:57
  • 1
    $\begingroup$ ^ This is an important consideration that should be kept in mind when discretizing the adjoint equation (even more so for second-order methods). The keywords here are gradient consistent or adjoint consistent discretizations. Note that this works both ways: discrete adjoints that do not correspond to a reasonable discretization of the continuous adjoint work for this discretization (level) and may behave poorly under refinement. $\endgroup$ – Christian Clason Feb 12 at 9:50
2
$\begingroup$

A short explanation of the underlying principle is given in slides 12 and 13 of my lecture http://www.mat.univie.ac.at/~neum/ms/slopeslides.pdf (It is in terms of an ODE and slopes, but the PDE case is easy to derive once the principle is understood, and the usual derivative case is obtained by specializing the slope to two equal arguments.)

| cite | improve this answer | |
$\endgroup$
0
$\begingroup$

You could try Gregoire Allaire's: Conception optimale de structures (https://www.springer.com/gp/book/9783540367109). Unfortunately, it's in French, but it contains a nice introduction to shape optimization. In particular, it starts by presenting aspects from optimal control, which is a good motivation for understanding the tools used in shape and topology optimization.

| cite | improve this answer | |
$\endgroup$
0
$\begingroup$

If you look up the thesis of Siva Nadarajah, he has an explanation of the continuous and discrete adjoints for aerodynamic shape optimization. Further information can be found in the thesis of Nick Burgess, and that of Steven Kast (who also has excellent notes on this topic on his website).

| cite | improve this answer | |
$\endgroup$
0
$\begingroup$

Steven Johnson’s note: http://math.mit.edu/~stevenj/18.336/adjoint.pdf is clear and concise.

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.