pass MESH_FILE = "meshes/fullcell.inp" mesh = meshio.importAbaqus(MESH_FILE, 1e-6)[0] metis.tetmesh2metis(mesh, 'meshes/partition/fullcell.metis') from subprocess import call print "Generate partition for desktop computer (from 2 cores to 10 cores)" for i in range(2, 11, 2): call([ 'mpmetis', '-ncommon=3', '-minconn', '-niter=1000', 'meshes/partition/fullcell.metis', '%i' % (i) ]) metis_parts = metis.readPartition( 'meshes/partition/fullcell.metis.epart.%i' % (i)) surf_tris = mesh.getSurfTris() tri_parts = gd.partitionTris(mesh, metis_parts, surf_tris) gd.printPartitionStat(metis_parts, tri_parts) print "Generate partition for supercomputer (from 100 cores to 2000 cores)" for i in range(2100, 5001, 100): call([ 'mpmetis', '-ncommon=3', '-minconn', '-niter=1000', 'meshes/partition/fullcell.metis', '%i' % (i) ]) metis_parts = metis.readPartition( 'meshes/partition/fullcell.metis.epart.%i' % (i)) surf_tris = mesh.getSurfTris() tri_parts = gd.partitionTris(mesh, metis_parts, surf_tris)
pass MESH_FILE = "meshes/branch.inp" mesh = meshio.importAbaqus(MESH_FILE, 1e-6)[0] metis.tetmesh2metis(mesh, 'meshes/partition/branch.metis') from subprocess import call print "Generate partition for desktop computer (from 2 cores to 10 cores)" for i in range(2, 11, 2): call([ 'mpmetis', '-ncommon=3', '-minconn', '-niter=1000', 'meshes/partition/branch.metis', '%i' % (i) ]) metis_parts = metis.readPartition( 'meshes/partition/branch.metis.epart.%i' % (i)) surf_tris = mesh.getSurfTris() tri_parts = gd.partitionTris(mesh, metis_parts, surf_tris) gd.printPartitionStat(metis_parts, tri_parts) print "Generate partition for supercomputer (from 50 cores to 1000 cores)" for i in range(50, 1001, 50): call([ 'mpmetis', '-ncommon=3', '-minconn', '-niter=1000', 'meshes/partition/branch.metis', '%i' % (i) ]) metis_parts = metis.readPartition( 'meshes/partition/branch.metis.epart.%i' % (i)) surf_tris = mesh.getSurfTris() tri_parts = gd.partitionTris(mesh, metis_parts, surf_tris)