A coupling strategy and its software implementation for waves - - PowerPoint PPT Presentation

a coupling strategy and its software implementation for
SMART_READER_LITE
LIVE PREVIEW

A coupling strategy and its software implementation for waves - - PowerPoint PPT Presentation

A coupling strategy and its software implementation for waves propaga- tion and their impact on coast Prospects Christophe Kassiotis SPH Meeting Feb 9, 2010 Introduction Who I am ? What did I do ?. . . Ecole des Ponts ParisTech ENS


slide-1
SLIDE 1

A coupling strategy and its software implementation for waves propaga- tion and their impact on coast

Prospects Christophe Kassiotis SPH Meeting – Feb 9, 2010

slide-2
SLIDE 2

Introduction

Who I am ? What did I do ?. . .

Ecole des Ponts ParisTech ENS Cachan EDF R&D TU-Brauncwheig University of Manchester

  • C. Kassiotis

Coupling waves/SPH 2 / 19

slide-3
SLIDE 3

Introduction

  • Ph. D.

Ecole des Ponts ParisTech ENS Cachan EDF R&D TU-Brauncwheig University of Manchester

  • C. Kassiotis

Coupling waves/SPH 2 / 19

slide-4
SLIDE 4

Introduction

Now

Ecole des Ponts ParisTech ENS Cachan EDF R&D TU-Brauncwheig University of Manchester

  • C. Kassiotis

Coupling waves/SPH 2 / 19

slide-5
SLIDE 5

Introduction

Problem description

Waves modeling from open sea to coast: Various physical models and associated software Countless applications Among important issues: extreme waves or tsunami impacts

  • C. Kassiotis

Coupling waves/SPH 3 / 19

slide-6
SLIDE 6

Introduction

Problem description

Waves modeling from open sea to coast: Various physical models and associated software Countless applications Among important issues: extreme waves or tsunami impacts Tsunami modeling: Generation Propagation Run-up Coupling key issues Amplitude of the flood Resistance of buildings Source: CMLA-Cachan

[Dutykh, 09]

  • C. Kassiotis

Coupling waves/SPH 3 / 19

slide-7
SLIDE 7

Introduction

Problem description

Waves modeling from open sea to coast: Various physical models and associated software Countless applications Among important issues: extreme waves or tsunami impacts Tsunami modeling: Generation Propagation Run-up Coupling key issues Amplitude of the flood Resistance of buildings

[Kassiotis, 07]

  • C. Kassiotis

Coupling waves/SPH 3 / 19

slide-8
SLIDE 8

Introduction

Problem description

Waves modeling from open sea to coast: Various physical models and associated software Countless applications Among important issues: extreme waves or tsunami impacts Tsunami modeling: Generation Propagation Run-up Coupling key issues Amplitude of the flood Resistance of buildings FBI, American Samoa, Sep. 09

  • C. Kassiotis

Coupling waves/SPH 3 / 19

slide-9
SLIDE 9

Introduction

Problem description

Waves modeling from open sea to coast: Various physical models and associated software Countless applications Among important issues: extreme waves or tsunami impacts Tsunami modeling: Generation Propagation Run-up Coupling key issues Amplitude of the flood Resistance of buildings FBI, American Samoa, Sep. 09

  • C. Kassiotis

Coupling waves/SPH 3 / 19

slide-10
SLIDE 10

Introduction

  • Ph. D. results: fluid structure interaction

g

Ω f ,1 Ω f ,2 Ω s 1 4 6 1 4 1 2 2 8 6 1 4 6 2 9 2 1 4 6 80 80 292 292

Partitioned strategy Strong coupling Coupling FEM and FVM Free-surface flow VOF Material properties Neo-Hookean structure Es = 1 × 106Pa, νs = 0, ρs = 2500kg · m−3. Two-phase flow ρf ,1 = 1000kg/m3, νf ,1 = 1 × 106m/s, ρf ,2 = 1kg/m3, νf ,2 = 1 × 105m/s.

  • C. Kassiotis

Coupling waves/SPH 4 / 19

slide-11
SLIDE 11

Introduction

  • Ph. D. results: three-dimensional dam-break problem
  • C. Kassiotis

