libadjoint: a new abstraction for developing adjoint models
S.W. Funke, P.E. Farrell and D.A. Ham
Imperial College London
June 6, 2012
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 1 / 25
libadjoint: a new abstraction for developing adjoint models S.W. - - PowerPoint PPT Presentation
libadjoint: a new abstraction for developing adjoint models S.W. Funke, P.E. Farrell and D.A. Ham Imperial College London June 6, 2012 S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 1 / 25 Outline
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 1 / 25
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 2 / 25
Introduction to adjoints
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 3 / 25
Introduction to adjoints
1Divett et al. Optimisation of multiple turbine arrays in a channel, 2011. S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 4 / 25
Introduction to adjoints
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 5 / 25
Introduction to adjoints
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 5 / 25
Introduction to adjoints
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 5 / 25
Introduction to adjoints
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 6 / 25
Applications
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 7 / 25
Applications
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 8 / 25
Applications
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 9 / 25
Applications
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 10 / 25
Options to adjoin a model
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 11 / 25
Options to adjoin a model
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 12 / 25
Options to adjoin a model
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 13 / 25
Options to adjoin a model
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 14 / 25
Options to adjoin a model
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 15 / 25
Introduction to libadjoint
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 16 / 25
Introduction to libadjoint
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 17 / 25
Introduction to libadjoint
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 17 / 25
Introduction to libadjoint
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 18 / 25
Introduction to libadjoint
I T (u0) M T (u1) M T (u2) M
u0 u1 u2 u3
u
= uinit
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 19 / 25
Introduction to libadjoint
I T (u0) M T (u1) M T (u2) M
u0 u1 u2 u3
u
= uinit
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 19 / 25
Introduction to libadjoint
I T (u0) M T (u1) M T (u2) M
u0 u1 u2 u3
u
= uinit
I∗
∂u0
u0 ∗ M∗
∂u1
u1 ∗ M∗
∂u2
u2 ∗ M∗ λ0 λ1 λ2 λ3 = ∂J ∂u
∗
. S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 19 / 25
Introduction to libadjoint
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 20 / 25
Introduction to libadjoint
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 21 / 25
Introduction to libadjoint
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 22 / 25
Introduction to libadjoint
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 23 / 25
Introduction to libadjoint
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 24 / 25
Summary
S.W. Funke (Imperial) A library for developing discrete adjoints June 6, 2012 25 / 25