CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Programming & Development (
-   -   Parallelization with halo layer (

thibault_pringuey February 16, 2011 13:14

Parallelization with halo layer

I need a version of the parallel processing of OpenFOAM that would work with halo layers (the code as it is adopts a zero-halo decomposition of the domain).

Has anyone already done that in OpenFOAM?

I had a look at the parallelProcessing utilities and at the Pstream classes. It seems that the code has the potential for an implementation of halo layers but I cannot quite work out how.

Could anyone put me in the right direction and/or advise me some detailed documentation on the way the parallelization is implemented in OpenFOAM?

Many thanks,


thibault_pringuey April 2, 2011 15:23

Done it + tested it

mohanamuraly April 14, 2011 23:49


Can you explain more about your the n-halo cells implementation in OF. I am trying to do that, and would appreciate some useful pointers.



thibault_pringuey October 30, 2012 15:52

1 Attachment(s)

Apologies for slow response.

I have attached an extract from my thesis that provides an outline on the method that I have employed.

I needed nHalo parallel capability to solve explicitly some equations, but in the same time wanted to solve other equations implicitly using the existing algebraic solvers (coded for 0Halo parallel computing) on the same domain. I had to produce the trick described.

If you need to solve all your equations explicitly, then the method is pretty straightforward. If you want to solve your equations implicitly, you really need to re-code the algebraic solvers with a nHalo capability, which is a big task.

In any case, I suggest that you read the Pstream class and the decomposePar utility and its associated classes.

Hope this helps.


mohanamuraly October 31, 2012 02:47

Thanks for the reply Thibault,

Looks like you have done an excellent work there for the thesis. Yes I am using the Pstream libs and interestingly I am implementing the same higher order WENO scheme !!

I created what are called as near-neighbor query lists and pass them around in parallel and get the processor location of each of the neighbor cell IDs. So I end up constructing a separate data-movement schedule for N-level of cell neighbors (required for my WENO). It is not very efficient for large problems but since it is one time construction I don't worry much about it. I wish OF guys made a n-halo implementation.

I am using the matrix-free GMRES to avoid the matrix construction as I know it will get messy there.

rxgrch January 23, 2013 23:50


All times are GMT -4. The time now is 01:22.