Coupling waves/SPH 5 / 19

slide-12
SLIDE 12

Introduction

Waves model (Boussinesq, Saint-Venant) Unable to represent complex free surface (multi-connected domains) Can represent sloshing with damping

[Benoit 02, Yu 99]

Studies shows the necessity of more physical models [Duthyk 10] Sloshing representation (VOF, SPH) Waves damping (can be handled by ad-hoc treatment) Computational coast (3D computations un-reachable) Coupling is a natural choice

  • C. Kassiotis

Coupling waves/SPH 6 / 19

slide-13
SLIDE 13

Outline

1

Sub-problems Waves propagation Waves sloshing on coast

2

Coupling algorithm

3

Software implementation – Component architecture

  • C. Kassiotis

Coupling waves/SPH 7 / 19

slide-14
SLIDE 14

Some existing software

name licence language 2d 3d val waves BSQ_V2P3 (EDF R&D) Fortran

  • funwave

GPL Fortran

  • shallowWaterFoam

GPL C++

  • SPH

Spartacus Fortran

  • SPHysics

GPL Fortran

  • C. Kassiotis

Coupling waves/SPH 8 / 19

slide-15
SLIDE 15

Wave propagation

Boussinesq model

BSQ_V2P3 implements: Physical description

wave height η horizontal velocity u reference height zα

Finite difference discretization (O(∆x4)) Explicit Predictor (O(∆t3)) – Corrector (O(∆t4)) time integration scheme Stabilising filters Waves damping (sloshing)

  • C. Kassiotis

Coupling waves/SPH 9 / 19

slide-16
SLIDE 16

Wave propagation

Boussinesq model – results

  • C. Kassiotis

Coupling waves/SPH 10 / 19

slide-17
SLIDE 17

Wave sloshing

Using SPH A lot of open questions . . . (for me)

  • C. Kassiotis

Coupling waves/SPH 11 / 19

slide-18
SLIDE 18

Outline

1

Sub-problems Waves propagation Waves sloshing on coast

2

Coupling algorithm

3

Software implementation – Component architecture

  • C. Kassiotis

Coupling waves/SPH 12 / 19

slide-19
SLIDE 19

Coupling strategy

[Narayanaswamy 09]

Proposed coupling algorithm: Explicit and staggered in time Overlapping regions in space Figure from

[Narayanaswamy et al 10]

  • C. Kassiotis

Coupling waves/SPH 13 / 19

slide-20
SLIDE 20

Coupling strategy

[Narayanaswamy 09]

1: for n = 1 . . . nmax do 2:

t = n∆tBsq

3:

impose wave height and velocity (ηb, vα,b)

4:

solve wave problem with ∆tBsq

5:

get velocity on the SPH boundary: u(xi, zi)

6:

solve SPH problem from t − ∆tBsq

2

to t + ∆tBsq

2

7:

for k = 1 . . . kmax do

8:

t = (n − 1

2)∆tBsq + k∆tSPH

9:

interpolate uk

i and impose xk+1 i

= xk

i + ∆tSPHuk i

10:

solve SPH problem with time step ∆tSPH

11:

end for

12:

get wave height and velocity at the reference height

13: end for

  • C. Kassiotis

Coupling waves/SPH 14 / 19

slide-21
SLIDE 21

Coupling strategy

[Narayanaswamy 09]

1: for n = 1 . . . nmax do 2:

t = n∆tBsq

3:

impose wave height and velocity (ηb, vα,b)

4:

solve wave problem with ∆tBsq

5:

get velocity on the SPH boundary: u(xi, zi)

6:

solve SPH problem from t − ∆tBsq

2

to t + ∆tBsq

2

7:

for k = 1 . . . kmax do

8:

t = (n − 1

2)∆tBsq + k∆tSPH

9:

interpolate uk

i and impose xk+1 i

= xk

i + ∆tSPHuk i

10:

solve SPH problem with time step ∆tSPH

11:

end for

12:

get wave height and velocity at the reference height

13: end for

  • C. Kassiotis

Coupling waves/SPH 14 / 19

slide-22
SLIDE 22

