Solving chaotic differential equations using an - Infoscience

Preview:

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Local Error

��

��

������

������

��

t

X(t), true solution

t1 t2 t3 t4=T

e(t2)

e(t4)X(t1)

Main Notions Central Theorem 16 / 65

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Results

a b c d t l l 0.010

20

40

60

80

100 RK45 .

Algorithm validation and improvement Results 40 / 65

Results

a b c d t l l 0.010

20

40

60

80

100 RK45 .brut

Algorithm validation and improvement Results 40 / 65

Results

a b c d t l l 0.010

20

40

60

80

100 RK45 .brutbasique

Algorithm validation and improvement Results 40 / 65

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Initial conditions

0x

Shock Wave

Application to PDE Burgers Equation 49 / 65

Initial conditions

0x

Shock Wave

Application to PDE Burgers Equation 49 / 65

Initial conditions

0x

Shock Wave

0x

Rarefaction Wave

Application to PDE Burgers Equation 49 / 65

Initial conditions

0x

Shock Wave

0x

Rarefaction Wave

Application to PDE Burgers Equation 49 / 65

Initial conditions

0x

Shock Wave

0x

Rarefaction Wave

Which one is the hardest to solve ?

Application to PDE Burgers Equation 49 / 65

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

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

Shock Wave

Application to PDE Burgers Equation 52 / 65

Rarefaction Wave

Application to PDE Burgers Equation 53 / 65

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Solution

Application to PDE Kuramoto-Sivashinsky Equation 61 / 65

Solution of the dual

Application to PDE Kuramoto-Sivashinsky Equation 62 / 65

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

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

Questions

Summary 65 / 65

Recommended