49
The IWAVE Modeling Framework W. W. Symes and Xin Wang 2010 TRIP Annual Meeting

The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

The IWAVE Modeling Framework

W. W. Symes and Xin Wang

2010 TRIP Annual Meeting

Page 2: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE

created by Terentyev, Vdovina and Symes 2007, a softwareframework for construction of regular grid FD and FE methods fortime-dependent PDEs, includes utility software for

I parameter parsing

I i/o methods, sampling operators

I date exchanging with MPI, just like PETSc

I distributed spatial arrays and groupings of arrays

along with a variable density AWE solver in up to 3D

I staggered grid FD scheme of order 2 in time and 2k in space

I support either reflecting or absorbing bnd cond

I output traces (seismograms) at specified sample rates and/ormovie frames

I mpi parallelization via domain decomp and shots (tasks)

2

Page 3: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE

now also provides

I a working flow of new solver generation

I two more applications: iso elastic wave equations and Burgersequation

3

Page 4: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

New Solver Generation

FD stencil, the starting point of generating new FD solversI memory allocationI pattern of exchanging dataI ...

Figure: courtesy of Moczo et al. 2007

but seems there are a lot of choices: orders, grid types

4

Page 5: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

New Solver Generation

before determining stencils, let’s take a look at pattern of FDTDwave solvers:

I wave equations have terms of up to 1st order spatial derivativeI FD discretization along each spatial axis has up to 2

different types of grids,I primal grid: integer grid, index-0 grid ⇒ 0I dual grid: half integer grid, index-0 grid ⇒ 1/2

pvx

vz

vy

e.g., pressure p on primal grids along 3 axes, vx on dual gridalong x-axis and primal grids along y-axis and z-axis

5

Page 6: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

Define FD Stencils

FD stencils determined by

I grid type table for each variable

I variable-dependence relation

e.g., 2D isotropic elastic wave staggered grid FDTD solver

grid type dependence relation

z-axis x-axis σzz σxx σzx uz uxσzz P P - - - ∂/∂z ∂/∂x

σxx P P - - - ∂/∂z ∂/∂x

σzx D D - - - ∂/∂x ∂/∂z

uz D P ∂/∂z - ∂/∂x - -

uz P D - ∂/∂x ∂/∂z - -

6

Page 7: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

New Solver Generation

break the process into several parts:

I set grid type and variable-dependence relation

I read grid info → basic primal grid assuming single griddetermines others

I populate in the parameter data

I assign action list → which array updated in which order

I single time stepping function interface, use switch/case topick right update function for arrays (variables)

I generate FD stencil (IWAVE)

I automating domain decomposition, implicit chop grid intoblocks (block decomposition) according to FD stencil(IWAVE)

I modelinit function to setup parameters, assign functionpointers (C mechanism to implement inheritance)

7

Page 8: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Elastic Wave Solver

isotropic elastic wave equations in velocity-stress formulation

∂σzz∂t− (λ+ 2µ)

∂u

∂z− λ∂v

∂x= 0

∂σxx∂t− λ∂u

∂z− (λ+ 2µ)

∂v

∂x= 0

∂σzx∂t− µ∂u

∂z− µ∂v

∂x= 0

ρ∂u

∂t− ∂σzz

∂z− ∂σzx

∂x= 0

ρ∂v

∂t− ∂σzx

∂z− ∂σxx

∂x= 0

8

Page 9: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Elastic Wave Solver

two layer model

top bottom

ρ 2100 kg/m3 2300 kg/m3

vp 2.3 m/ms 3.0 m/ms

vs 0.93897 m/ms 1.2247 m/ms

λ 7406 MPa 13800 MPa

µ 1851.5 MPa 3450 MPa

I Ricker wavelet with central frequency 15 Hz, free surface bndcond for all boundaries

I source at depth 40 m and offset 3300 m, receivers at depth 20m and offset from 100 m to 6100 m with interval 20 m

