• Nenhum resultado encontrado

Rogério Luis Rizzi, D.Sc. Centro de Ciências Exatas e Tecnológicas

N/A
N/A
Protected

Academic year: 2021

Share "Rogério Luis Rizzi, D.Sc. Centro de Ciências Exatas e Tecnológicas"

Copied!
62
0
0

Texto

(1)

Rogério Luis Rizzi, D.Sc

(2)

Modelagem Computacional Paralela para

Problemas da Hidrodinâmica e de Transporte

de Substâncias

I Jornada de Computação de Alto Desempenho

- LNCC,

(3)

INTRODUÇÃO

Um adequado tratamento sobre um tema tão relevante e

amplo quanto a

Modelagem Computacional Paralela para

Problemas da Hidrodinâmica e de Transporte de

Substâncias

deveria considerar:

A Modelagem;

As Etapas de um Modelo Computacional Paralelo;

Os Modelos Hidrodinâmico e de Transporte de

Substâncias.

Sem apropriado conhecimento dos fundamentos físicos,

matemáticos e computacionais não se faz modelagem

computacional!

(4)

INTRODUÇÃO

No que se refere ao

MODELO COMPUTACIONAL PARALELO

• 01: Ambiente Computacional;

• 02: Modelos Matemáticos (hidrodinâmica e de transporte); • 03: Geração de Malhas Numéricas;

• 04: Particionamento de Malha; • 05: Balanceamento de Carga; • 06: Métodos de Discretização;

• 07: Construção de Esquemas Numéricos;

• 08: Métodos de Solução de Sistemas de Equações; • 09: Solução Paralela.

(5)

Modelos HIDRA e UnHIDRA

(Unstructured HIDRA)

(6)
(7)

Modelo Matemático

(8)

Modelo Matemático

Modelo para a hidrodinâmica 3D

(águas rasas, hidrostático):

Modelo para o transporte de substâncias 3D:

(9)
(10)

MODELO HIDRODINÂMICO

Principais aspectos da formulação

(11)

Modelos Discretizados

Abordagem para solução da ESW: método de Casulli:

– Separação dos termos das EDPs responsáveis pela estabilidade do algoritmo de solução numérica;

– Desacoplamento da solução através da substituição das expressões para as velocidades na expressão para os níveis de água;

– Redução do amortecimento na integração temporal: abordagem de Patnaik;

– Modo implícito: gradientes de elevação da superfície da água, difusão vertical, equação da continuidade;

– Modo explícito: advecção (horizontal e vertical), difusão horizontal e força de Coriolis;

– O algoritmo numérico é semi-implícito, SDP, tem mínima implicidade, sendo que a estabilidade independe da celeridade.

(12)

Modelos Discretizados

• Discretização semi-implícita e semi-lagrangeana em volumes finitos e diferenças finitas para a Hidrodinâmica:

• Abordagem semi-implicita;

• Equações são invariantes sob rotação simples;

• Especificação de diversas condições de contorno;

• Esquemas para interpolação (malha, semi-lagrangeano, etc.);

• Métodos para localizar e interceptar pontos;

• Métodos de integração Runge-Kutta regressivo (2ª-3ª O);

• Subciclo para a integração temporal dos termos explícitos;

• Método do GC, Thomas e de Cholesky;

(13)

Modelos Discretizados

(14)

Modelos Discretizados

onde:

(15)

Modelos Discretizados

Algoritmo (hidrodinâmica)

Inicializa Inicializa Inicializa

Inicializaççççãoãoão e condião e condie condie condiçççções de contorno para a Hidrodinâmicaões de contorno para a Hidrodinâmicaões de contorno para a Hidrodinâmicaões de contorno para a Hidrodinâmica

1. 1. 1.

1. Decompõe_UDecompõe_UDecompõe_UDecompõe_UNNNN_interior_interior_interior_interior

2. 2. 2.

2. Calcula_U_e_V_nodosCalcula_U_e_V_nodosCalcula_U_e_V_nodosCalcula_U_e_V_nodos interiorinteriorinteriorinterior

3. 3. 3.

3. Calcula_velocidades_lagrangeanasCalcula_velocidades_lagrangeanasCalcula_velocidades_lagrangeanasCalcula_velocidades_lagrangeanas

