/[escript]/trunk/dudley/src/Mesh_optimizeDOFDistribution.c
ViewVC logotype

Diff of /trunk/dudley/src/Mesh_optimizeDOFDistribution.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1763 by gross, Mon Sep 8 02:47:55 2008 UTC revision 2548 by jfenwick, Mon Jul 20 06:20:06 2009 UTC
# Line 1  Line 1 
1    
 /* $Id$ */  
   
2  /*******************************************************  /*******************************************************
3   *  *
4   *           Copyright 2003-2007 by ACceSS MNRF  * Copyright (c) 2003-2009 by University of Queensland
5   *       Copyright 2007 by University of Queensland  * Earth Systems Science Computational Center (ESSCC)
6   *  * http://www.uq.edu.au/esscc
7   *                http://esscc.uq.edu.au  *
8   *        Primary Business: Queensland, Australia  * Primary Business: Queensland, Australia
9   *  Licensed under the Open Software License version 3.0  * Licensed under the Open Software License version 3.0
10   *     http://www.opensource.org/licenses/osl-3.0.php  * http://www.opensource.org/licenses/osl-3.0.php
11   *  *
12   *******************************************************/  *******************************************************/
13    
14    
15  /**************************************************************/  /**************************************************************/
16    
# Line 136  void Finley_Mesh_optimizeDOFDistribution Line 135  void Finley_Mesh_optimizeDOFDistribution
135           for (i=0; i<ncon; i++) ubvec[i] = 1.05;           for (i=0; i<ncon; i++) ubvec[i] = 1.05;
136           options[0] = 3;           options[0] = 3;
137           options[1] = 15;           options[1] = 15;
138                 ParMETIS_V3_PartGeomKway(distribution,
139  {                                            pattern->ptr,
140  int k=distribution[in->MPIInfo->rank+1]-distribution[in->MPIInfo->rank];                                            pattern->index,
141  int min_i,max_i;                                            NULL,
142  printf("INPUT PARMETIS: %d\n",k);                                            NULL,
143  for(i=0;i<in->MPIInfo->size+1;++i) printf("%d ",distribution[i]);                                            &wgtflag,
144  printf("\n");                                            &numflag,
145  min_i=pattern->index[0];                                            &dim,
146  max_i=pattern->index[0];                                            xyz,
147  for(i=0;i<pattern->ptr[k];++i) {                                            &ncon,
148  min_i=MIN(min_i,pattern->index[i]);                                            &mpiSize,
149  max_i=MAX(max_i,pattern->index[i]);                                            tpwgts,
150  }                                            ubvec,
151  printf("index range = %d : %d\n",min_i,max_i);                                            options,
152                                              &edgecut,
153  for(i=0;i<k+1;++i) printf("%d ",pattern->ptr[i]);                                            partition,                /* new CPU ownership of elements */
154  printf("\n");                                            &(in->MPIInfo->comm));
155  /*           /* printf("ParMETIS number of edges cut by partitioning per processor: %d\n", edgecut/MAX(in->MPIInfo->size,1)); */
 for(i=0;i<pattern->ptr[k];++i) printf("%d ",pattern->index[i]);  
 printf("\n");  
 */  
 }  
   
          ParMETIS_V3_PartGeomKway(distribution,  
                                  pattern->ptr,  
                                  pattern->index,  
                                  NULL,  
                                  NULL,  
                                  &wgtflag,  
                                  &numflag,  
                                  &dim,  
                                  xyz,  
                                  &ncon,  
                                  &mpiSize,  
                                  tpwgts,  
                                  ubvec,  
                                  options,  
                                  &edgecut,  
                                  partition,             /* new CPU ownership of elements */  
                                  &(in->MPIInfo->comm));  
          printf("ParMETIS number of edges cut by partitioning per processor: %d\n", edgecut/MAX(in->MPIInfo->size,1));  
156                   TMPMEMFREE(ubvec);                   TMPMEMFREE(ubvec);
157                   TMPMEMFREE(tpwgts);                   TMPMEMFREE(tpwgts);
158            } else {            } else {

Legend:
Removed from v.1763  
changed lines
  Added in v.2548

  ViewVC Help
Powered by ViewVC 1.1.26