I 2-4 staggered-grid FD on a grid of size 20 m, wave propagates3 sec

9

Page 10: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Elastic Wave Solver

0

0.5

1.0

1.5

2.0

2.5

2 4 60

0.5

1.0

1.5

2.0

2.5

2 4 6

Figure: σzz (left) and σzx (right)

10

Page 11: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Elastic Wave Solver

dome modelI Ricker wavelet with central frequency 15 Hz, free surface bnd

cond for all boundariesI source at depth 40 m and offset 3300 m, receivers at depth 20

m and offset from 100 m to 6100 m with interval 20 mI 2-4 staggered-grid FD on a grid of size 20 m, wave propagates

3 sec

0

0.5

1.0

1.5

2.0

depth (

km)

0 2 4 6offset (km)

1000 2000

Figure: ρ

11

Page 12: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Elastic Wave Solver

0

0.5

1.0

1.5

2.0

2.5

2 4 6

Figure: σzz

12

Page 13: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Burgers equation:

ut + (u2)x + (u2)y = 0

finite volume discretization: take the volume integral over the totalvolume of the cell, vi∫

vi

∂u

∂tdv +

∫vi

(u2)x + (u2)y dv = 0

let ui =

∫vi

∂u

∂tdv/vi and integration by parts

∂ui∂t

+1

vi

∮Si

f ∗(u) · n dS = 0

numerical flux f ∗(u) = (u2, u2)|Si defined on the cell boundary Si

13

Page 14: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

stencil of regular grid FV scheme ⇔ 2nd order staggered-gridstencil

uu u

u

u

f∗±(u) f∗

±(u)

f∗±(u)

f∗±(u)

14

Page 15: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

I initial condition:

Figure: u(x , y , 0)

I periodic boundary condition

I 201× 201 grid points with grid size 5 m

15

Page 16: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.0sprevious slide next slide

16

Page 17: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.1sprevious slide next slide

16

Page 18: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.2sprevious slide next slide

16

Page 19: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.3sprevious slide next slide

16

Page 20: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.4sprevious slide next slide

16

Page 21: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.5sprevious slide next slide

16

Page 22: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.6sprevious slide next slide

16

Page 23: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.7sprevious slide next slide

16

Page 24: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.8sprevious slide next slide

16

Page 25: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 0.9sprevious slide next slide

16

Page 26: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.0sprevious slide next slide

16

Page 27: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.1sprevious slide next slide

16

Page 28: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.2sprevious slide next slide

16

Page 29: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.3sprevious slide next slide

16

Page 30: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.4sprevious slide next slide

16

Page 31: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.5sprevious slide next slide

16

Page 32: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.6sprevious slide next slide

16

Page 33: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.7sprevious slide next slide

16

Page 34: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.8sprevious slide next slide

16

Page 35: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 1.9sprevious slide next slide

16

Page 36: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.0sprevious slide next slide

16

Page 37: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.1sprevious slide next slide

16

Page 38: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.2sprevious slide next slide

16

Page 39: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.3sprevious slide next slide

16

Page 40: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.4sprevious slide next slide

16

Page 41: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.5sprevious slide next slide

16

Page 42: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.6sprevious slide next slide

16

Page 43: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.7sprevious slide next slide

16

Page 44: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.8sprevious slide next slide

16

Page 45: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 2.9sprevious slide next slide

16

Page 46: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

IWAVE Burgers Equation Solver

Figure: t = 3.0sprevious slide next slide

16

Page 47: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

Future Plan

I absorbing boundary condition for elastic wavesolver

I implement DG scheme on regular grid underIWAVE framework

I more applications

17

Page 48: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

Thank You

Page 49: The IWAVE Modeling FrameworkI FD discretization along each spatial axis has up to 2 di erent types of grids, I primal grid: integer grid, index-0 grid )0 I dual grid: half integer

Q&A