4. 4. 4.

4. Calcula_pressão_e_densidadeCalcula_pressão_e_densidadeCalcula_pressão_e_densidadeCalcula_pressão_e_densidade

5. 5. 5.

5. Calcula_coeficientes_viscosidadeCalcula_coeficientes_viscosidadeCalcula_coeficientes_viscosidadeCalcula_coeficientes_viscosidade

6. 6. 6.

6. Calcula_difusãoCalcula_difusãoCalcula_difusãoCalcula_difusão

7. 7. 7.

7. Calcula_subciclosCalcula_subciclosCalcula_subciclosCalcula_subciclos

8. 8. 8.

8. Calcula_operador_FUCalcula_operador_FUCalcula_operador_FUCalcula_operador_FU

9. 9. 9.

9. Atualiza_FronteirasAtualiza_FronteirasAtualiza_FronteirasAtualiza_Fronteiras

10. 10. 10.

10. Monta_matriz_G_e_monta_matriz_AMonta_matriz_G_e_monta_matriz_AMonta_matriz_G_e_monta_matriz_AMonta_matriz_G_e_monta_matriz_A

11. 11. 11.

11. Calcula_inversas_ACalcula_inversas_ACalcula_inversas_ACalcula_inversas_A

12. 12. 12.

12. Resolve_nivelResolve_nivelResolve_nivelResolve_nivel

13. 13. 13.

13. Calcula_UCalcula_UCalcula_UCalcula_U

14. 14. 14.

14. Calcula_WCalcula_WCalcula_WCalcula_W

15. 15. 15.

15. Atualiza_Atualiza_Atualiza_Atualiza_úúúúltima_camadaltima_camadaltima_camadaltima_camada

16. 16. 16.

(16)

MODELO DE TRANSPORTE

Principais aspectos da formulação

(17)

Modelos Discretizados

Discretização semi-implícita e semi-lagrangeana em volumes

finitos (e diferenças finitas) para o Transporte

• Diversas abordagens: esquemas semi-implícitos;

• Discretização semi-lagrangeana 2D por camadas, 3D;

• Discretização via método FLM Sweby;

• Discretização via método de Casulli, etc.;

• Esquemas para interpolação (malha, semi-lagrangeano, etc.);

• Métodos para localizar e interceptar pontos;

• Métodos de integração Runge-Kutta regressivo (2ª-3ª O);

• Subciclo para a integração temporal dos termos explícitos;

(18)

Modelos Discretizados

Modelo Discretizado(MDF+MVF):

(19)

Modelos Discretizados

Algoritmo (transporte)

Inicializa Inicializa Inicializa

Inicializaççççãoãoãoão e condie condie condie condiçççções de contorno para o transporteões de contorno para o transporteões de contorno para o transporteões de contorno para o transporte

1. 1. 1.

1. Calcula_e_atualiza_Calcula_e_atualiza_Calcula_e_atualiza_Calcula_e_atualiza_úúúúltima_camadaltima_camadaltima_camadaltima_camada

2. 2. 2.

2. Calcula_C_mCalcula_C_mCalcula_C_mCalcula_C_méééédiodiodiodio

3. 3. 3.

3. Calcula_C_virtualCalcula_C_virtualCalcula_C_virtualCalcula_C_virtual

4. 4. 4.

4. Calcula_funCalcula_funCalcula_funCalcula_funçççção_monitoraão_monitoraão_monitoraão_monitora

5. 5. 5.

5. Calcula_funCalcula_funCalcula_funCalcula_funçççção_limitadoraão_limitadoraão_limitadoraão_limitadora

6. 6. 6.

6. Calcula_funCalcula_funCalcula_funCalcula_funçççção_interpoladoraão_interpoladoraão_interpoladoraão_interpoladora

7. 7. 7.

7. Calcula_subciclosCalcula_subciclosCalcula_subciclosCalcula_subciclos

8. 8. 8.

8. Monta_vetor_BMonta_vetor_BMonta_vetor_BMonta_vetor_B

9. 9. 9.

9. Monta_coeficientes_matriz_AMonta_coeficientes_matriz_AMonta_coeficientes_matriz_AMonta_coeficientes_matriz_A

10. 10. 10.

