243
Solving chaotic differential equations using an adaptative algorithm Master Thesis Lionel Walter Prof. Alfio Quarteroni Dr. Erik Burman Dr. Paolo Zunino Private Defense / January 27th 2005 1 / 65

Solving chaotic differential equations using an - Infoscience

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Solving chaotic differential equations using an - Infoscience

Solving chaotic differential equations using anadaptative algorithm

Master Thesis

Lionel Walter

Prof. Alfio QuarteroniDr. Erik BurmanDr. Paolo Zunino

Private Defense / January 27th 2005

1 / 65

Page 2: Solving chaotic differential equations using an - Infoscience

Outline

1 Main NotionsThe Cauchy ProblemThe ChaosThe Ideas to Solve ItCentral Theorem

2 Algorithm validation and improvementOur algorithmComparison AlgorithmTest CasesImprovementsResults

3 Application to PDEBurgers EquationKuramoto-Sivashinsky Equation

Outline 2 / 65

Page 3: Solving chaotic differential equations using an - Infoscience

Outline

1 Main NotionsThe Cauchy ProblemThe ChaosThe Ideas to Solve ItCentral Theorem

2 Algorithm validation and improvementOur algorithmComparison AlgorithmTest CasesImprovementsResults

3 Application to PDEBurgers EquationKuramoto-Sivashinsky Equation

Outline 2 / 65

Page 4: Solving chaotic differential equations using an - Infoscience

Outline

1 Main NotionsThe Cauchy ProblemThe ChaosThe Ideas to Solve ItCentral Theorem

2 Algorithm validation and improvementOur algorithmComparison AlgorithmTest CasesImprovementsResults

3 Application to PDEBurgers EquationKuramoto-Sivashinsky Equation

Outline 2 / 65

Page 5: Solving chaotic differential equations using an - Infoscience

The Cauchy Problem