Coupling strategy

[Narayanaswamy 09]

1: for n = 1 . . . nmax do 2:

t = n∆tBsq

3:

impose wave height and velocity (ηb, vα,b)

4:

solve wave problem with ∆tBsq

5:

get velocity on the SPH boundary: u(xi, zi)

6:

solve SPH problem from t − ∆tBsq

2

to t + ∆tBsq

2

7:

for k = 1 . . . kmax do

8:

t = (n − 1

2)∆tBsq + k∆tSPH

9:

interpolate uk

i and impose xk+1 i

= xk

i + ∆tSPHuk i

10:

solve SPH problem with time step ∆tSPH

11:

end for

12:

get wave height and velocity at the reference height

13: end for

  • C. Kassiotis

Coupling waves/SPH 14 / 19

slide-23
SLIDE 23

Coupling strategy

[Narayanaswamy 09]

1: for n = 1 . . . nmax do 2:

t = n∆tBsq

3:

impose wave height and velocity (ηb, vα,b)

4:

solve wave problem with ∆tBsq

5:

get velocity on the SPH boundary: u(xi, zi) = uα(xi) + ∂xzα∂xhuα + (zα − zi)∂2

xhuα + [. . . ]

6:

solve SPH problem from t − ∆tBsq

2

to t + ∆tBsq

2

7:

for k = 1 . . . kmax do

8:

t = (n − 1

2)∆tBsq + k∆tSPH

9:

interpolate uk

i and impose xk+1 i

= xk

i + ∆tSPHuk i

10:

solve SPH problem with time step ∆tSPH

11:

end for

12:

get wave height and velocity at the reference height

13: end for

  • C. Kassiotis

Coupling waves/SPH 14 / 19

slide-24
SLIDE 24

Coupling strategy

[Narayanaswamy 09]

1: for n = 1 . . . nmax do 2:

t = n∆tBsq

3:

impose wave height and velocity (ηb, vα,b)

4:

solve wave problem with ∆tBsq

5:

get velocity on the SPH boundary: u(xi, zi)

6:

solve SPH problem from t − ∆tBsq

2

to t + ∆tBsq

2

7:

for k = 1 . . . kmax do

8:

t = (n − 1

2)∆tBsq + k∆tSPH

9:

interpolate uk

i and impose xk+1 i

= xk

i + ∆tSPHuk i

10:

solve SPH problem with time step ∆tSPH

11:

end for

12:

get wave height and velocity at the reference height

13: end for

  • C. Kassiotis

Coupling waves/SPH 14 / 19

slide-25
SLIDE 25

Coupling strategy

[Narayanaswamy 09]

1: for n = 1 . . . nmax do 2:

t = n∆tBsq

3:

impose wave height and velocity (ηb, vα,b)

4:

solve wave problem with ∆tBsq

5:

get velocity on the SPH boundary: u(xi, zi)

6:

solve SPH problem from t − ∆tBsq

2

to t + ∆tBsq

2

7:

for k = 1 . . . kmax do

8:

t = (n − 1

2)∆tBsq + k∆tSPH

9:

interpolate uk

i and impose xk+1 i

= xk

i + ∆tSPHuk i

10:

solve SPH problem with time step ∆tSPH

11:

end for

12:

get wave height and velocity at the reference height

13: end for

  • C. Kassiotis

Coupling waves/SPH 14 / 19

slide-26
SLIDE 26

Coupling strategy

[Narayanaswamy 09]

1: for n = 1 . . . nmax do 2:

t = n∆tBsq

3:

impose wave height and velocity (ηb, vα,b)

4:

solve wave problem with ∆tBsq

5:

get velocity on the SPH boundary: u(xi, zi)

6:

solve SPH problem from t − ∆tBsq

2

to t + ∆tBsq

2

7:

for k = 1 . . . kmax do

8:

t = (n − 1

2)∆tBsq + k∆tSPH

9:

interpolate uk

i and impose xk+1 i

= xk

i + ∆tSPHuk i

10:

solve SPH problem with time step ∆tSPH

11:

end for

12:

get wave height and velocity at the reference height