10. Resolve_sistemaResolve_sistemaResolve_sistemaResolve_sistema

11. 11. 11.

(20)
(21)

Domínio Computacional

Malha horizontal: Não-Estruturada Ortogonal

• A escolha da MNEO está vinculada ao método de solução; • Os triângulos devem ser acutângulos (θθθθ<90º);

(22)

Domínio Computacional

(23)

Domínio Computacional

Problemas 3D

(24)

inflow

outflow

Complexidade da fronteira inferior, onde há um grande aninhamento de isolinhas nas regiões

mais rasas e no canal de navegação

Domínio Computacional

(25)

Domínio Computacional

Particionamento de malha:

– Problema de particionamento de grafos, onde os vértices

representam os nodos da malha e as arestas representam a relação de vizinhança (faces elementos);

– Um problema de k-particionamento de grafos, que consiste em dividir o grafos em k subgrafos, tal que cada um contenha quantidade proporcional de vértices e que a quantidade de arestas entre os subgrafos seja mínima;

Alguns atributos desejados:

– Distribuição balanceada da carga entre os processadores que devem receber uma qtde de elementos proporcional a sua

capacidade de processamento;

– Minimização do tempo de sincronização entre os processadores através da minimização do número total de arestas (ou nodos) das fronteiras.

(26)

Domínio Computacional

• Geração de Malhas Não-Estruturadas:

— TRIANGLE, EASYMESH, ...

• Particionamento do Domínio Computacional:

— METIS, CHACO, JOSTLE,...

• Visualização:

(27)

Domínio Computacional

(28)

Domínio Computacional

• Malha gerada para discretizar

a Lagoa dos Patos

• Malha Particionada em 12 subdomínios

(29)

Domínio Computacional

(30)

Domínio Computacional

Malha gerada

para discretizar o

Lago de Itaipu

(31)

Domínio Computacional

(32)

Domínio Computacional

• Malha Particionada em 18 subdomínios

• Malha gerada para discretizar o Rio Guaíba

(33)
(34)

Solução Paralela

Cluster de PC (UNIOESTE): Linux, gcc, C;

— Boa relação custo/benefício;

(35)

Solução Paralela

Decomposição de dados:

Paralelização de algoritmos (

solver

), PETSC

O sistema de equações global é resolvido através de um

método paralelizado;

Métodos do subespaço de Krylov (GC, GMRES,...)..

Decomposição de domínio:

Método Schur;

Método Aditivo Schwarz.

Balanceamento de carga;

Métodos Multigrid;

(36)

Métodos de decomposição de domínio (MDD):

– Conjunto de técnicas e métodos matemáticos, numéricos e computacionais para resolver problemas em paralelo;

– A solução global é obtida pela combinação apropriada das soluções locais;

– Os subdomínios são tratados (quase) independentemente.

(37)

Guaíba 200

Solução Paralela

D_data x MDD

Legenda

(38)

Solução Paralela

• MDD Aditivo Schwarz : com sobreposição (que pode variar)

0

a) b)

1

• Região sobreposta assegura a continuidade da solução;

• CC obtidas conhecendo-se os valores das vizinhanças.

(39)

Solução Paralela

• MDD Schur: sem sobreposição (solução sistema de interface)

• Células são ordenadas de forma que as que pertencem às fronteiras são numeradas após as internas;

• Continuidade da solução garantida pela solução de um sistema de interface;

• Aproximação para a inversa para evitar preenchimento da matriz;

• O termo Eij faz a interação entre a interface local e a interface dos vizinhos.

(40)

Solução Paralela

Métodos multigrid (MM):

– MM estão associados ao comportamento da convergência de métodos iterativos (MI);

– MI são eficientes na eliminação dos componentes de alta freqüência, mas não na supressão das componentes suaves dos erros;

– Como as componentes suaves do erro aparecem ser mais oscilatórios em malha menos refinada, a idéia é transferir o problema para malha com resolução mais grosseira;

– A repetição desse processo origina métodos multigrid;

– O processo inicia no nível mais grosseiro da malha, onde é encontrada uma solução inicial. Essa solução é transferida para uma malha mais refinada e o processo se repete até que o nível mais refinado seja alcançado.

(41)

Solução Paralela

• MMG, que usam informações geométricas do problema, consistem basicamente em:

