# Mesh partitioning using Metis from anuga.parallel.distribute_mesh import build_submesh from anuga.parallel.distribute_mesh import pmesh_divide_metis_with_map from anuga.parallel.parallel_shallow_water import Parallel_domain from anuga.abstract_2d_finite_volumes.neighbour_mesh import Mesh #------------------------------------------------------------------------------ # Read in processor information #------------------------------------------------------------------------------ numprocs = size() myid = rank() processor_name = get_processor_name() #print 'I am processor %d of %d on node %s' %(myid, numprocs, processor_name) def collect_value(value): value = value if myid == 0: for i in range(numprocs): if i == 0: continue val = receive(i) value = value + val else: send(value, 0)
from anuga.parallel.distribute_mesh import build_submesh from anuga.parallel.distribute_mesh import pmesh_divide_metis_with_map from anuga.parallel.parallel_shallow_water import Parallel_domain from anuga.abstract_2d_finite_volumes.neighbour_mesh import Mesh #------------------------------------------------------------------------------ # Read in processor information #------------------------------------------------------------------------------ numprocs = size() myid = rank() processor_name = get_processor_name() #print 'I am processor %d of %d on node %s' %(myid, numprocs, processor_name) def collect_value(value): value = value if myid == 0: for i in range(numprocs): if i == 0: continue val = receive(i) value = value + val else: send(value, 0)