Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/nodeconnectivity.m =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/nodeconnectivity.m (revision 12027) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/nodeconnectivity.m (revision 12028) @@ -1,58 +0,0 @@ -% -% create a node connectivity table for the elements in the model. -% -% [nodecon]=edgeadjacency(elem,nnodes,mxepg) -% -% where the required input is: -% elem (numeric, element connectivity array (elems x nodes)) -% -% and the required output is: -% nodecon (numeric, node connectivity array (nnodes x mxepg+1)) -% -% the optional input is: -% nnodes (numeric, number of nodes) -% mxepg (numeric, max elements per node) -% -function [nodecon]=nodeconnectivity(elem,nnodes,mxepg) - -if ~nargin - help nodeconnectivity - return -end - -if ~exist('nnodes','var') || isempty(nnodes) - nnodes=max(max(elem)); -end -if ~exist('mxepg','var') || isempty(mxepg) - mxepg=25; -end - -%% create the node connectivity array - -nodecon=zeros(nnodes,mxepg+1); - -% loop over the elements - -for i=1:size(elem,1) - -% loop over the nodes for each element - - for j=1:size(elem,2) - if elem(i,j) - nodecon(elem(i,j),nodecon(elem(i,j),end)+1)=i; - nodecon(elem(i,j),end)=nodecon(elem(i,j),end)+1; - end - end -end - -%% sort the node connectivity array - -% loop over the nodes - -for i=1:size(nodecon,1) - if (nodecon(i,end) > 1) - nodecon(i,1:nodecon(i,end))=sort(nodecon(i,1:nodecon(i,end))); - end -end - -end Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_unsh_edges.m =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_unsh_edges.m (revision 12027) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_unsh_edges.m (revision 12028) @@ -73,7 +73,7 @@ if (~exist('prtplt','var') || strncmpi(prtplt,'on' ,2) || strncmpi(prtplt,'y',1)) && ... md.qmu.numberofpartitions - [edgeadj]=edgeadjacency(md.mesh.elements,md.nodeconnectivity); + [edgeadj]=edgeadjacency(md.mesh.elements,md.kmlnodeconnectivity); [icol,irow]=find(edgeadj'==0); edgeuns=zeros(length(irow),2); for i=1:length(irow) Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kmlnodeconnectivity.m =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kmlnodeconnectivity.m (revision 0) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kmlnodeconnectivity.m (revision 12028) @@ -0,0 +1,58 @@ +% +% create a node connectivity table for the elements in the model. +% +% [nodecon]=edgeadjacency(elem,nnodes,mxepg) +% +% where the required input is: +% elem (numeric, element connectivity array (elems x nodes)) +% +% and the required output is: +% nodecon (numeric, node connectivity array (nnodes x mxepg+1)) +% +% the optional input is: +% nnodes (numeric, number of nodes) +% mxepg (numeric, max elements per node) +% +function [nodecon]=kmlnodeconnectivity(elem,nnodes,mxepg) + +if ~nargin + help kmlnodeconnectivity + return +end + +if ~exist('nnodes','var') || isempty(nnodes) + nnodes=max(max(elem)); +end +if ~exist('mxepg','var') || isempty(mxepg) + mxepg=25; +end + +%% create the node connectivity array + +nodecon=zeros(nnodes,mxepg+1); + +% loop over the elements + +for i=1:size(elem,1) + +% loop over the nodes for each element + + for j=1:size(elem,2) + if elem(i,j) + nodecon(elem(i,j),nodecon(elem(i,j),end)+1)=i; + nodecon(elem(i,j),end)=nodecon(elem(i,j),end)+1; + end + end +end + +%% sort the node connectivity array + +% loop over the nodes + +for i=1:size(nodecon,1) + if (nodecon(i,end) > 1) + nodecon(i,1:nodecon(i,end))=sort(nodecon(i,1:nodecon(i,end))); + end +end + +end Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_partitions.m =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_partitions.m (revision 12027) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_partitions.m (revision 12028) @@ -150,7 +150,7 @@ irow=unique(irow); elemp=md.mesh.elements(irow,:); epartp=epart(irow,:); - nodeconp=nodeconnectivity(elemp,md.mesh.numberofvertices); + nodeconp=kmlnodeconnectivity(elemp,md.mesh.numberofvertices); [edgeadjp]=edgeadjacency(elemp,nodeconp); [edgeper,elemper,iloop]=edgeperimeter(elemp,nodeconp,edgeadjp); iloop(end+1)=size(edgeper,1)+1; Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/README.txt =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/README.txt (revision 12027) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/README.txt (revision 12028) @@ -60,7 +60,7 @@ There are some other utilities that are used in the construction of topological tables for the kml writing. -nodeconnectivity.m - create a node connectivity table (nnodes x mxepg+1) +kmlnodeconnectivity.m - create a node connectivity table (nnodes x mxepg+1) edgeadjacency.m - create an edge adjacency array (elems x edges) edgeperimeter.m - create an edge perimeter (edgeper x 2) and element perimeter (edgeper x 1) list Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_part_edges.m =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_part_edges.m (revision 12027) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_part_edges.m (revision 12028) @@ -149,7 +149,7 @@ irow=unique(irow); elemp=md.mesh.elements(irow,:); epartp=epart(irow,:); - nodeconp=nodeconnectivity(elemp,md.mesh.numberofvertices); + nodeconp=kmlnodeconnectivity(elemp,md.mesh.numberofvertices); [edgeadjp]=edgeadjacency(elemp,nodeconp); [edgeper,elemper,iloop]=edgeperimeter(elemp,nodeconp,edgeadjp); iloop(end+1)=size(edgeper,1)+1;