– Utilização de métodos iterativos: objetiva suavizar os erros;

– Transferência de informações entre malhas: operadores de interpolação e de restrição;

– Correção em malha grossa: obter uma aproximação para o erro na malha grossa que é utilizada para corrigir a solução na malha fina.

(42)

Solução Paralela

(43)

Solução Paralela

Métodos multigrid e MDD:

Etapa 1: Geração e particionamento de malhas;

Etapa 2: Criação da hierarquia de malhas;

• Inicialmente gera-se a malha mais grossa. Gera-se as demais malhas através de subdivisão sucessiva dos elementos.

(44)

Solução Paralela

Métodos multigrid e MDD:

Etapa 3: Montagem dos sistemas de equações;

...

(45)

Solução Paralela

Métodos multigrid e MDD

– Método iterativo GMRES: para obter a solução em cada nível da malha;

– Multigrid: para acelerar a convergência do método;

– Métodos de Decomposição de Domínio: para obter a solução em paralelo.

(46)

Balanceamento de carga

– consiste em atribuir cargas proporcionais entre diversos processadores;

– Objetiva diminuir o tempo ocioso dos processadores;

– Pode ser:

• Estático: Quando toda a informação para o balanceamento está disponível antes do processamento.

• Semi-estático: O balanceamento ocorre lentamente ao longo do tempo. Emprega-se um algoritmo estático no início e permite-se que a mesma possua algum desbalanceamento após certo número de passos, quando então é aplicado novamente o algoritmo.

• Dinâmico: Utilizado em situações onde a carga dos processadores varia durante a execução tornando necessário a redistribuição de carga para manter o equilíbrio.

(47)

O balanceamento deve ser feito de forma a atender três

requisitos básicos:

– A carga de trabalho deve ser bem balanceada entre os processadores;

– A comunicação entre os processadores deve ser minimizada;

– O tempo de execução do algoritmo de balanceamento deve ser tal que o ganho obtido com seu uso seja maior que o custo de sua execução.

Deve considerar:

– Avaliação da Carga;

– Verificação da relação custo-benefício;

– Cálculo da carga a ser transferida;

– Transferência da carga. 47

(48)

Substâncias saindo do domínio computacional.

(49)

Destaque na execução do transporte de substâncias, que é

calculado em

malha refinada localmente

, e que é obtida a

partir da malha da hidrodinâmica.

(50)

Solução Paralela

• Alguns resultados: Malha

do Rio Guaíba particionada com o RCB, (com campo de velocidades):

• Alguns resultados: Malha do Rio Guaíba particionada com o METIS, (com campo de velocidades):

(51)

Solução Paralela

• Alguns resultados

(52)

Solução Paralela

• Alguns resultados 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.6 0.1 0.5 0.4 0.3 0.2 it e ra ç ã o 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.6 0.1 0.5 0.4 0.3 0.2 it e ra ç ã o 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.6 0.1 0.5 0.4 0.3 0.2 it e ra ç ã o 3

(53)

Solução Paralela

• Alguns resultados

(54)

Solução Paralela

• Alguns resultados

– Neumann (gradiente nulo) para fronteiras outflow; – Dirichlet para fronteiras inflow.

• CC gradiente nulo na Decomposição de dados;

(55)

Solução Paralela

• Alguns resultados

(56)

Solução Paralela

• Alguns resultados

(57)

Solução Paralela

• Alguns resultados: Métodos e pré-condicionadores:

0.33 0.39 0.410.34 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Número de Proce ssos (Guaiba_200)

E fi c iê n c ia

GC KS-DIC(0) KS-IC(0) GC-Pol

0.62 0.70 0.68 0.62 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Núme ro de Proce ssos (Guiba_100)

E fi c iê n c ia

(58)

Solução Paralela

• Alguns resultados - Métodos GC ×××× Krylov-Schwarz ×××× MAAS :

0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50 0.55 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Número de processos (Guaiba_200)

T e m p o d e e x e c u ç ã o (s ) . .. GC KS-DIC(0) MAAS 0.20 0.160.32 0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80 2.00 2.20 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Número de processos (Guaiba_100)

T e m p o d e e x e c u ç ã o ( s ) . GC KS-DIC(0) MAAS

(59)

Solução Paralela

