Changeset 9650 for issm/trunk/src/m/model/partition/partitioner.m
- Timestamp:
- 09/07/11 10:22:21 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/model/partition/partitioner.m
r9207 r9650 1 function md =partitioner(md,varargin)1 function md.qmu.partitionitioner(md,varargin) 2 2 %PARTITIONER - partition mesh 3 3 % … … 9 9 % section: 1 by defaults(1=bisection, 2=quadrisection, 3=octasection) 10 10 % recomputeadjacency: 'on' by default (set to 'off' to compute existing one) 11 % Output: md. partrecover the partition vector11 % Output: md.qmu.partition recover the partition vector 12 12 % 13 13 % Usage: 14 % md =partitioner(md,'package','chaco','npart',100,'weighting','on');14 % md.qmu.partitionitioner(md,'package','chaco','npart',100,'weighting','on'); 15 15 % 16 16 … … 39 39 md.numberofnodes=md.numberofnodes2d; 40 40 md.numberofelements=md.numberofelements2d; 41 md.v wgt=[];41 md.vertex_weight=[]; 42 42 md.nodeconnectivity=[]; 43 43 end … … 63 63 %are we using weights? 64 64 if strcmpi(getfieldvalue(options,'weighting'),'on'), 65 weights=floor(md.v wgt/min(md.vwgt));65 weights=floor(md.vertex_weight/min(md.vertex_weight)); 66 66 method(3)=1; 67 67 else … … 70 70 71 71 % partition into nparts 72 part=Chaco(md. adjacency,weights,[],md.x, md.y ,md.z,method,npart,[])'+1; %index partitions from 1 up. like metis.72 part=Chaco(md.qmu.adjacency,weights,[],md.x, md.y ,md.z,method,npart,[])'+1; %index partitions from 1 up. like metis. 73 73 74 74 elseif strcmpi(package,'scotch'), … … 76 76 %are we using weights? 77 77 if strcmpi(getfieldvalue(options,'weighting'),'on'), 78 weights=floor(md.v wgt/min(md.vwgt));78 weights=floor(md.vertex_weight/min(md.vertex_weight)); 79 79 end 80 maptab=Scotch(md. adjacency,[],weights,[],'cmplt',[npart]);80 maptab=Scotch(md.qmu.adjacency,[],weights,[],'cmplt',[npart]); 81 81 82 82 part=maptab(:,2);%index partitions from 1 up. like metis. … … 89 89 elseif strcmpi(package,'metis'), 90 90 91 [element_partitioning,part]=MeshPartition(md ,npart);91 [element_partitioning,part]=MeshPartition(md.qmu.numberofpartitions); 92 92 93 93 else … … 103 103 end 104 104 105 md. part=part;105 md.qmu.partition=part;
Note:
See TracChangeset
for help on using the changeset viewer.