13: end for

  • C. Kassiotis

Coupling waves/SPH 14 / 19

slide-27
SLIDE 27

Outline

1

Sub-problems Waves propagation Waves sloshing on coast

2

Coupling algorithm

3

Software implementation – Component architecture

  • C. Kassiotis

Coupling waves/SPH 15 / 19

slide-28
SLIDE 28

Programming context for partitionned solution

η, u u(x) Wave computation SPH computation Software implementation Data exchange between wave propagation and near coast Implementation of a master code Non matching meshes/time handled by the Interpolator (?) Re-using existing waves and SPH codes Minimum requirement: a communication protocol

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-29
SLIDE 29

Programming context for partitionned solution

η, u u(x) Control Wave computation SPH computation Software implementation Data exchange between wave propagation and near coast Implementation of a master code Non matching meshes/time handled by the Interpolator (?) Re-using existing waves and SPH codes Minimum requirement: a communication protocol

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-30
SLIDE 30

Programming context for partitionned solution

η, u u(x) Control Interpolator Wave computation SPH computation Software implementation Data exchange between wave propagation and near coast Implementation of a master code Non matching meshes/time handled by the Interpolator (?) Re-using existing waves and SPH codes Minimum requirement: a communication protocol

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-31
SLIDE 31

Programming context for partitionned solution

η, u u(x) Control Interpolator bsq_v2p3 SPHysics Software implementation Data exchange between wave propagation and near coast Implementation of a master code Non matching meshes/time handled by the Interpolator (?) Re-using existing waves and SPH codes Minimum requirement: a communication protocol

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-32
SLIDE 32

Programming context for partitionned solution

η, u u(x) Control Interpolator bsq_v2p3 SPHysics Software implementation Data exchange between wave propagation and near coast Implementation of a master code Non matching meshes/time handled by the Interpolator (?) Re-using existing waves and SPH codes Minimum requirement: a communication protocol

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-33
SLIDE 33

Programming context for partitionned solution

Middleware η, u u(x) Control Interpolator bsq_v2p3 SPHysics Middleware – Software component technology “Between”software and hardware Computer science

[Mac Ilroy 68, Szyperski & Meeserschmitt 98]

Each software: a component Generalization of OOP to software: encapsuled / interface Middleware in charge of communication and data types

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-34
SLIDE 34

Programming context for partitionned solution

Middleware η, u u(x) Control Interpolator bsq_v2p3 SPHysics Middleware – for scientific computing Available middleware: Corba, Java-RMI, MS.net . . . Communication Template Library (CTL): C++

[Niekamp, 02]

Scientific computing: requires good performances

[Niekamp, 05]

Salom´ e platform (´ EDF R&D) Software development made by non-programmers

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-35
SLIDE 35

Programming context for partitionned solution

Middleware η, u u(x) Control Interpolator bsq_v2p3 SPHysics Middleware – for scientific computing Available middleware: Corba, Java-RMI, MS.net . . . Communication Template Library (CTL): C++

[Niekamp, 02]

Scientific computing: requires good performances

[Niekamp, 05]

Salom´ e platform (´ EDF R&D) Software development made by non-programmers

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-36
SLIDE 36

Programming context for partitionned solution

Middleware η, u u(x) Control Interpolator bsq_v2p3 SPHysics Middleware – for scientific computing Available middleware: Corba, Java-RMI, MS.net . . . Communication Template Library (CTL): C++

[Niekamp, 02]

Scientific computing: requires good performances

[Niekamp, 05]

Salom´ e platform (´ EDF R&D) Software development made by non-programmers

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-37
SLIDE 37

Programming context for partitionned solution

Middleware: CTL η, u u(x) Control Interpolator bsq_v2p3 SPHysics Middleware – for scientific computing Available middleware: Corba, Java-RMI, MS.net . . . Communication Template Library (CTL): C++

[Niekamp, 02]

Scientific computing: requires good performances

[Niekamp, 05]

Salom´ e platform (´ EDF R&D) Software development made by non-programmers

  • C. Kassiotis

Coupling waves/SPH 16 / 19

slide-38
SLIDE 38

Components implementation and use

