petsc_test
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
petsc_test [2016/08/09 15:42] – jeferson | petsc_test [2019/07/29 20:12] (current) – freitash | ||
---|---|---|---|
Line 4: | Line 4: | ||
< | < | ||
- | KSP - Solvers para Equações Lineares; | + | KSP - Solvers para Equações Lineares |
SNES - Solvers para Equações Não Lineares; | SNES - Solvers para Equações Não Lineares; | ||
- | TS - Solvers para Equações Diferenciais Ordinárias (ODE) e Equações Diferenciais | + | TS - Solvers para Equações Diferenciais Ordinárias (ODE) e Algébricas (DAE) escalonáveis. |
</ | </ | ||
- | O teste desses | + | Os exemplos |
+ | |||
+ | < | ||
+ | KSP - {PETSC_DIR}/ | ||
+ | SNES - {PETSC_DIR}/ | ||
+ | TS - {PETSC_DIR}/ | ||
+ | </ | ||
+ | |||
+ | Para testar um exemplo qualquer, em C/C++, basta acessar seu diretório, por exemplo: | ||
+ | |||
+ | < | ||
+ | cd {PETSC_DIR}/ | ||
+ | </ | ||
+ | |||
+ | copie o exemplo para uma pasta do usuário (considerando a instalação em ///opt//) | ||
+ | |||
+ | < | ||
+ | cp ex50.c ~/ | ||
+ | cp makefile ~/ | ||
+ | cd | ||
+ | </ | ||
+ | |||
+ | Em seguida, a compilação | ||
+ | |||
+ | < | ||
+ | make ex50 | ||
+ | </ | ||
+ | |||
+ | Este exemplo resolve, usando método multigrid, a equação de Poisson 2D: ∇·(∇p)=f(x, | ||
+ | |||
+ | Para executar um exemplo usando apenas 1 processador, | ||
+ | |||
+ | < | ||
+ | ./ex50 -da_grid_x 4 -da_grid_y 4 -mat_view | ||
+ | |||
+ | mpiexec.openmpi -n 1 ./ | ||
+ | </ | ||
+ | |||
+ | Na primeira opção pode-se alterar as dimensões do problema, porém sempre será resolvido utilizando-se apenas um processador. Executando da segunda forma, pode-se alterar o número de processadores, | ||
+ | |||
+ | Com este mesmo exemplo pode-se testar por exemplo uma malha de 2049×2049 utilizando o solver multigrid com 16 processadores e 10 níveis multigrid com o comando: | ||
+ | |||
+ | < | ||
+ | mpiexec.openmpi -n 16 ./ex50 -da_grid_x 2049 -da_grid_y 2049 -pc_type mg -pc_mg_levels 10 -ksp_monitor | ||
+ | </ | ||
+ | |||
+ | Para o teste de alguns outros exemplos utilizando os pacotes SNES e TS, por exemplo, pode-se consultar [[http:// | ||
petsc_test.1470757374.txt.gz · Last modified: by jeferson