Vous êtes sur la page 1sur 40

Implementação da FWI no domı́nio do tempo em

modelo simples 2D

Kristian Torres

Universidade Federal do Rio de Janeiro

31 de agosto de 2017

Kristian Torres Probelmas Inversos 31 de agosto de 2017 1 / 40


Conteúdo

1 Introdução
Objetivos
Problema direto
Problema inverso

2 Implementação da rotina FWI


Modelagem da sı́smica sintética
Algoritmo de inversão

3 Resultados

Kristian Torres Probelmas Inversos 31 de agosto de 2017 2 / 40


Introdução

Problema Inverso: Partir da resposta para achar a pergunta

Detetive Geofı́sico
• Cena do crime • Dados observados
• Suspeitos • Modelo inicial
• Culpável • Modelo verdadeiro

”Quais são os parâmetros fı́sicos no subsolo que, sendo


perturbados por uma fonte externa, geram a resposta sı́smica
obtida em superfı́cie?”

Kristian Torres Probelmas Inversos 31 de agosto de 2017 3 / 40


utilizando os mesmos parâmetros iniciais e as mesmas condições de bordas não reflexivas e
bordas amortecidas do tipo Cerjan . Como pode ser observado, o DF4E2T oferece maior
Objetivos
resolução no processo de propagação da onda por causa do aumento na ordem espacial,
comparado com o operador DF2E2T.
• Dar continuidade ao projeto do perı́odo anterior

Figura 4.
Kristian Comparação
Torres entre a propagação de ondaInversos
Probelmas acústica em um meio 31
homogêneo entre
de agosto de os
2017 4 / 40
Objetivos

• Dar continuidade ao projeto do perı́odo anterior

Acrescentar rotinas:
– Levantamento para varias fontes
– Cálculo da função objetivo e do gradiente
– Algoritmo de otimização

Kristian Torres Probelmas Inversos 31 de agosto de 2017 5 / 40


Objetivos

• Dar continuidade ao projeto do perı́odo anterior

Acrescentar rotinas:
– Levantamento multisource
– Cálculo da função objetivo e do gradiente
– Algoritmo de otimização
Implementar em modelo simples de várias camadas horizontais
”1D”(domı́nio 2D, apenas variação na velocidade vertical)
[m/s]
0
3500
3000
390 2500
2000
1500
780
0 1000 2000

Kristian Torres Probelmas Inversos 31 de agosto de 2017 6 / 40


Objetivos

• Dar continuidade ao projeto do perı́odo anterior

• Acelerar a rotina de inversão utilizando estratégias de


programação heterogênea:
– FWI(equação da onda) → alta exigência computacional
– Natureza iterativa → Atrativo para programação em paralelo
GPU(OpenAcc) e CPU (OpenMP)

Kristian Torres Probelmas Inversos 31 de agosto de 2017 7 / 40


Objetivos

• Dar continuidade ao projeto do perı́odo anterior

• Acelerar a rotina de inversão utilizando estratégias de


programação heterogênea:
– FWI(equação da onda) → alta exigência computacional
– Natureza iterativa → Atrativo para programação em paralelo
GPU(OpenAcc) e CPU (OpenMP)

• Primeira introdução desde o ponto de vista prático à


implementação de um algoritmo FWI

Kristian Torres Probelmas Inversos 31 de agosto de 2017 8 / 40


Objetivos

• Dar continuidade ao projeto do perı́odo anterior

• Acelerar a rotina de inversão utilizando estratégias de


programação heterogênea

• Primeira introdução desde o ponto de vista prático à


implementação de um algoritmo FWI

Kristian Torres Probelmas Inversos 31 de agosto de 2017 9 / 40


Objetivos

• Dar continuidade ao projeto do perı́odo anterior

• Acelerar a rotina de inversão utilizando estratégias de


programação heterogênea

• Primeira introdução desde o ponto de vista prático à


implementação de um algoritmo FWI

Kristian Torres Probelmas Inversos 31 de agosto de 2017 10 / 40


Objetivos

• Dar continuidade ao projeto do perı́odo anterior

• Acelerar a rotina de inversão utilizando estratégias de


programação heterogênea

• Primeira introdução desde o ponto de vista prático à


implementação de um algoritmo FWI

Kristian Torres Probelmas Inversos 31 de agosto de 2017 11 / 40


Problema direto

O modelo matemático
A equação da onda (isotrópica, acústica, 2D)
1 ∂2P ∂2P ∂P
m2 (x,z) ∂t2
= ∂x2
+ ∂z + f onte(x, z)
• Condições de contorno
• Condições iniciais

m(x, z) → G → dobs

G: operador não linear!

Kristian Torres Probelmas Inversos 31 de agosto de 2017 12 / 40


Problema direto - o método numérico

Aproximação de 4a ordem no espaço pelo MDF-Explı́cito


