[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