Middleware: CTL η, u u(x) bsq_v2p3 SPHysics co-bsq Interpolator Control Wave component: Interface definition SimuWave.ci (Genericity) Methods declaration

#define CTL_Method3 void , get , ( const string /* fieldName */, array <scalar1 > /* nodes */, array <scalar1 > /* field */ ), 3

Methods implementation in Fortran

  • C. Kassiotis

Coupling waves/SPH 17 / 19

slide-39
SLIDE 39

Components implementation and use

Middleware: CTL η, u u(x) bsq_v2p3 SPHysics coXXX Funwave Tomawak Interpolator Control Wave component: Interface definition SimuWave.ci (Genericity) Methods declaration

#define CTL_Method3 void , get , ( const string /* fieldName */, array <scalar1 > /* nodes */, array <scalar1 > /* field */ ), 3

Methods implementation in Fortran

  • C. Kassiotis

Coupling waves/SPH 17 / 19

slide-40
SLIDE 40

Components implementation and use

Middleware: CTL η, u u(x) bsq_v2p3 SPHysics co-bsq Interpolator Control Wave component: Interface definition SimuWave.ci (Genericity) Methods declaration

#define CTL_Method3 void , get , ( const string /* fieldName */, array <scalar1 > /* nodes */, array <scalar1 > /* field */ ), 3

Methods implementation in Fortran

  • C. Kassiotis

Coupling waves/SPH 17 / 19

slide-41
SLIDE 41

Components implementation and use

Middleware: CTL η, u u(x) bsq_v2p3 SPHysics co-bsq Interpolator Control Wave component: Compilation gives:

A library: call like a lib, thread (asynchronous calls) An executable: remote call with tcp, pipe, MPI...

Use: Multiscale

[Hautefeuille 09] , EFEM [Benkemoun 09]

Stochastic

[Krosche 09] , Thermomechanics [Kassiotis 06] , Mass

transfer

[De Sa 08] , FSI [Kassiotis 09] . . .

  • C. Kassiotis

Coupling waves/SPH 17 / 19

slide-42
SLIDE 42

Components implementation and use

Middleware: CTL η, u u(x) bsq_v2p3 SPHysics co-bsq co-SPH Interpolator Control SPH component: Interface definition: derivated from existing CFDsimu.ci: Implemented ofoam

[Krosche 07, Kassiotis 09] in C++

Methods declaration

#define CTL_Method2 void , get , ( const string /* name */, array <real8 > /*v*/ ) const , 2

  • C. Kassiotis

Coupling waves/SPH 17 / 19

slide-43
SLIDE 43

Components implementation and use

Middleware: CTL η, u u(x) bsq_v2p3 SPHysics co-bsq co-SPH Interpolator Interpolator Control Interpolation component: Interpolator

[J¨ urgens 09]

C++ component Interpolation with radial basis functions

[Beckert & Wendland 01]

Full matrices Solve: coupled with the Lapack library

  • C. Kassiotis

Coupling waves/SPH 17 / 19

slide-44
SLIDE 44

Components implementation and use

Middleware: CTL η, u u(x) bsq_v2p3 SPHysics co-bsq co-SPH Interpolator Interpolator Control cops COupling COmponents by a Partitioned Strategy: cops Coupling components as templates Explicit coupling: collocated and non-collocated Implicit coupling: BGS Predictors (order 0–2), fixed and dynamic Aitken’s relaxation

  • C. Kassiotis

Coupling waves/SPH 17 / 19

slide-45
SLIDE 45

Conclusions and Outlooks

Conclusion: Generic implementation re-using existing code Efficiency using CTL Simple implementation and cheap computation outside existing codes Outlooks: Use wave solver as BC in SPH computation Open questions: Which solver for the waves ? Saint-Venant ? Boussinesq ? Which size for overlaping area ? Which BC : input for SPH ? output in wave solver ?

  • C. Kassiotis

Coupling waves/SPH 18 / 19

slide-46
SLIDE 46

Conclusions and Outlooks

Thank you for attention Questions ? Remarks ? Help for SPH ?

  • C. Kassiotis

Coupling waves/SPH 19 / 19