User Tools

Site Tools


petsc_test

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
petsc_test [2016/08/09 16:29] jefersonpetsc_test [2019/07/29 20:12] (current) freitash
Line 4: Line 4:
  
 <file> <file>
-KSP - Solvers para Equações Lineares;+KSP - Solvers para Equações Lineares baseados em métodos de Krylov (Krylov Subspace Methods);
 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 Algébricas (DAE) escalonáveis. TS - Solvers para  Equações Diferenciais Ordinárias (ODE) e Algébricas (DAE) escalonáveis.
Line 21: Line 21:
 <code> <code>
 cd {PETSC_DIR}/src/ksp/ksp/examples/tutorials cd {PETSC_DIR}/src/ksp/ksp/examples/tutorials
 +</code>
 +
 +copie o exemplo para uma pasta do usuário (considerando a instalação em ///opt//)
 +
 +<code>
 +cp ex50.c ~/
 +cp makefile ~/
 +cd
 </code> </code>
  
Line 29: Line 37:
 </code> </code>
  
-Este exemplo resolve, usando método multigrid, a equação de Poisson 2D: +Este exemplo resolve, usando método multigrid, a equação de Poisson 2D: ∇·(∇p)=f(x,y) no domínio 0 ≤ {displaystyle leq } ≤ x,y ≤ 1, com f(x,y)=-cos(nπx)·cos(nπy) e condições de Neumann: dp/dx = 0 para x=0 e x=1 e dp/dy=0 para y=0 e y=1.
-∇·(∇p)=f(x,y) no domínio 0 +
-<font inherit/inherit;;inherit;;inherit>≤   {\displaystyle \leq }</font> +
-≤ x,y ≤ 1, com f(x,y)=-cos(nπx)·cos(nπy) e condições de Neumann: dp/dx = 0 para x=0 e x=1 e dp/dy=0 para y=0 e y=1.+
  
-Para executar um exemplo usando apenas 1 processador, uma malha estruturada 3x3 e visualizar a matriz montada, duas opções são possíveis:+Para executar um exemplo usando apenas 1 processador, uma malha estruturada 3×3 e visualizar a matriz montada, duas opções são possíveis:
  
 <code> <code>
Line 42: Line 47:
 </code> </code>
  
-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, aumentando o desempenho computacional. Caso não seja necessário visualizar a matriz montada, pode-se retirar a opção '-mat_view'+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, aumentando o desempenho computacional. Caso não seja necessário visualizar a matriz montada, pode-se retirar a opção '-mat_view'.
  
-Run with a 120x120 mesh on 16 processors using superlu_dist and view the solver options used+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:
  
 <code> <code>
-mpiexec -n 16 ./ex50  -da_grid_x 120 -da_grid_y 120 -pc_type lu -pc_factor_mat_solver_package superlu_dist -ksp_monitor -ksp_view+mpiexec.openmpi -n 16 ./ex50 -da_grid_x 2049 -da_grid_y 2049 -pc_type mg -pc_mg_levels 10 -ksp_monitor
 </code> </code>
  
-Run with a 2049x2049 grid using multigrid solver on 16 processors with 10 multigrid levels +Para o teste de alguns outros exemplos utilizando os pacotes SNES e TS, por exemplo, pode-se consultar [[http://www.mcs.anl.gov/petsc/petsc-current/tutorials/HandsOnExercise.html|este site]].
- +
-<code> +
-mpiexec -n 16 ./ex50 -da_grid_x 2049 -da_grid_y 2049 -pc_type mg -pc_mg_levels 10 -ksp_monitor +
-</code>+
  
  
petsc_test.1470760147.txt.gz · Last modified: by jeferson