Anders Logg wrote:
> I worked some on the logic for broadcast/receive. Take a look at the
> constuctor of UnitSquare. It has two lines (now commented out)
> that take care of broadcast/receive:
> 
>   if (MPIManager::receive()) { receive(); return; }
> 
>   [code for creating UnitSquare goes here]
> 
>   if (MPIManager::broadcast()) { broadcast(); }
> 

Looks good. Is there a reason why this is commented out in UnitSquare.cpp?

Garth

> The function MPIManager::receive() determines whether the mesh should
> be received from another process instead of created, according to the
> current policy for communication. Right now, only one policy is
> implemented but this may change (depending on for example whether the
> user wants to take care of communication or let's DOLFIN decide on a
> suitable policy). The current implementation just returns
> 
>   return numProcesses() > 0 && processNumber() > 0;
> 
> If MPI is not available it just returns false.
> 
> Similarly, the function MPIManager::broadcast() determines whether the
> mesh should be broadcast to all other processes:
> 
>   return numProcesses() > 0 && processNumber() == 0;
> 


_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to