Find a function X : R → Rd such that{X ′(t) = a(t ,X (t)) ∀t ∈ [0 T ]X (0) = X0

a(·, ·) and X0 are given.

Finding the exact X is usually impossible. We approximate X by X andour goal is to minimize

g(X (T ))− g(X (T ))

where g : Rd → R is a given function, called the goal function.

Main Notions The Cauchy Problem 3 / 65

Page 6: Solving chaotic differential equations using an - Infoscience

The Cauchy Problem

Find a function X : R → Rd such that{X ′(t) = a(t ,X (t)) ∀t ∈ [0 T ]X (0) = X0

a(·, ·) and X0 are given.

Finding the exact X is usually impossible. We approximate X by X andour goal is to minimize

g(X (T ))− g(X (T ))

where g : Rd → R is a given function, called the goal function.

Main Notions The Cauchy Problem 3 / 65

Page 7: Solving chaotic differential equations using an - Infoscience

The Cauchy Problem

Find a function X : R → Rd such that{X ′(t) = a(t ,X (t)) ∀t ∈ [0 T ]X (0) = X0

a(·, ·) and X0 are given.

Finding the exact X is usually impossible. We approximate X by X andour goal is to minimize

g(X (T ))− g(X (T ))

where g : Rd → R is a given function, called the goal function.

Main Notions The Cauchy Problem 3 / 65

Page 8: Solving chaotic differential equations using an - Infoscience

Goal over the entire time interval

Assume we want to have a goal function of the following form :

h(X (T )) +

∫ T

0k(t ,X (t))dt

for given functions h : Rd → R et k : R× Rd → R.If we modify the Cauchy problem as follows

X ′(t) = a(t ,X (t)) ∀t ∈ [0 T ]X (0) = X0

y ′(t) = k(t , y(t))y(0) = 0

then we can define the goal g(X (T )) = h(X (T )) + y(T ) and we get thewanted goal.

Main Notions The Cauchy Problem 4 / 65

Page 9: Solving chaotic differential equations using an - Infoscience

Goal over the entire time interval

Assume we want to have a goal function of the following form :

h(X (T )) +

∫ T

0k(t ,X (t))dt

for given functions h : Rd → R et k : R× Rd → R.If we modify the Cauchy problem as follows

X ′(t) = a(t ,X (t)) ∀t ∈ [0 T ]X (0) = X0

y ′(t) = k(t , y(t))y(0) = 0

then we can define the goal g(X (T )) = h(X (T )) + y(T ) and we get thewanted goal.

Main Notions The Cauchy Problem 4 / 65

Page 10: Solving chaotic differential equations using an - Infoscience

What is Chaos ?

Chaos is used to indicate behavior of solutions to dynamical systemsthat is highly irregular and usually unexpected.

Lorenz applet.

Main Notions The Chaos 5 / 65

Page 11: Solving chaotic differential equations using an - Infoscience

What is Chaos ?

Chaos is used to indicate behavior of solutions to dynamical systemsthat is highly irregular and usually unexpected.

Lorenz applet.

0 20 40 60 80 100−20

0

20

t

This intuitive notion is present in religion, philosophy, politics, physics. . .

Main Notions The Chaos 5 / 65

Page 12: Solving chaotic differential equations using an - Infoscience

And in Mathematics ?

It’s rather an idea than a precise mathematical concept. But EdwardOtt gives a mathematical definition of Chaos. He says that if thedifference between the solution of an ODE and the solution of thesame ODE slightly modified grows exponentially with time then thesystem is said to be chaotic.{

X ′(t) = a(t ,X (t)) ∀t ∈ [0 T ]X (0) = X0

{Y ′(t) = a(t ,Y (t)) ∀t ∈ [0 T ]Y (0) = X0 + δ0

If

limδ0→0

‖Y (t)− X (t)‖δ0

≈ eDt

for a constant D > 0, then the system is said to be chaotic.

Main Notions The Chaos 6 / 65

Page 13: Solving chaotic differential equations using an - Infoscience

Example

0 10 20 30−20

−10

0

10

20

X(t)

t

X(0)=1X(0)=1.005

Main Notions The Chaos 7 / 65

Page 14: Solving chaotic differential equations using an - Infoscience

Meteorological Example

Monday Morning, 10 degrees. What will be the temperature onFriday Morning ?

We have all the laws of meteorology at hand.

We have 4 methods at our disposal to compute the temperature ofthe following day.

1 2 3 4

speed

precision

We want to have Friday’s temperature with a precision of 1 degreein the least amount of time

Main Notions The Ideas to Solve It 8 / 65

Page 15: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 9 / 65

Page 16: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 9 / 65

Page 17: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 9 / 65

Page 18: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 9 / 65

Page 19: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 9 / 65

Page 20: Solving chaotic differential equations using an - Infoscience

Chaotic problems : Thunderstorm

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees thunderstorm

bigsmall

Main Notions The Ideas to Solve It 10 / 65

Page 21: Solving chaotic differential equations using an - Infoscience

Chaotic problems : Anticyclone

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

Anticyclone

big small

Main Notions The Ideas to Solve It 11 / 65

Page 22: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 12 / 65

Page 23: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 12 / 65

Page 24: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 12 / 65

Page 25: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 12 / 65

Page 26: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 12 / 65

Page 27: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 12 / 65

Page 28: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 12 / 65

Page 29: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Main Notions The Ideas to Solve It 12 / 65

Page 30: Solving chaotic differential equations using an - Infoscience

Analysis of Strategy B

Advantage

Strategy B deals withThunderstorms andAnticyclones.

Drawbacks

Strategy B is muchslower than strategy A

Strategy B could givewrong results

Main Notions The Ideas to Solve It 13 / 65

Page 31: Solving chaotic differential equations using an - Infoscience

Analysis of Strategy B

Advantage

Strategy B deals withThunderstorms andAnticyclones.

Drawbacks

Strategy B is muchslower than strategy A

Strategy B could givewrong results

Main Notions The Ideas to Solve It 13 / 65

Page 32: Solving chaotic differential equations using an - Infoscience

Analysis of Strategy B

Advantage

Strategy B deals withThunderstorms andAnticyclones.

Drawbacks

Strategy B is muchslower than strategy A

Strategy B could givewrong results

Main Notions The Ideas to Solve It 13 / 65

Page 33: Solving chaotic differential equations using an - Infoscience

Analysis of Strategy B

Advantage

Strategy B deals withThunderstorms andAnticyclones.

Drawbacks

Strategy B is muchslower than strategy A

Strategy B could givewrong results

SolutionThe central theorem says that the strategy B can becomputed with the same amount of time as Strategy A

Main Notions The Ideas to Solve It 13 / 65

Page 34: Solving chaotic differential equations using an - Infoscience

Analysis of Strategy B

Advantage

Strategy B deals withThunderstorms andAnticyclones.

Drawbacks

Strategy B is muchslower than strategy A

Strategy B could givewrong results

True Solution

Last step :

Main Notions The Ideas to Solve It 13 / 65

Page 35: Solving chaotic differential equations using an - Infoscience

Analysis of Strategy B

Advantage

Strategy B deals withThunderstorms andAnticyclones.

Drawbacks

Strategy B is muchslower than strategy A

Strategy B could givewrong results

SolutionCombine Strategy A and Strategy B !

Main Notions The Ideas to Solve It 13 / 65

Page 36: Solving chaotic differential equations using an - Infoscience

Conclusion

Combining strategy A and B and using the central theorem, we cannow estimate temperature precisely, coping with thunderstorms andanticyclones. The time we need will be at most twice the time ofstrategy A only.

Main Notions The Ideas to Solve It 14 / 65

Page 37: Solving chaotic differential equations using an - Infoscience

u and ψ

Definition (u)u(s,Y ) ∈ R is the value of g(X (T )) if we replace the initial conditionX (0) = X0 by X (s) = Y .

ts

Y

T

X(t) u(s,Y)

u if g(x) = x

Main Notions Central Theorem 15 / 65

Page 38: Solving chaotic differential equations using an - Infoscience

u and ψ

Definition (u)u(s,Y ) ∈ R is the value of g(X (T )) if we replace the initial conditionX (0) = X0 by X (s) = Y .

Definition (ψ)

Let X be the true solution of the Cauchy problem. Let W ∈ Rd .ψ : R → Rd measures the sensitivity of the goal function g around thetrue solution :(

ψ(s),W)

= limδ→0

u(s,X (s) + δW )− u(s,X (s))

δ

ψ is the gradient of u with respect to the second variable.

Main Notions Central Theorem 15 / 65

Page 39: Solving chaotic differential equations using an - Infoscience

Local Error

��

��

������

������

��

t

X(t), true solution

t1 t2 t3 t4=T

e(t2)

e(t4)X(t1)

Main Notions Central Theorem 16 / 65

Page 40: Solving chaotic differential equations using an - Infoscience

Local Error of an approximation

Definition (Local Solution)

Assume we approximate the true solution X (t) by X (t) on a grid0 = t0 < t1 < . . . < tN = T . X (t) is defined as follows, for tn < t ≤ tn+1 :{

X ′(t) = a(t , X (t)) ∀t ∈ (tn, tn+1]

X (tn) = X (tn)

Definition (Local Error)

e(tn) = X (tn)− X (tn).

Main Notions Central Theorem 17 / 65

Page 41: Solving chaotic differential equations using an - Infoscience

Local Error of an approximation

Definition (Local Solution)

Assume we approximate the true solution X (t) by X (t) on a grid0 = t0 < t1 < . . . < tN = T . X (t) is defined as follows, for tn < t ≤ tn+1 :{

X ′(t) = a(t , X (t)) ∀t ∈ (tn, tn+1]

X (tn) = X (tn)

Definition (Local Error)

e(tn) = X (tn)− X (tn).

Main Notions Central Theorem 17 / 65

Page 42: Solving chaotic differential equations using an - Infoscience

Central Theorem (intuitive)

TheoremAssume that the Cauchy problem has a unique solution for all possibleX0. Assume that a(t , x) is differentiable in x for all t in [0 T ]. For alldifferential functions g, the global error is a weighted sum of the localerrors :

g(X (T ))− g(X (T )) =N∑

n=1

(e(tn), ψ(tn)

)and ψ satisfies −dψ(s)

ds= (a′)∗(s,X (s)) ψ(s)

ψ(T ) = ∇g(X (T ))

The above problem is called the dual problem of the Cauchy problem.

Main Notions Central Theorem 18 / 65

Page 43: Solving chaotic differential equations using an - Infoscience

Central Theorem (intuitive)

TheoremAssume that the Cauchy problem has a unique solution for all possibleX0. Assume that a(t , x) is differentiable in x for all t in [0 T ]. For alldifferential functions g, the global error is a weighted sum of the localerrors :

g(X (T ))− g(X (T )) =N∑

n=1

(e(tn), ψ(tn)

)and ψ satisfies −dψ(s)

ds= (a′)∗(s,X (s)) ψ(s)

ψ(T ) = ∇g(X (T ))

The above problem is called the dual problem of the Cauchy problem.

Main Notions Central Theorem 18 / 65

Page 44: Solving chaotic differential equations using an - Infoscience

Central Theorem (intuitive)

TheoremAssume that the Cauchy problem has a unique solution for all possibleX0. Assume that a(t , x) is differentiable in x for all t in [0 T ]. For alldifferential functions g, the global error is a weighted sum of the localerrors :

g(X (T ))− g(X (T )) =N∑

n=1

(e(tn), ψ(tn)

)and ψ satisfies −dψ(s)

ds= (a′)∗(s,X (s)) ψ(s)

ψ(T ) = ∇g(X (T ))

The above problem is called the dual problem of the Cauchy problem.

Main Notions Central Theorem 18 / 65

Page 45: Solving chaotic differential equations using an - Infoscience

Central Theorem (exact form)

TheoremAssume that the Cauchy problem has a unique solution for all possibleX0. Assume that a(t , x) is differentiable in x for all t in [0 T ]. For alldifferential functions g, the global error is a weighted sum of the localerrors :

g(X (T ))− g(X (T )) =N∑

n=1

(e(tn),

∫ 1

0ψ(tn, X (tn) + se(tn))ds

)and ψ satisfies −dψ(s,X (s))

ds= (a′)∗(s,X (s)) ψ(s,X (s))

ψ(T ,X (T )) = ∇g(X (T ))

The above problem is called the dual problem of the Cauchy problem.

Main Notions Central Theorem 18 / 65

Page 46: Solving chaotic differential equations using an - Infoscience

X and ψ, its dual

Primal {X ′(t) = a(t ,X (t)) ∀t ∈ [0 T ]X (0) = X0

Dual {−ψ′(s) = (a′)∗(s,X (s)) ψ(s) ∀s ∈ [0 T ]ψ(T ) = ∇g(X (T ))

Main Notions Central Theorem 19 / 65

Page 47: Solving chaotic differential equations using an - Infoscience

Approximation of e(tn)

To approximate e(tn) = X (tn)− X (tn), we use another approximationX (tn) and we do Richardson extrapolation based on the differentorders of the estimation X (tn) and X (tn).

e(tn) = γ(X (tn)− X (tn))

Main Notions Central Theorem 20 / 65

Page 48: Solving chaotic differential equations using an - Infoscience

Approximation of ψ(tn)

We replace the system −dψ(s)

ds= (a′)∗(s,X (s)) ψ(s)

ψ(T ) = ∇g(X (T ))

by the system −dψ(s)

ds= (a′)∗(s, X (s)) ψ(s)

ψ(T ) = ∇g(X (T ))

So, we can find ψ.

Main Notions Central Theorem 21 / 65

Page 49: Solving chaotic differential equations using an - Infoscience

The algorithm

From the estimation of the global error

g(X (T ))− g(X (T )) ≈N∑

n=1

(e(tn), ψ(tn)

)︸ ︷︷ ︸

rn

we will construct an adaptative algorithm to solve chaotic ordinarydifferential equations. The idea is to refine the mesh at the placeswhere rn is big.

Algorithm validation and improvement Our algorithm 22 / 65

Page 50: Solving chaotic differential equations using an - Infoscience

The algorithm

Inputs

TOL, the tolerance we want on g(X (T ))− g(X (T )).

A one-step numerical method M to approximate ODE (Eulerprogressive, Runge-Kutta, . . . ).

N0 the initial number of time steps.

a(·, ·) the given function of the Cauchy Problem.

g(·) the goal function.

T the final time.

X0 the initial condition.

OutputsT , the mesh the algorithm use to find the approximation.

X the approximation of X on the mesh T that satisfiesg(X (T ))− g(X (T )) < TOL

Algorithm validation and improvement Our algorithm 23 / 65

Page 51: Solving chaotic differential equations using an - Infoscience

The algorithm

Inputs

TOL, the tolerance we want on g(X (T ))− g(X (T )).

A one-step numerical method M to approximate ODE (Eulerprogressive, Runge-Kutta, . . . ).

N0 the initial number of time steps.

a(·, ·) the given function of the Cauchy Problem.

g(·) the goal function.

T the final time.

X0 the initial condition.

OutputsT , the mesh the algorithm use to find the approximation.

X the approximation of X on the mesh T that satisfiesg(X (T ))− g(X (T )) < TOL

Algorithm validation and improvement Our algorithm 23 / 65

Page 52: Solving chaotic differential equations using an - Infoscience

The algorithm

Inputs

TOL, the tolerance we want on g(X (T ))− g(X (T )).

A one-step numerical method M to approximate ODE (Eulerprogressive, Runge-Kutta, . . . ).

N0 the initial number of time steps.

a(·, ·) the given function of the Cauchy Problem.

g(·) the goal function.

T the final time.

X0 the initial condition.

OutputsT , the mesh the algorithm use to find the approximation.

X the approximation of X on the mesh T that satisfiesg(X (T ))− g(X (T )) < TOL

Algorithm validation and improvement Our algorithm 23 / 65

Page 53: Solving chaotic differential equations using an - Infoscience

The algorithm

Inputs

TOL, the tolerance we want on g(X (T ))− g(X (T )).

A one-step numerical method M to approximate ODE (Eulerprogressive, Runge-Kutta, . . . ).

N0 the initial number of time steps.

a(·, ·) the given function of the Cauchy Problem.

g(·) the goal function.

T the final time.

X0 the initial condition.

OutputsT , the mesh the algorithm use to find the approximation.

X the approximation of X on the mesh T that satisfiesg(X (T ))− g(X (T )) < TOL

Algorithm validation and improvement Our algorithm 23 / 65

Page 54: Solving chaotic differential equations using an - Infoscience

The algorithm

Inputs

TOL, the tolerance we want on g(X (T ))− g(X (T )).

A one-step numerical method M to approximate ODE (Eulerprogressive, Runge-Kutta, . . . ).

N0 the initial number of time steps.

a(·, ·) the given function of the Cauchy Problem.

g(·) the goal function.

T the final time.

X0 the initial condition.

OutputsT , the mesh the algorithm use to find the approximation.

X the approximation of X on the mesh T that satisfiesg(X (T ))− g(X (T )) < TOL

Algorithm validation and improvement Our algorithm 23 / 65

Page 55: Solving chaotic differential equations using an - Infoscience

The algorithm

1 T a uniform grid of N0 timesteps.

2 Compute X on the mesh T using the numerical method M.

3 Compute X on a different mesh using M.4 Use extrapolation to compute the approximation of the local error

e = γ(X − X ).5 Compute the weights ψ on the mesh T using M.6 Compute the residuals ri = (ei , ψi)

7 Compute the estimation of the error E =∑

i ri . If E < TOL stop.8 Refine the mesh where ri is big.9 Go back to 2.

We call this algorithm mstz .

Algorithm validation and improvement Our algorithm 24 / 65

Page 56: Solving chaotic differential equations using an - Infoscience

The algorithm

1 T a uniform grid of N0 timesteps.

2 Compute X on the mesh T using the numerical method M.

3 Compute X on a different mesh using M.4 Use extrapolation to compute the approximation of the local error

e = γ(X − X ).5 Compute the weights ψ on the mesh T using M.6 Compute the residuals ri = (ei , ψi)

7 Compute the estimation of the error E =∑

i ri . If E < TOL stop.8 Refine the mesh where ri is big.9 Go back to 2.

We call this algorithm mstz .

Algorithm validation and improvement Our algorithm 24 / 65

Page 57: Solving chaotic differential equations using an - Infoscience

The algorithm

1 T a uniform grid of N0 timesteps.

2 Compute X on the mesh T using the numerical method M.

3 Compute X on a different mesh using M.4 Use extrapolation to compute the approximation of the local error

e = γ(X − X ).5 Compute the weights ψ on the mesh T using M.6 Compute the residuals ri = (ei , ψi)

7 Compute the estimation of the error E =∑

i ri . If E < TOL stop.8 Refine the mesh where ri is big.9 Go back to 2.

We call this algorithm mstz .

Algorithm validation and improvement Our algorithm 24 / 65

Page 58: Solving chaotic differential equations using an - Infoscience

The algorithm

1 T a uniform grid of N0 timesteps.

2 Compute X on the mesh T using the numerical method M.

3 Compute X on a different mesh using M.4 Use extrapolation to compute the approximation of the local error

e = γ(X − X ).5 Compute the weights ψ on the mesh T using M.6 Compute the residuals ri = (ei , ψi)

7 Compute the estimation of the error E =∑

i ri . If E < TOL stop.8 Refine the mesh where ri is big.9 Go back to 2.

We call this algorithm mstz .

Algorithm validation and improvement Our algorithm 24 / 65

Page 59: Solving chaotic differential equations using an - Infoscience

The algorithm

1 T a uniform grid of N0 timesteps.

2 Compute X on the mesh T using the numerical method M.

3 Compute X on a different mesh using M.4 Use extrapolation to compute the approximation of the local error

e = γ(X − X ).5 Compute the weights ψ on the mesh T using M.6 Compute the residuals ri = (ei , ψi)

7 Compute the estimation of the error E =∑

i ri . If E < TOL stop.8 Refine the mesh where ri is big.9 Go back to 2.

We call this algorithm mstz .

Algorithm validation and improvement Our algorithm 24 / 65

Page 60: Solving chaotic differential equations using an - Infoscience

The algorithm

1 T a uniform grid of N0 timesteps.

2 Compute X on the mesh T using the numerical method M.

3 Compute X on a different mesh using M.4 Use extrapolation to compute the approximation of the local error

e = γ(X − X ).5 Compute the weights ψ on the mesh T using M.6 Compute the residuals ri = (ei , ψi)

7 Compute the estimation of the error E =∑

i ri . If E < TOL stop.8 Refine the mesh where ri is big.9 Go back to 2.

We call this algorithm mstz .

Algorithm validation and improvement Our algorithm 24 / 65

Page 61: Solving chaotic differential equations using an - Infoscience

The algorithm

1 T a uniform grid of N0 timesteps.

2 Compute X on the mesh T using the numerical method M.

3 Compute X on a different mesh using M.4 Use extrapolation to compute the approximation of the local error

e = γ(X − X ).5 Compute the weights ψ on the mesh T using M.6 Compute the residuals ri = (ei , ψi)

7 Compute the estimation of the error E =∑

i ri . If E < TOL stop.8 Refine the mesh where ri is big.9 Go back to 2.

We call this algorithm mstz .

Algorithm validation and improvement Our algorithm 24 / 65

Page 62: Solving chaotic differential equations using an - Infoscience

The algorithm

1 T a uniform grid of N0 timesteps.

2 Compute X on the mesh T using the numerical method M.

3 Compute X on a different mesh using M.4 Use extrapolation to compute the approximation of the local error

e = γ(X − X ).5 Compute the weights ψ on the mesh T using M.6 Compute the residuals ri = (ei , ψi)

7 Compute the estimation of the error E =∑

i ri . If E < TOL stop.8 Refine the mesh where ri is big.9 Go back to 2.

We call this algorithm mstz .

Algorithm validation and improvement Our algorithm 24 / 65

Page 63: Solving chaotic differential equations using an - Infoscience

The algorithm

1 T a uniform grid of N0 timesteps.

2 Compute X on the mesh T using the numerical method M.

3 Compute X on a different mesh using M.4 Use extrapolation to compute the approximation of the local error

e = γ(X − X ).5 Compute the weights ψ on the mesh T using M.6 Compute the residuals ri = (ei , ψi)

7 Compute the estimation of the error E =∑

i ri . If E < TOL stop.8 Refine the mesh where ri is big.9 Go back to 2.

We call this algorithm mstz .

Algorithm validation and improvement Our algorithm 24 / 65

Page 64: Solving chaotic differential equations using an - Infoscience

Adaptive Runge-Kutta

One of the most used method for solving ODE. Based on theDormand-Prince pair. Use a pair of Runge-Kutta methods of order4 and 5 to estimate the local error.

A typical example of the strategy A.

Implemented in MATLAB under the name ode45 .

Need to give to the solver the tolerance ε we want on the localerror.

As there is no estimation of the global error with ode45 , we decided togive to the solver the exact solution X (T ) and we decrease ε until wehave g(X (T ))− g(X (T )).

Algorithm validation and improvement Comparison Algorithm 25 / 65

Page 65: Solving chaotic differential equations using an - Infoscience

Adaptive Runge-Kutta and global error

1 Set the tolerance on the local error ε =TOLN0

.

2 Compute X using ode45 .3 Compute

E = g(X (T ))− g(X (T ))

If E < TOL, stop. Else set ε = ε/10 and go back to 2

We call this algorithm RK45.

Algorithm validation and improvement Comparison Algorithm 26 / 65

Page 66: Solving chaotic differential equations using an - Infoscience

Adaptive Runge-Kutta and global error

1 Set the tolerance on the local error ε =TOLN0

.

2 Compute X using ode45 .3 Compute

E = g(X (T ))− g(X (T ))

If E < TOL, stop. Else set ε = ε/10 and go back to 2

We call this algorithm RK45.

Algorithm validation and improvement Comparison Algorithm 26 / 65

Page 67: Solving chaotic differential equations using an - Infoscience

Adaptive Runge-Kutta and global error

1 Set the tolerance on the local error ε =TOLN0

.

2 Compute X using ode45 .3 Compute

E = g(X (T ))− g(X (T ))

If E < TOL, stop. Else set ε = ε/10 and go back to 2

We call this algorithm RK45.

Algorithm validation and improvement Comparison Algorithm 26 / 65

Page 68: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 27 / 65

Page 69: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 27 / 65

Page 70: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 27 / 65

Page 71: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 27 / 65

Page 72: Solving chaotic differential equations using an - Infoscience

Strategy A

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 27 / 65

Page 73: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 28 / 65

Page 74: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 28 / 65

Page 75: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 28 / 65

Page 76: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 28 / 65

Page 77: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 28 / 65

Page 78: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 28 / 65

Page 79: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 28 / 65

Page 80: Solving chaotic differential equations using an - Infoscience

A better strategy : Strategy B

wed

nes.

tues

day

mon

day

frid

ay

thur

sday

degrees

1

3

4

2

Algorithm validation and improvement Comparison Algorithm 28 / 65

Page 81: Solving chaotic differential equations using an - Infoscience

Test Cases

We will have 6 test cases :

The Exponential

A non-linear problem with blow-up

A stiff problem

A problem with a discontinuity in the derivative

A model of the transition to the turbulence

The Lorenz problem

The last 2 problems are chaotic. For the numerical method we use aRunge-Kutta method of order 5. The coefficients are taken from theDormand-Prince pair.

Algorithm validation and improvement Test Cases 29 / 65

Page 82: Solving chaotic differential equations using an - Infoscience

The Exponential

(a)

X ′(t) = X (t) ∀t ∈ [0 3]X (0) = 1g(x) = xTOL = 10−8

N0 = 5

solution : X (t) = et

0 1 2 30

10

20

30X(t)

t0 1 2 3

0

10

20

30ψ(t)

t0 1 2 3

−1.5

−1

−0.5

0x 10−11 e(t)

t0 1 2 3

0.0375

0.0375

0.0375

0.0375

t

taille des pas de temps

Algorithm validation and improvement Test Cases 30 / 65

Page 83: Solving chaotic differential equations using an - Infoscience

Non-linear with blow-up

(b)

X ′(t) = 2(t + 1)X 2(t) ∀t ∈ [0 0.4]X (0) = 1g(x) = x2

TOL = 0.1N0 = 5

solution : X (t) =−1

t2 + 2t − 1

0 0.2 0.40

10

20

30X(t)

t0 0.2 0.4

0

1

2

3

4x 104 ψ(t)

t0 0.2 0.4

−4

−2

0

2x 10−4 e(t)

t0 0.2 0.4

0.01

0.02

0.03

0.04

0.05

t

taille des pas de temps

Algorithm validation and improvement Test Cases 31 / 65

Page 84: Solving chaotic differential equations using an - Infoscience

Stiff problem

(c)

X ′(t) = t(1− X (t)) + (1− t)e−t ∀t ∈ [0 10]X (0) = 1g(x) = xTOL = 10−8

N0 = 5

solution : X (t) = e−t2/2 − e−t + 1.

0 5 100.9

1

1.1

1.2

1.3X(t)

t0 5 10

0

0.5

1ψ(t)

t0 5 10

−1

−0.5

0

0.5

1x 10−6 e(t)

t0 5 10

0.1

0.15

0.2

0.25

t

taille des pas de temps

Algorithm validation and improvement Test Cases 32 / 65

Page 85: Solving chaotic differential equations using an - Infoscience

Singularity

(d)

X ′(t) =X (t)√

t − 5/3 + π10−8∀t ∈ [0 10]

X (0) = e−2√

53−π10−8

g(x) = xTOL = 0.1N0 = 5

sol. : X (t) = exp(2 · sign(t − 5/3 + π10−8) ·√|t − 5/3 + π10−8|)

0 2 40

10

20

30X(t)

t0 2 4

0

100

200

300ψ(t)

t0 2 4

−2

0

2

4

6x 10−3 e(t)

t0 2 4

0

0.5

1

t

taille des pas de temps

Algorithm validation and improvement Test Cases 33 / 65

Page 86: Solving chaotic differential equations using an - Infoscience

Transition to turbulence

(t)

X ′(t) =

(−R−1 1

0 −R−1

)X (t) + ||X (t)||

(0 −11 0

)X (t)

X (0) =δ√2(1,1) δ > 0

g(X ) = x1 (the first component)TOL = 10−6

N0 = 500

0 50010−10

10−5

100

105||X(t)||

t0 500

10−5

100

105||ψ(t)||

t0 500

10−20

10−15

10−10

10−5||e(t)||

t0 500

0

0.5

1

t

taille des pas de temps

Algorithm validation and improvement Test Cases 34 / 65

Page 87: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6 X t=20

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 88: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6 X t=40

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 89: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6 X t=60

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 90: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6 X t=80

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 91: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=100

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 92: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=120

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 93: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=140

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 94: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=160

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 95: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=180

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 96: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=200

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 97: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=220

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 98: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=240

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 99: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=260

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 100: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=280

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 101: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=300

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 102: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=320

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 103: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=340

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 104: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=360

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 105: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=380

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 106: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=400

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 107: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=420

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 108: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=440

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 109: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=460

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 110: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=480

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 111: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.4

2 4 6

x 10−4

5

10

15

x 10−6X t=500

0 0.5 10

0.2

0.4

0.6

0.8

ψ

Algorithm validation and improvement Test Cases 35 / 65

Page 112: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=10

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 113: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=20

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 114: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=30

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 115: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=40

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 116: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=50

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 117: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=60

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 118: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=70

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 119: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=80

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 120: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=90

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 121: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=100

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 122: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=110

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 123: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=120

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 124: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=130

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 125: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=140

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 126: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=150

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 127: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=160

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 128: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=170

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 129: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=180

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 130: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=190

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 131: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=200

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 132: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=210

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 133: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=220

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 134: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=230

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 135: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=240

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 136: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=250

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 137: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=260

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 138: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=270

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 139: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=280

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 140: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=290

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 141: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=300

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 142: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=310

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 143: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=320

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 144: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=330

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 145: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=340

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 146: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=350

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 147: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=360

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 148: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=370

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 149: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=380

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 150: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=390

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 151: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=400

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 152: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=410

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 153: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=420

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 154: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=430

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 155: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=440

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 156: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=450

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 157: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=460

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 158: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=470

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 159: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=480

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 160: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=490

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 161: Solving chaotic differential equations using an - Infoscience

Transition to turbulence ‖X0‖ = 10−5.2

−0.5 0 0.5

0.2

0.4

0.6

0.8

1

1.2

1.4

X t=500

−10000−5000 0 5000−6

−4

−2

0

x 104 ψ

Algorithm validation and improvement Test Cases 36 / 65

Page 162: Solving chaotic differential equations using an - Infoscience

Lorenz Problem

(l)

x ′1(t) = −σx1(t) + σx2(t)x ′2(t) = rx1(t)− x2(t)− x1(t)x3(t)x ′3(t) = x1(t)x2(t)− bx3(t)

∀t ∈ [0 10] avec σ = 10, b = 8/3, r = 28X (0) = (1,0,0)g(X ) = x1

TOL = 0.1 et 0.01N0 = 300

0 10 20 30−20

−10

0

10

20

x1(t)

t0 10 20 30

0

2

4

6x 106 ||ψ(t)||

t0 10 20 30

0

2

4

6x 10−5 ||e(t)||

t0 10 20 30

0

0.02

0.04

0.06

t

taille des pas de temps

Algorithm validation and improvement Test Cases 37 / 65

Page 163: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=1

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 164: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=2

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 165: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=3

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 166: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=4

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 167: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=5

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 168: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=6

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 169: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=7

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 170: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=8

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 171: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=9

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 172: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=10

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 173: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=11

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 174: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=12

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 175: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=13

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 176: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=14

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 177: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=15

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 178: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=16

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 179: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=17

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 180: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=18

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 181: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=19

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 182: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=20

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 183: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=21

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 184: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=22

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 185: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=23

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 186: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=24

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 187: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=25

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 188: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=26

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 189: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=27

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 190: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=28

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 191: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=29

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 192: Solving chaotic differential equations using an - Infoscience

Lorenz with Dual

020

40−100

10

−20

0

20

X t=30

−20

2x 106

−20

2x 106

−4

−2

0

2

4

x 106ψ

Algorithm validation and improvement Test Cases 38 / 65

Page 193: Solving chaotic differential equations using an - Infoscience

Methods implemented

The brut method. Divide the timesteps by 2 when ri >TOLN

.

The basique method. Divide the timesteps by

M =

⌊(|ri |TOLN

) 1p+1

when ri >TOLN

.

The demi-pas method. Same as basique, except that we estimatethe error using a coarser approximation of X rather than a finer asbefore. The dual is solved on a mesh 2 times coarser than theprimal.

Algorithm validation and improvement Improvements 39 / 65

Page 194: Solving chaotic differential equations using an - Infoscience

Results

a b c d t l l 0.010

20

40

60

80

100 RK45 .

Algorithm validation and improvement Results 40 / 65

Page 195: Solving chaotic differential equations using an - Infoscience

Results

a b c d t l l 0.010

20

40

60

80

100 RK45 .brut

Algorithm validation and improvement Results 40 / 65

Page 196: Solving chaotic differential equations using an - Infoscience

Results

a b c d t l l 0.010

20

40

60

80

100 RK45 .brutbasique

Algorithm validation and improvement Results 40 / 65

Page 197: Solving chaotic differential equations using an - Infoscience

Results

a b c d t l l 0.010

20

40

60

80

100 RK45 .brutbasiquedemi−pas

Algorithm validation and improvement Results 40 / 65

Page 198: Solving chaotic differential equations using an - Infoscience

Exponential, Non-linear with blow-up and Stiff problem

TOL True error Est. errorr # eval. a # eval. (a′)∗ CPU N itbrut 1e-08 -1.16e-09 -1.16e-09 2790 930 0.89 80 5basique 1e-08 -3.86e-10 -3.86e-10 3240 1080 0.59 100 4demi-pas 1e-08 -4.8e-09 -4.38e-09 900 300 0.17 30 3RK45 1e-08 -1.33e-09 - 776 0 0.93 79 2

The Exponential

TOL True error Est. errorr # eval. a # eval. (a′)∗ CPU N itbrut 0.1 0.0125 0.00629 810 270 0.18 16 4basique 0.1 0.0125 0.00629 594 198 0.12 16 3demi-pas 0.1 0.0194 -0.0122 360 120 0.07 8 3RK45 0.1 0.0986 - 237 0 0.06 13 3

Non-linear with blow-up

TOL True error Est. errorr # eval. a # eval. (a′)∗ CPU N itbrut 1e-08 1.39e-09 1.41e-09 2160 720 0.41 45 5basique 1e-08 4.77e-10 4.87e-10 1944 648 0.35 53 3demi-pas 1e-08 3.68e-10 8.41e-10 990 330 0.18 50 2RK45 1e-08 5.92e-10 - 895 0 0.13 146 1

Stiff problem

Algorithm validation and improvement Results 41 / 65

Page 199: Solving chaotic differential equations using an - Infoscience

Singularity and Transition to Turbulence

TOL True error Est. errorr # eval. a # eval. (a′)∗ CPU N itbrut 0.1 0.0484 0.0976 4320 1440 0.81 24 16basique 0.1 0.0484 0.0976 4320 1440 0.79 24 16demi-pas 0.1 -1.1 0.0858 810 270 0.16 10 6RK45 0.1 0.0055 - 1061 0 0.19 71 5

Singularity

TOL True error Est. error # eval. a # eval. (a′)∗ CPU N itbrut 1e-06 5.49e-08 1.55e-07 184716 61572 44.82 2531 7basique 1e-06 6.31e-08 1.7e-07 113652 37884 27.4 2514 4demi-pas 1e-06 9.16e-08 3.19e-07 50832 16944 12.23 1335 3RK45 1e-06 -9.69e-07 - 140045 0 24.04 9569 5

Transition to turbulence

Algorithm validation and improvement Results 42 / 65

Page 200: Solving chaotic differential equations using an - Infoscience

Lorenz, 2 tolerances

TOL True error Est. error # eval. a # eval. (a′)∗ CPU N itbrut 0.1 0.0623 0.0674 256734 85578 57.91 6461 6basique 0.1 -0.0251 -0.0261 157680 52560 34.43 5789 3demi-pas 0.1 -0.0146 -0.0182 94716 31572 20.7 3176 3RK45 0.1 -0.0147 - 168110 0 25.29 10513 8

Lorenz problem

TOL Vraie erreur Est. erreur # eval. a # eval. (a′)∗ CPU N itbrut 0.01 0.000979 0.000998 472788 157596 108.75 10463 7basique 0.01 -0.0037 -0.00365 198108 66036 44.29 7949 3demi-pas 0.01 -0.00428 -0.00521 115434 38478 25.39 3985 3RK45 0.01 -0.0015 - 264932 0 40.37 16651 8

Lorenz problem

Algorithm validation and improvement Results 43 / 65

Page 201: Solving chaotic differential equations using an - Infoscience

Size of time steps (Lorenz problem, TOL= 0.01)

0 5 10 15 20 25 300

0.05

0.1

0.15

0.2

erreur, mstz : 7.56, RK45 : 1.18

iteration 1, mstz : 300 timesteps, RK45 : 678 timesteps

mstzRK45

Algorithm validation and improvement Results 44 / 65

Page 202: Solving chaotic differential equations using an - Infoscience

Size of time steps (Lorenz problem, TOL= 0.01)

0 5 10 15 20 25 300

0.05

0.1

0.15

0.2

erreur, mstz : 0.87, RK45 : 8.75

iteration 2, mstz : 2128 timesteps, RK45 : 1087 timesteps

mstzRK45

Algorithm validation and improvement Results 44 / 65

Page 203: Solving chaotic differential equations using an - Infoscience

Size of time steps (Lorenz problem, TOL= 0.01)

0 5 10 15 20 25 300

0.05

0.1

0.15

0.2

erreur, mstz : −0.0042, RK45 : 2.73

iteration 3, mstz : 3985 timesteps, RK45 : 1656 timesteps

mstzRK45

Algorithm validation and improvement Results 44 / 65

Page 204: Solving chaotic differential equations using an - Infoscience

Size of time steps (Lorenz problem, TOL= 0.01)

0 5 10 15 20 25 300

0.05

0.1

0.15

0.2

erreur, mstz : −0.0042, RK45 : 17.48

iteration 4, mstz : 3985 timesteps, RK45 : 2696 timesteps

mstzRK45

Algorithm validation and improvement Results 44 / 65

Page 205: Solving chaotic differential equations using an - Infoscience

Size of time steps (Lorenz problem, TOL= 0.01)

0 5 10 15 20 25 300

0.05

0.1

0.15

0.2

erreur, mstz : −0.0042, RK45 : 0.12

iteration 5, mstz : 3985 timesteps, RK45 : 4173 timesteps

mstzRK45

Algorithm validation and improvement Results 44 / 65

Page 206: Solving chaotic differential equations using an - Infoscience

Size of time steps (Lorenz problem, TOL= 0.01)

0 5 10 15 20 25 300

0.05

0.1

0.15

0.2

erreur, mstz : −0.0042, RK45 : 0.13

iteration 6, mstz : 3985 timesteps, RK45 : 6637 timesteps

mstzRK45

Algorithm validation and improvement Results 44 / 65

Page 207: Solving chaotic differential equations using an - Infoscience

Size of time steps (Lorenz problem, TOL= 0.01)

0 5 10 15 20 25 300

0.05

0.1

0.15

0.2

erreur, mstz : −0.0042, RK45 : 0.015

iteration 7, mstz : 3985 timesteps, RK45 : 10513 timesteps

mstzRK45

Algorithm validation and improvement Results 44 / 65

Page 208: Solving chaotic differential equations using an - Infoscience

Size of time steps (Lorenz problem, TOL= 0.01)

0 5 10 15 20 25 300

0.05

0.1

0.15

0.2

erreur, mstz : −0.0042, RK45 : 0.0015

iteration 8, mstz : 3985 timesteps, RK45 : 16651 timesteps

mstzRK45

Algorithm validation and improvement Results 44 / 65

Page 209: Solving chaotic differential equations using an - Infoscience

Comparison with Szepessy and al.

TOL |True error| N Ntot

mstz demi-pas 0.1 0.02 6352 10524mstz Szepessy 0.1 0.01 6000 20000mstz demi-pas 0.01 0.004 7970 12826mstz Szepessy 0.01 0.003 9000 34000

Algorithm validation and improvement Results 45 / 65

Page 210: Solving chaotic differential equations using an - Infoscience

Application to PDE

We now use the algorithm mstz to solve semi-discretization of partialdifferential equations. We use the heat equation to validate our code.

1 We study the properties of the Burgers Equation (a non-chaoticequation) with the help of mstz . We use a centered finitedifference scheme for the spatial discretization.

2 We compare RK45 and mstz on the Kuramoto-SivashinskyEquation, a chaotic PDE. We use the pseudo-spectral method forthe spatial discretization.

Application to PDE 46 / 65

Page 211: Solving chaotic differential equations using an - Infoscience

Application to PDE

We now use the algorithm mstz to solve semi-discretization of partialdifferential equations. We use the heat equation to validate our code.

1 We study the properties of the Burgers Equation (a non-chaoticequation) with the help of mstz . We use a centered finitedifference scheme for the spatial discretization.

2 We compare RK45 and mstz on the Kuramoto-SivashinskyEquation, a chaotic PDE. We use the pseudo-spectral method forthe spatial discretization.

Application to PDE 46 / 65

Page 212: Solving chaotic differential equations using an - Infoscience

Application to PDE

We now use the algorithm mstz to solve semi-discretization of partialdifferential equations. We use the heat equation to validate our code.

1 We study the properties of the Burgers Equation (a non-chaoticequation) with the help of mstz . We use a centered finitedifference scheme for the spatial discretization.

2 We compare RK45 and mstz on the Kuramoto-SivashinskyEquation, a chaotic PDE. We use the pseudo-spectral method forthe spatial discretization.

Application to PDE 46 / 65

Page 213: Solving chaotic differential equations using an - Infoscience

Study of Burgers Equation

For x ∈ [−1 1] and t ∈ [0 1], we have∂

∂tu(t , x) +

∂xu2(t , x)

2= 0

u(0, x) = u0(x)

Application to PDE Burgers Equation 47 / 65

Page 214: Solving chaotic differential equations using an - Infoscience

Study of Burgers Equation

For x ∈ [−1 1] and t ∈ [0 1], we have∂

∂tu(t , x) +

∂xu2(t , x)

2= ε

∂2

∂x2 u(t , x)

u(0, x) = u0(x)

Viscous term

Application to PDE Burgers Equation 47 / 65

Page 215: Solving chaotic differential equations using an - Infoscience

Centered Finite Difference Scheme

uhj (t) = −

(uh

j+1(t))2 −

(uh

j−1(t))2

4h+ ε

uhj+1(t)− 2uh

j (t) + uhj−1(t)

h2

Application to PDE Burgers Equation 48 / 65

Page 216: Solving chaotic differential equations using an - Infoscience

Initial conditions

0x

Shock Wave

Application to PDE Burgers Equation 49 / 65

Page 217: Solving chaotic differential equations using an - Infoscience

Initial conditions

0x

Shock Wave

Application to PDE Burgers Equation 49 / 65

Page 218: Solving chaotic differential equations using an - Infoscience

Initial conditions

0x

Shock Wave

0x

Rarefaction Wave

Application to PDE Burgers Equation 49 / 65

Page 219: Solving chaotic differential equations using an - Infoscience

Initial conditions

0x

Shock Wave

0x

Rarefaction Wave

Application to PDE Burgers Equation 49 / 65

Page 220: Solving chaotic differential equations using an - Infoscience

Initial conditions

0x

Shock Wave

0x

Rarefaction Wave

Which one is the hardest to solve ?

Application to PDE Burgers Equation 49 / 65

Page 221: Solving chaotic differential equations using an - Infoscience

Goal Function

For g, we select a point x ∈ [−1 1]. Our goal is to have a very precisevalue of u(T , x). To have a smoother function in the x-domain, we takea weighted sum around the point x . The weights are give by thenormal density.

g(u(T )) =M−1∑j=0

wju(T , xj) =M−1∑j=0

1√2πσ

e− 1

2

(xj−x

σ

)2

u(T , xj)

(∇g(u(T )))j = wj =1√2πσ

e− 1

2

(xj−x

σ

)2

Application to PDE Burgers Equation 50 / 65

Page 222: Solving chaotic differential equations using an - Infoscience

Parameters

ε=0.01

h=0.025

∆t=0.005 (initial)

x = 0.5, σ = 0.1.

TOL=0.005

Numerical method M : Euler progressive

Application to PDE Burgers Equation 51 / 65

Page 223: Solving chaotic differential equations using an - Infoscience

Shock Wave

Application to PDE Burgers Equation 52 / 65

Page 224: Solving chaotic differential equations using an - Infoscience

Rarefaction Wave

Application to PDE Burgers Equation 53 / 65

Page 225: Solving chaotic differential equations using an - Infoscience

Comparison

Shock Wave (down)

0 0.5 10

0.005

0.01

t

size of time steps

Number of timestepsneeded : 523

Number of evaluationsneeded : 3168

Rarefaction Wave (up)

0 0.5 10

1

2x 10−4

t

time steps

Number of timestepsneeded : 8565

Number of evaluationsneeded : 48750

Application to PDE Burgers Equation 54 / 65

Page 226: Solving chaotic differential equations using an - Infoscience

Explanation

Shock Wave (down)

t

0

x0

The perturbationstravel quicker than thewave. They are eatenby the shock

The important parts arethe parts just prior T

Rarefaction Wave (up)

t

0

0 x

The perturbations areamplified along thetime interval

It’s important to makegood calculations at thebegining

Application to PDE Burgers Equation 55 / 65

Page 227: Solving chaotic differential equations using an - Infoscience

A chaotic PDE

The Kuramoto-Sivashinsky Equation. x ∈ R, t ∈ [0 120].∂u(t , x)

∂t= − ∂2u(t , x)

∂x2 − ∂4u(t , x)

∂x4 − 12∂u2(t , x)

∂xu(0, x) = u0(x)

u(t , x) = u(t , x + l)

Application to PDE Kuramoto-Sivashinsky Equation 56 / 65

Page 228: Solving chaotic differential equations using an - Infoscience

A chaotic PDE

The Kuramoto-Sivashinsky Equation. x ∈ R, t ∈ [0 120].∂u(t , x)

∂t= − ∂2u(t , x)

∂x2 − ∂4u(t , x)

∂x4 − 12∂u2(t , x)

∂xu(0, x) = u0(x)

u(t , x) = u(t , x + l)

Inverse Heat term. Amplifies the perturbations

Application to PDE Kuramoto-Sivashinsky Equation 56 / 65

Page 229: Solving chaotic differential equations using an - Infoscience

A chaotic PDE

The Kuramoto-Sivashinsky Equation. x ∈ R, t ∈ [0 120].∂u(t , x)

∂t= − ∂2u(t , x)

∂x2 − ∂4u(t , x)

∂x4 − 12∂u2(t , x)

∂xu(0, x) = u0(x)

u(t , x) = u(t , x + l)

Beam term. Reduces the perturbations

Application to PDE Kuramoto-Sivashinsky Equation 56 / 65

Page 230: Solving chaotic differential equations using an - Infoscience

A chaotic PDE

The Kuramoto-Sivashinsky Equation. x ∈ R, t ∈ [0 120].∂u(t , x)

∂t= − ∂2u(t , x)

∂x2 − ∂4u(t , x)

∂x4 − 12∂u2(t , x)

∂xu(0, x) = u0(x)

u(t , x) = u(t , x + l)

Burgers term. Non-linear transport term

Application to PDE Kuramoto-Sivashinsky Equation 56 / 65

Page 231: Solving chaotic differential equations using an - Infoscience

A chaotic PDE

The Kuramoto-Sivashinsky Equation. x ∈ R, t ∈ [0 120].∂u(t , x)

∂t= − ∂2u(t , x)

∂x2 − ∂4u(t , x)

∂x4 − 12∂u2(t , x)

∂xu(0, x) = u0(x)

u(t , x) = u(t , x + l)

All together : the solution remain bounded !

Application to PDE Kuramoto-Sivashinsky Equation 56 / 65

Page 232: Solving chaotic differential equations using an - Infoscience

Pseudo-spectral method

The 4th order term is to heavy to discretize using finite differences. Weuse the pseudo-spectral method based on Fourier theory. This allowsas well an easy way of dealing with periodic boundary conditions. Wewrite :

u(t , x) =+∞∑

n=−∞cn(t)e2iπn x

l

with cn(t) =1l

∫ l

0u(t , x)e−2iπn x

l dx

Taking a finite number of Fourier coefficients and computing them withthe Fast Fourier Transform gives the pseudo-spectral scheme.

Application to PDE Kuramoto-Sivashinsky Equation 57 / 65

Page 233: Solving chaotic differential equations using an - Infoscience

The semi-discretization

We obtain the following ODE (q = 2πl ):

cn(t) = (n2q2 − n4q4)cn(t)−12

inqdn(t) ∀n = −m, . . . ,m

where dn(t) are the Fourier coefficients of u2(t , x). We compute themusing the inverse Fourier transform of all the cn, then squaring all thecomponents and then taking the Fourier transform again.

Application to PDE Kuramoto-Sivashinsky Equation 58 / 65

Page 234: Solving chaotic differential equations using an - Infoscience

The semi-discretization

We obtain the following ODE (q = 2πl ):

cn(t) = (n2q2 − n4q4)cn(t)−12

inqdn(t) ∀n = −m, . . . ,m

where dn(t) are the Fourier coefficients of u2(t , x). We compute themusing the inverse Fourier transform of all the cn, then squaring all thecomponents and then taking the Fourier transform again.

Inverse Heat term. Amplifies the perturbations

Application to PDE Kuramoto-Sivashinsky Equation 58 / 65

Page 235: Solving chaotic differential equations using an - Infoscience

The semi-discretization

We obtain the following ODE (q = 2πl ):

cn(t) = (n2q2 − n4q4)cn(t)−12

inqdn(t) ∀n = −m, . . . ,m

where dn(t) are the Fourier coefficients of u2(t , x). We compute themusing the inverse Fourier transform of all the cn, then squaring all thecomponents and then taking the Fourier transform again.

Beam term. Reduces the perturbations

Application to PDE Kuramoto-Sivashinsky Equation 58 / 65

Page 236: Solving chaotic differential equations using an - Infoscience

The semi-discretization

We obtain the following ODE (q = 2πl ):

cn(t) = (n2q2 − n4q4)cn(t)−12

inqdn(t) ∀n = −m, . . . ,m

where dn(t) are the Fourier coefficients of u2(t , x). We compute themusing the inverse Fourier transform of all the cn, then squaring all thecomponents and then taking the Fourier transform again.

Burgers term. Non-linear transport term

Application to PDE Kuramoto-Sivashinsky Equation 58 / 65

Page 237: Solving chaotic differential equations using an - Infoscience

Initial condition

Following Wanner and Hairer, the initial condition has the followingshape :

0 50 100 150 200 2500

0.5

1

x

u(0,

x)

Application to PDE Kuramoto-Sivashinsky Equation 59 / 65

Page 238: Solving chaotic differential equations using an - Infoscience

Number of coefficients

To get a solution in a reasonable amount of time, we decided to use150 Fourier coefficients. The problem is that we can not solve theorginal Kuramoto-Sivashinsky Equation with 150 coefficients. Thenumerical scheme is unstable. We modify the Kuramoto-Sivashinskyequation as follows :

∂u(t , x)

∂t= −λ∂

2u(t , x)

∂x2 − ∂4u(t , x)

∂x4 − 12∂u2(t , x)

∂x

For λ = 1, we have the original equation. For λ < 1, the perturbationsare less amplified by the inverse heat term, so the equation is easier tosolve. We will be able to solve it for λ = 0.93.

Application to PDE Kuramoto-Sivashinsky Equation 60 / 65

Page 239: Solving chaotic differential equations using an - Infoscience

Solution

Application to PDE Kuramoto-Sivashinsky Equation 61 / 65

Page 240: Solving chaotic differential equations using an - Infoscience

Solution of the dual

Application to PDE Kuramoto-Sivashinsky Equation 62 / 65

Page 241: Solving chaotic differential equations using an - Infoscience

Results

TOL E t E t# eval. a # eval. (a′)∗ CPU N it

mstz 0.0001 2.09e-05 3.41e-05 18666 6222 115.94 637 2RK45 0.0001 3.55e-05 - 29499 0 55.49 2382 3mstz 1e-05 -8.01e-06 -8.61e-06 21078 7026 133.53 771 2RK45 1e-05 4.2e-06 - 45915 0 86.2 3726 3mstz 1e-06 4.61e-08 -6.26e-07 25776 8592 158.04 1032 2RK45 1e-06 8.22e-07 - 71853 0 138.16 5855 3mstz 1e-07 4.15e-07 3.24e-09 79254 26418 484.8 2524 3RK45 1e-07 No solution !

Application to PDE Kuramoto-Sivashinsky Equation 63 / 65

Page 242: Solving chaotic differential equations using an - Infoscience

Summary

Using an algorithm which monitors the global error instead of onewhich monitors the local error is really important for chaotic differentialequations. It provides :

An indicator of the accuracy of the solution. With local errorsalgorithms, we have no garanty that we are close to the truesolution even if the local tolerance is really small.

A better efficiency. We get the solution faster or for a smallertolerance.

Computing the solution of the dual less accurately than thesolution of the primal gives a really efficient algorithm

Summary 64 / 65

Page 243: Solving chaotic differential equations using an - Infoscience

Questions

Summary 65 / 65