Changeset 8499


Ignore:
Timestamp:
Aug 7, 2012, 4:46:14 PM (13 years ago)
Author:
steve
Message:

Playing with extra layer of ghost cells to reduce communication

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/anuga_core/source/anuga_parallel/distribute_mesh.py

    r8496 r8499  
    355355    # Find the first layer of boundary triangles
    356356
     357    layer_width = 2
     358
     359
    357360    trianglemap = num.zeros(ntriangles, 'i')
     361
     362
    358363    for t in range(tlower, tupper):
    359364       
     
    372377                trianglemap[n] = 1
    373378
    374     # Find the second layer of boundary triangles
    375 
    376     for t in range(len(trianglemap)):
    377         if trianglemap[t]==1:
    378             n = mesh.neighbours[t, 0]
    379             if n >= 0:
    380                 if (n < tlower or n >= tupper) and trianglemap[n] == 0:
    381                     trianglemap[n] = 2
    382             n = mesh.neighbours[t, 1]
    383             if n >= 0:
    384                 if (n < tlower or n >= tupper) and trianglemap[n] == 0:
    385                     trianglemap[n] = 2
    386             n = mesh.neighbours[t, 2]
    387             if n >= 0:
    388                 if (n < tlower or n >= tupper) and trianglemap[n] == 0:
    389                     trianglemap[n] = 2
     379
     380    # Find the subsequent layers of ghost triangles
     381    for i in range(layer_width-1):
     382
     383        for t in range(len(trianglemap)):
     384            if trianglemap[t]==i+1:
     385                n = mesh.neighbours[t, 0]
     386                if n >= 0:
     387                    if (n < tlower or n >= tupper) and trianglemap[n] == 0:
     388                        trianglemap[n] = i+2
     389                n = mesh.neighbours[t, 1]
     390                if n >= 0:
     391                    if (n < tlower or n >= tupper) and trianglemap[n] == 0:
     392                        trianglemap[n] = i+2
     393                n = mesh.neighbours[t, 2]
     394                if n >= 0:
     395                    if (n < tlower or n >= tupper) and trianglemap[n] == 0:
     396                        trianglemap[n] = i+2
    390397
    391398    # Build the triangle list and make note of the vertices
     399
     400
     401
     402
    392403
    393404    nodemap = num.zeros(ncoord, 'i')
Note: See TracChangeset for help on using the changeset viewer.