Changeset 16328
- Timestamp:
- 10/08/13 09:03:34 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/MeshPartitionx/MeshPartitionx.h
r16291 r16328 33 33 switch(meshtype){ 34 34 case Mesh2DhorizontalEnum: 35 epart=xNew<int>(numberofelements); 36 npart=xNew<int>(numberofnodes); 37 index=xNew<int>(elements_width*numberofelements); 38 for (i=0;i<numberofelements;i++){ 39 for (j=0;j<elements_width;j++){ 40 *(index+elements_width*i+j)=(*(elements+elements_width*i+j))-1; //-1 for C indexing in Metis 41 } 42 } 43 44 /*Partition using Metis:*/ 45 if (num_procs>1){ 46 #ifdef _HAVE_METIS_ 47 METIS_PartMeshNodalPatch(&numberofelements,&numberofnodes, index, &etype, &numflag, &num_procs, &edgecut, epart, npart); 48 #else 49 _error_("metis has not beed installed. Cannot run with more than 1 cpu"); 50 #endif 51 } 52 else if (num_procs==1){ 53 /*METIS does not know how to deal with one cpu only!*/ 54 for (i=0;i<numberofelements;i++) epart[i]=0; 55 for (i=0;i<numberofnodes;i++) npart[i]=0; 56 } 57 else _error_("At least one processor is required"); 58 break; 59 case Mesh2DverticalEnum: 35 60 epart=xNew<int>(numberofelements); 36 61 npart=xNew<int>(numberofnodes);
Note:
See TracChangeset
for help on using the changeset viewer.