Alguns

resultados:

Qualidade

numérica

solução

monoprocessada x solução paralela.

A curáci a (qual idade n uméri ca) em 500 ci cl os: sol ução mon oprocessada x sol ução paralela (float )

0 .0 0 E +0 0 5 .0 0 E -0 7 1 .0 0 E -0 6 1 .5 0 E -0 6 2 .0 0 E -0 6 2 .5 0 E -0 6 3 .0 0 E -0 6 3 .5 0 E -0 6 4 .0 0 E -0 6 1 3 5 7 9 1 1 1 3 1 5 1 7 1 9 2 1 2 3 2 5 2 7 2 9 Nú m e ro d e c é lu la s (la d o e s q u e rd o )

A curáci a (quali dade n umérica) em 500 ci cl os: sol ução mon oprocessada x sol ução paralela (doub le )

0 .0 0 E +0 0 5 .0 0 E -1 2 1 .0 0 E -1 1 1 .5 0 E -1 1 2 .0 0 E -1 1 2 .5 0 E -1 1 3 .0 0 E -1 1 3 .5 0 E -1 1 4 .0 0 E -1 1 4 .5 0 E -1 1 1 3 5 7 9 1 1 1 3 1 5 1 7 1 9 2 1 2 3 2 5 2 7 2 9 Nú me ro d e c é lu la s (la d o e s q u e rd o )

(60)

Solução Paralela

Alguns resultados:

Qualidade numérica método paralelo

(Método Krylov-Schwarz x GC):

(61)

1. BATISTA, F.: Unioeste / Mestrando UFRGS; 2. DILLON, A. B.: UCS;

3. LAMBOIA, F.: Unioeste / Mestranda UFPR; 4. OLIVEIRA, M. P.: MAT - Unioeste;

5. PERLIN, H. A.: Unioeste / Mestrando UTFPR 6. ROMANO, G.: Mestrando UFRGS;

7. SAUTER, E: Unioeste / Mestrando UFRGS; 8. SCHMIDT, C. C.: Unioeste / M.Sc pela UFRN; 9. VASATA, D.: INF - Unioeste;

10. ZAGO, R. L.: Unioeste / Mestrando UFRGS; 11. ANGELOSSI, K. H.: MAT / INF - Unioeste; 12. MENEZES, R. R.: Formado Unioeste;

13. MARTINOTTO, A. L. (Doutorando, prof. UCS); 14. PICININ, D. (M.Sc, prof. UCS).

15. GUILHERME GALANTE, M.Sc – prof. Unioeste; 16. ROGÉRIO LUIS RIZZI D.Sc. – prof. Unioeste;

17. RICARDO VARGAS DORNELES, D.Sc. – prof. UCS.

(62)

Acabou

Acabou

rogerio@unioeste.br

Referências

Documentos relacionados

Os resultados permitiram concluir que a extração do arilo feita sobre peneira de malha de aço, imersão em cal virgem a 10%, fricção sobre peneira de malha de aço com areia

Os critérios de inclusão definidos para a seleção dos artigos foram: artigos em língua inglesa e portuguesa; artigos que trouxessem dados acerca dos aspectos clínicos do HPV

Ao contr´ ario da temperatura, press˜ ao e volume, o calor e o trabalho n˜ ao s˜ ao propriedades intr´ınsecas de um sistema; tˆ em significado f´ısico apenas quando descrevem

São utilizados operadores para transferir informações entre a malha fina e a malha imediatamente mais grossa (operadores de restrição); e entre a malha grossa e a malha

Temperatura 30 25 27 32 BD Integrado Média(Temperatura) Sensor A  Procedência “BD Integrado” ◦ Detalhamento da fonte Fonte Dados utilizados no cálculo da média?. Why e

Artigo 300 do NCPC: &#34; A tutela de urgência será concedida quando houver elementos que evidenciem a probabilidade do direito e o perigo de dano ou resultado útil

O fitotensiômetro de Alvim é amplamente utilizado para demonstrar a variação da turgescência do tronco, que é reduzida durante o dia, como efeito líquido da transpiração que

Os advogados públicos atuam na defesa do Estado, isto é, dos entes públicos a que pertencem (União, Estados, Municípios e suas respectivas autarquias e fundações),