Could you two please give pointers to existing OF examples of those approaches? Some kind of encapsulation/object approach is needed later on to make this more readable, but it's not yet clear to me what works for this algo, so I'm gonna do the first version like this, using a lot of explicit list passing. The variables ending in 1,2,3 store information for each mesh point, and that information is updated and synchronized among processors, both in initialization and during smoothing iterations.