P(i,j) n+1 = α(P(i+2,j) n + P(i−2,j) n + P(i,j+2) n + P(i,j−2) n − 16(P(i+1,j) n ) +
P(i−1,j) n + P(i,j+1) n + P(i,j−1) n ) + 60P(i,j) n ) + 2P(i+2,j) n − P(i+2,j) n−1

t=n+1

t=n

t=n−1

Kristian Torres Probelmas Inversos 31 de agosto de 2017 13 / 40


Problema inverso

m(x, z) ← G ← dobs

dado dobs , achar m tal que G(m) ≈ dobs

Kristian Torres Probelmas Inversos 31 de agosto de 2017 14 / 40


Problema inverso

m(x, z) ← G ← dobs

dado dobs , achar m tal que G(m) ≈ dobs

Sabemos que:
– Problema não linear
– Mal-posto

Kristian Torres Probelmas Inversos 31 de agosto de 2017 15 / 40


Problema inverso

m(x, z) ← G ← dobs

dado dobs , achar m tal que G(m) ≈ dobs

Sabemos que:
– Problema não linear
– Mal-posto

Como atacar o problema inverso?

Kristian Torres Probelmas Inversos 31 de agosto de 2017 16 / 40


Problema inverso

m(x, z) ← G ← dobs

Como atacar o problema inverso?



Teoria de otimização

Kristian Torres Probelmas Inversos 31 de agosto de 2017 17 / 40


Problema inverso

m(x, z) ← G ← dobs

Como atacar o problema inverso?



Teoria de otimização

min fL2 (m) = 12 kdobs − G(m)k22

Kristian Torres Probelmas Inversos 31 de agosto de 2017 18 / 40


Problema inverso

m(x, z) ← G ← dobs

Como atacar o problema inverso?



Teoria de otimização

min fL2 (m) = 12 kdobs − G(m)k22

m = (GT G)−1 GT d
m = H−1 g

Kristian Torres Probelmas Inversos 31 de agosto de 2017 19 / 40


Problema inverso

m(x, z) ← G ← dobs

Como atacar o problema inverso?



Teoria de otimização

min fL2 (m) = 12 kdobs − G(m)k22

m = (GT G)−1 GT d
m = H−1 g

processo iterativo

atualizar m → g (m), H (m)

Kristian Torres Probelmas Inversos 31 de agosto de 2017 20 / 40


Problema inverso
∂fL2 (m)
Cálculo do gradiente g = ∂mi (Plessix, 2006)
• Derivada de Fréchet
• Método adjunto

Principal diferença:
Derivada de Fréchet (δm) → resolver M vezes se m = (m1 , m2 , ..., mM )

Kristian Torres Probelmas Inversos 31 de agosto de 2017 21 / 40


Problema inverso
∂fL2 (m)
Cálculo do gradiente g = ∂mi
• Derivada de Fréchet

dados modelo

Kristian Torres Probelmas Inversos 31 de agosto de 2017 22 / 40


Problema inverso
∂fL2 (m)
Cálculo do gradiente g = ∂mi
• Derivada de Fréchet

dados modelo


fL2

gradiente

Kristian Torres Probelmas Inversos 31 de agosto de 2017 23 / 40


Problema inverso
∂fL2 (m)
Cálculo do gradiente g = ∂mi
• Derivada de Fréchet
• Método adjunto

Basicamente, consiste em calcular o gradiente como a correlação de


dois campos de onda:

∂2P
∂fL2 (m) R tmax 2
∂mi =− 0 mi (x,z) ∂t2 ωres dt

Kristian Torres Probelmas Inversos 31 de agosto de 2017 24 / 40


Problema inverso
∂ 2 fL2 (m)
Cálculo da matriz Hessiana H = ∂mi ∂mj
• Métodos Quase-Newton

De forma geral:

Algoritmo 1 L-BFGS→ Partindo de m0 ∈ dom fL2 , H0  0


1: for 1, convergência do
2: calcula a direção ∆m = −Hn−1 gn
3: calcula o passo α (e.g. backtracking line-search)
4: atualiza o modelo mn+1 = mn + α∆m
5: calcula Hn
6: end for

• L-BFGS: não salva Hn na memória explicitamente → salva um


número finito dos últimos m valores de g

Kristian Torres Probelmas Inversos 31 de agosto de 2017 25 / 40


Implementação da rotina FWI

• Modelo sintético:
–Modelo de 4 camadas
 horizontais:   
v(m/s) = 1500, 2000, 3000, 38000 , z(m) = 80, 200, 200, 300
–Dimensões: 2000 × 780 metros (grid de 200 × 78 pontos)
–Condição de Dirichlet no topo do modelo
–PML nas bordas laterais e inferior (+20 pontos)
[m/s]
0
3500
3000
390 2500
2000
1500
780
0 1000 2000

Kristian Torres Probelmas Inversos 31 de agosto de 2017 26 / 40


Implementação da rotina FWI

