CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Parallelization of a CFD code (https://www.cfd-online.com/Forums/main/62645-parallelization-cfd-code.html)

mixanologos March 16, 2009 06:29

Parallelization of a CFD code
 
Hallo CFD experts!

I'm trying to paralize a cfd code at algebraic system level. I have read a lot, and i concluded that Domain Decomposition and Alternating Schwarz method is a good choice.
I tried to use Alternating Schwarz method (with overlaping domains) as preconditioner for GMRES. I'm solving (in parallel) the preconditioned system in each iteration with GMRES again, but with low accuracy.
Nevertheless, results are'n got... I have no reduce in time. And the iterations of the outer GMRES doesn't reduce much.
I'm testing the method in a very simple problem: Poisson equation in a close cube.
Is the method i use the right one, or I'm doing something wrong?
What methods are being used mostly in commercial codes?

Many thanks :)

Marcus March 16, 2009 10:36

A lot of questions come to mind... domain decomposition is certainly the way to go, but

What hardware and languages are you using? Overhead associated with parallelization and the granularity of your problem have a huge effect on your speedup. e.g., if you're using a distributed memory setup, and you're writing a very fine-grained code (lots of data exchange in a given iteration), you'll often get code that was slower than the original serial code.

mixanologos March 17, 2009 01:50

Quote:

Originally Posted by Marcus (Post 209638)
A lot of questions come to mind... domain decomposition is certainly the way to go, but

What hardware and languages are you using? Overhead associated with parallelization and the granularity of your problem have a huge effect on your speedup. e.g., if you're using a distributed memory setup, and you're writing a very fine-grained code (lots of data exchange in a given iteration), you'll often get code that was slower than the original serial code.

Well, i haven't yet try to write it in parallel :D
I haven't do it because i count the total time that precondition systems need to run, i divide it with the number of processes (=number of subdomains) and i calculate the time of parallel code (minimum time because no data exchange time included). But this minimum time is still above the normal time of serial GMRES/ILU solver :confused:

That's why i'm wondering if Domain Decomposition and additive Schwarz preconditioner is a way to go.

Thanks for the reply!


All times are GMT -4. The time now is 00:25.