sensitivity analysis for nonlinear hyperbolic equationsfiorini.perso.math.cnrs.fr/semedp.pdf ·...
TRANSCRIPT
Sensitivity analysis for nonlinear hyperbolic equations
7/4/2016 - Séminaire EDP
Camilla Fiorini
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
General framework
Model: PDEs with i.c and b.c. depending on parameters
Sensitivity Analysis: the study of how variations in the output of a model
can be attributed to different sources of uncertainty in the model input.
parameters = model inputs state variable = model output
1
Possible applications: optimisation estimate of close solutions uncertainty propagation
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Sensitivity Analysis for PDEs
Continuous approach “differentiate then discretise”
Discrete approach “discretise then differentiate”
well-suited for realistic situations
no theoretical insight
must be repeated for new situations
differentiation of all numerical tricks required
difficult to deal with changing domains
non consistent with discrete evaluation of perturbed configuration
well-suited for a well-defined reduced set of equations
2
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
State equations
If A(u) is diagonalisable, the system is strictly hyperbolic.
A(u) =@f
@u
Let be the vector of the state variables.u(x, t) 2 Rn
(@
t
u+ @
x
f(u) = 0 x 2 R, t > 0
u(x, 0) = g(x) x 2 R
(@
t
u+A(u)@x
u = 0 x 2 R, t > 0
u(x, 0) = g(x) x 2 R
3
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Sensitivity equations
By a formal differentiation of the state equations, one obtains:
(@
t
u
p
+A(u)@x
u
p
+ @
p
(A(u))@x
u = 0 x 2 R, t > 0
u
p
(x, 0) = @
p
g(x) x 2 R
Let be the sensitivity with respect to the parameter p.@pu = up
(@
t
u
p
+ @
x
(A(u)up
) = 0 x 2 R, t > 0
u
p
(x, 0) = @
p
g(x) x 2 R
4
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Global system
U =
uup
�M(U) =
A(u) 0
@p(A(u)) A(u)
�
Generally speaking, the global system is weakly hyperbolic.
By defining
one can write:
(@
t
U+M(U)@x
U = 0 x 2 R, t > 0
U(x, 0) = G(x) x 2 R
5
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Weakly hyperbolic systems
Features of weakly hyperbolic systems: generation of Dirac’s distribution.
Example: Burger’s equation
If we consider the Riemann problem:
u(x, 0) =
(uL x < 0
uR x > 0
From another point of view: the sensitivity is the distributional derivative of the state.
6
with , in the sensitivityuL > uR
(@t
u+ u@x
u = 0
@t
up
+ u@x
(up
) + @x
(u)up
= 0
there’s a source term with as a coefficient @x
u
which generates a Dirac’s distribution.
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Weakly hyperbolic systems
AIM: remove the Dirac from the simulations
kup(x, t)� u
np,ik 9 0 h ! 0
7
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1x
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3 Density sensitivity wrt left pressure - shock tubeAnalytical solutionNumerical solution
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Numerical solution
Step 1: solution of the state with numerical methods for hyperbolic system
Step 2: solution of the sensitivity with a corrected numerical scheme
@t
u+A(u)@x
u = 0
@t
up
+ @p
(A(u))@x
u+A(u)@x
up
= 0
Suggested strategy
8
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Numerical solution
Finite Volumes schemes:
HLL Roe
simple implementation
neglect contact discontinuities
solves exactly the shock
non entropic
Step 1: solution of the state with numerical methods for hyperbolic system
@t
u+A(u)@x
u = 0
Suggested strategy
8
u
n+1j = u
nj +
�x
�t
(Fj+ 12� Fj� 1
2)
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Scheme correction
Rankine-Hugoniot conditions for the state:
f(uL)� f(uR) = (uL � uR)cs
Differentiation with respect to the parameter:
@p(f(uL)� f(uR)) = (up,L � up,R)cs + (uL � uR)@pcs
Difficulties:
estimate of
shock detection
@pcs
Suggested strategy
Step 2: solution of the sensitivity with a corrected numerical scheme
@t
up
+ @p
(A(u))@x
u+A(u)@x
up
= 0
9
Idea: apply the same scheme used for the state plus a correction.
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Burger’s equation
M(U) =
u 0ua u
�
State equation:
Sensitivity equation:
Matrix of the global system:
M is not diagonalisable
(@
t
u
p
+ u@
x
u
p
+ u
p
@
x
u = 0
u
p
(x, 0) = h(x)
(@
t
u+ u@
x
u = 0
u(x, 0) = g(x)
10
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Burger’s equation
It is possible to find an analytical solution using the method of characteristics
We look for a curve such that:xc(t)
0 =d
dt
u(xc(t), t) =@
@x
u(xc(t), t)dxc
dt
+@
@t
u(xc(t), t),
) dxc
dt
= u(xc(t), t), xc(0) = x0
Remark: u(xc(t), t) ⌘ u(xc(0), 0) = g(x0) 8t > 0
The characteristics are straight lines
11
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Burger’s equation
Problem: intersection of characteristics
xc,1(t) = x1 + g(x1)t xc,2(t) = x2 + g(x2)t
Breaking time: the smallest t such that xc,1(t) = xc,2(t)
ts := � 1
min g0(x)
if
if
g
0(x) > 0 8x
9x : g
0(x) < 0
no intersection, the method is valid
the method is valid 8t < ts
8t
12
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Burger’s equation
The state solution is known in an implicit form:
u(x, t) = g(x0 � u(x, t)t)
By differentiating it, we find an explicit form for the sensitivity:
up(x, t; p) =@
@x
g(x� u(x, t; p)t; p)(�up(x, t; p)t) +@
@p
g(x� u(x, t; p)t; p)
up(x, t) =h(x� u(x, t)t)
1 + tg
0(x� u(x, t)t)
13
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Burger’s equation
When the characteristics intersect, a shock is generated
Rankine-Hugoniot conditions:(
dx
dt
= f(uR)�f(uL)uR�uL
= uR+uL2
x(ts
) = x
s
The mathematical solution is not unique, but the physical one is.
14
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Burger’s equation
u
n+1j = u
nj � �t
�x
(f(unj )� f(un
j�1))
Roe’s scheme for the state:
Scheme for the sensitivity:
u
n+1aj = u
naj �
�t
�x
f(unj )� f(un
j�1)
u
nj � u
nj�1
(unaj � u
naj�1)
jj-1 j-½ j+½ … …
σ } Δt
15
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Burger’s equation
u
n+1j = u
nj � �t
�x
(f(unj )� f(un
j�1))
u
n+1aj = u
naj �
�t
�x
(unajf
0(unj )� u
naj�1f
0(unj�1)) +
�t
�x
�aj(unj � u
nj�1)
�aj(unj � un
j�1) = (unajf
0(unj )� un
aj�1f0(un
j�1))�f(un
j )� f(unj�1)
unj � un
j�1
(unaj � un
aj�1).
Roe’s scheme for the state:
Scheme for the sensitivity:
u
n+1aj = u
naj �
�t
�x
f(unj )� f(un
j�1)
u
nj � u
nj�1
(unaj � u
naj�1)
correction
15
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Numerical results
The Riemann problem
0 0.2 0.4 0.6 0.8 10
2
4
6
8
10
12
14t = 0.2205
NumericalAnalyticalNumerical wo corr
0 0.2 0.4 0.6 0.8 10
5
10
15
20
25t = 0.5
NumericalAnalyticalNumerical wo corr
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
t = 0.2205
NumericalAnalytical
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
t = 0.5
NumericalAnalytical
g(x) =
(uL x < xc
uR x > xc.
h(x) =
(1 x < xc
0 x > xc.
16
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Numerical results
The Riemann problem
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
t = 0.2205
NumericalAnalytical
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
t = 0.5
NumericalAnalytical
g(x) =
(uL x < xc
uR x > xc.
h(x) =
(1 x < xc
0 x > xc.
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
t = 0.2205
NumericalAnalytical
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
t = 0.5
NumericalAnalytical
16
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Numerical results
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
t
17
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Numerical results
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
t
18
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Numerical results
g(x) =
(A sin
2(
⇡L (x� xc) +
⇡2 ) x 2 (xc � L
2 , xc +L2 )
0 sinon.
without shock detection
0 0.2 0.4 0.6 0.8 1-6
-4
-2
0
2
4
6
8
10t = 0.085568
NumericalAnalyticalNumerical wo corr
0 0.2 0.4 0.6 0.8 1-10
0
10
20
30
40
50
60
70t = 0.17575
NumericalAnalyticalNumerical wo corr
ts ' 0.191 p = xc
19
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
t
Numerical results
20
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
t
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
0 0.2 0.4 0.6 0.8 1-4
-2
0
2
4
6
8
10t = 0.085568
NumericalAnalyticalNumerical wo corr
0 0.2 0.4 0.6 0.8 1-10
0
10
20
30
40
50
60
70t = 0.17575
NumericalAnalyticalNumerical wo corr
Numerical results
g(x) =
(A sin
2(
⇡L (x� xc) +
⇡2 ) x 2 (xc � L
2 , xc +L2 )
0 sinon.
ts ' 0.191 p = xc
with a simple shock detector: uj�1 > uj > uj+1
21
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
t
Numerical results
22
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
1D Euler system
@F(U)
@U= M(U) =
A 0B A
�
U =
2
6666664
⇢⇢uEs⇢s⇢usE
3
7777775F(U) =
2
6666664
⇢u⇢u2 + pu(E + p)
s⇢us⇢u2 + 2⇢usu + sp
su(E + p) + u(sE + sp)
3
7777775
23
The matrix M(U) is not diagonalisable.
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
1D Euler system
Riemann problem - analytical solution
24
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
1D Euler system
Riemann problem - analytical solution
25
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
1D Euler system
Riemann problem - shock detection
26
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
1D Euler system
Riemann problem - shock detection
26
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
1D Euler system
Shock tube
Velocity sensitivity Density sensitivity Pressure sensitivity
27
Camilla Fiorini Sensitivity analysis for hyperbolic equations / 28Séminaire EDP
Future developments
Develop better shock detection techniques
Implement Roe (or a more accurate scheme) for systems and compare with other approximate Riemann solvers
Sensitivity analysis for Euler 2D/3D equations
28
Thank you for your attention