• Modelo sintético:
–Modelo simples de 4 camadas horizontais
–Dimensões: 2000 × 780 metros (grid de 200 × 78 pontos)
–Condição de Dirichlet no topo do modelo
–PML nas bordas laterais e inferior (+20 pontos)
• Levantamento sı́smico:
–Número de fontes: 5 (∆fonte: 330 metros)
–Número de receptores: 200 (∆receptor: 10 metros)
–Tempo de gravação: 2 segundos
–Ondı́cula de Ricker: 40 Hz
–Profundidade dos receptores: 10 metros
–Profundidade das fontes: 10 metros
–Intervalo de amostragem: 0.004 segundos

Kristian Torres Probelmas Inversos 31 de agosto de 2017 27 / 40


Implementação da rotina FWI

• Levantamento sı́smico 5 fontes

Kristian Torres Probelmas Inversos 31 de agosto de 2017 28 / 40


Implementação da rotina FWI

• Levantamento sı́smico 5 fontes

Kristian Torres Probelmas Inversos 31 de agosto de 2017 29 / 40


Implementação da rotina FWI
Algoritmo 2 FWI(m0 , dobs , fonte, aquisição) no domı́nio do tempo
1: for 1, n◦ de iterações FWI do
2: res=0 . res: resı́duo
3: grad=0 . grad: gradiente
4: for 1, n◦ de fontes do
5: for 1, NPT do . NPT: n◦ de passos de tempo
6: modelagem direta→ dcal
7: end for
8: res+=fL2 (m) . acumula fL2 para todas as fontes
9: for 1, NPT do
10: modelagem direta→ ωres
11: end for
12: grad+=g(x, z) . acumula g para todas as fontes
13: end for
14: salva fL2 a cada iteração FWI
15: L-BFGS→ atualiza m0
16: end for

Kristian Torres Probelmas Inversos 31 de agosto de 2017 30 / 40


Resultados

• Modelo inicial
Modelo verdadeiro
0

[m/s]

390 3500

3000
780
0 1000 2000
Modelo inicial
0
2500

2000
390

1500

780
0 1000 2000
x [m]

Kristian Torres Probelmas Inversos 31 de agosto de 2017 31 / 40


Resultados

• 5 iterações
Modelo Inicial
0

[m/s]

3500
780
0 2000
Modelo verdadeiro
0
3000

2500

780
0 2000
Reconstrucao
0
2000

1500

780
0 2000
x [m]

Kristian Torres Probelmas Inversos 31 de agosto de 2017 32 / 40


Resultados

• 10 iterações
Modelo Inicial
0

[m/s]

3500
780
0 2000
Modelo verdadeiro
0
3000

2500

780
0 2000
Reconstrucao
0
2000

1500

780
0 2000
x [m]

Kristian Torres Probelmas Inversos 31 de agosto de 2017 33 / 40


Resultados

• 20 iterações
Modelo Inicial
0

[m/s]

3500
780
0 2000
Modelo verdadeiro
0
3000

2500

780
0 2000
Reconstrucao
0
2000

1500

780
0 2000
x [m]

Kristian Torres Probelmas Inversos 31 de agosto de 2017 34 / 40


Resultados

• 50 iterações
Modelo Inicial
0

[m/s]

3500
780
0 2000
Modelo verdadeiro
0
3000

2500

780
0 2000
Reconstrucao
0
2000

1500

780
0 2000
x [m]

Kristian Torres Probelmas Inversos 31 de agosto de 2017 35 / 40


Resultados

• 75 iterações
Modelo Inicial
0

[m/s]

3500
780
0 2000
Modelo verdadeiro
0
3000

2500

780
0 2000
Reconstrucao
0
2000

1500

780
0 2000
x [m]

Kristian Torres Probelmas Inversos 31 de agosto de 2017 36 / 40


Resultados

• 175 iterações
Modelo Inicial
0

[m/s]

3500
780
0 2000
Modelo verdadeiro
0
3000

2500

780
0 2000
Reconstrucao
0
2000

1500

780
0 2000
x [m]

Kristian Torres Probelmas Inversos 31 de agosto de 2017 37 / 40


Resultados

• Função objetivo
Evolucao da funcao objetivo

10 4
fL2(m)

10 5

0 25 50 75 100 125 150 175


Iteracoes

Kristian Torres Probelmas Inversos 31 de agosto de 2017 38 / 40


Conclusões

• Resolve relativamente bem a primeira interface e a terceira


camada (≈ 3000 (m/s)), não resolve a quarta camada. :(

• Dependência do modelo inicial → fazer teste com uma versao


suavizada do modelo real e comparar.

• Colocar mais fontes para aumentar a iluminação, especialmente


nas bordas do modelo.

• Inverter no domı́nio da frequência (menos exigente com o modelo


inicial) e comparar.

• poderia ter sido pior

Kristian Torres Probelmas Inversos 31 de agosto de 2017 39 / 40


Conclusões

Obrigado!

Kristian Torres Probelmas Inversos 31 de agosto de 2017 40 / 40

Vous aimerez peut-être aussi