[petsc-users] Improving performance for parallel CFD simulation

TAY wee-beng zonexo at gmail.com
Thu Apr 21 07:07:06 CDT 2011


Hi,

Since there is a similar topic on improving performance of CFD using 
PETSc earlier, I hope to improve my current CFD solver performance too.

I wrote it in Fortran90 with MPI. It is a Immersed Boundary Method (IBM) 
Navier-Stokes Cartesian grid solver in 2D, although I hope to extend it 
to 3D in the future. I solve the NS equations using fractional step 
which results in 2 equations - the momentum and Poisson equations. They 
are then linearized into systems of equations.

I currently solve the momentum solver using PETSc with KSPBCGS. For the 
Poisson equation, I was using hypre's BoomerAMG. But I have changed to 
using the geometric multigrid solver from hypre since it's slightly faster.

Currently, I am dividing my grid along the y direction for MPI into 
equal size for each processor. I guess this is not very efficient since 
beyond 4 processors, the scaling factor drops.

I think implementing the distributed array should increase performance, 
is that so? I wonder how difficult it is because most examples are in C 
and I am not so used to that. I am also using staggered grid but I will 
most likely changed to a collocated grid arrangement.

What other suggestions do you have to improve the solver's performance 
using PETSc?

Thank you very much.

Yours sincerely,

TAY wee-beng




More information about the petsc-users mailing list