16
Simulação numérica em Ambiente Manuel Costa [email protected]

Simulação numérica em Ambiente Manuel Costa [email protected]

Embed Size (px)

Citation preview

Page 1: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Simulação numérica em Ambiente

Manuel [email protected]

Page 2: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Áreas de aplicação : Qualidade da água

Page 3: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Áreas de aplicação : Furacões

Page 4: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Áreas de aplicação : Ondulação

Page 5: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Tipos de modelos

• Modelos baseados em Equações diferenciais (bastante genéricos)

- Diferenças Finitas (ex: Euler, Runge-Kutta)- Elementos Finitos- Volumes Finitos

• Modelos mais específicos (alguns exemplos)

- Autómatos Celulares- Modelos de Monte Carlo

Page 6: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Simulação do transporte de poluentes

• O Transporte de poluentes tanto no ar como em corpos de água é dado por duas componentes:

- Advecção : Velocidade média do corpo de água ou ar

- Dispersão : Representa uma medida da turbulência do meio de transporte

Page 7: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Simulação dinâmica do transporte de poluentes

• Existem duas formas típicas de se simular o transporte:

- Fluxo de concentrações : baseia-se em métodos de discretização de equações diferenciais

- Particle Tracking : discretiza-se a massa de poluente em pequenas unidades (partículas) e procede-se à simulação individual

Page 8: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Particle tracking

Page 9: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Particle tracking

• Estes modelos misturam a teoria de transporte que se baseia na Lei de Fick com conceitos de física estocástica

• São simples de implementar e apresentam bastante “robustez numérica”

• Normalmente são do tipo “Monte Carlo”

Page 10: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Particle tracking : Modelo 1D para estuários ou rios

Pro

bab

ilid

ade

x0

Ddt2

x0+udt

t0

t1

Pro

babi

lidad

e

udt

Page 11: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Particle tracking : Modelo 1D para estuários ou rios

Se considerarmos que a velocidade de um corpo de água é constante, que o rio ou estuário apresentam uma batimetria e largura uniforme, o movimento de uma partícula pode ser dada por:

nZDdtudtxdx 20

Page 12: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Particle tracking : Modelo 1D para estuários ou rios

x0 = posição inicialdx = deslocamento da partícula durante o

período dtD = coeficiente de dispersão

Zn = vector com média 0 e variância unitária

nZDdtudtxdx 20

Page 13: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Particle tracking : Modelo 1D para estuários ou rios

• Como proceder para simular o deslocamento de uma partícula?

1º Discretizar o tempo dt→∆t=>dx →∆x

2º Escolher uma distribuição para Zn (iremos assumir que a distribuição é uniforme)

Page 14: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Particle tracking : Modelo 1D para estuários ou rios

nZtDtuxx 20

t0u∆t

tD 2 tD2

t1

Page 15: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Particle tracking : Modelo 1D para estuários ou rios

• Se assumirmos a distribuição uniforme para o deslocamento turbulento como saber os limites de deslocamento?

tDx 2

Conhecendo média, d. padrão e distribuição

0x

Pro

babi

lidad

e

-b b tDb 6

Podemos obter os limites (b)

Page 16: Simulação numérica em Ambiente Manuel Costa manuel.costa@ydreams.com

Particle tracking : Modelo 1D para estuários ou rios

• O deslocamento de uma partícula a cada passo de tempo pode assim ser dado por:

tDRandDispersão 612

tuAdvecção

∆x = Advecção + Dispersão

Rand = nº aleatório entre 0 e 1