source: issm/oecreview/Archive/12010-12040/ISSM-12027-12028.diff

Last change on this file was 12325, checked in by Eric.Larour, 13 years ago

11990 to 12321 oec compliance

File size: 6.2 KB
  • proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/nodeconnectivity.m

     
    1 %
    2 %  create a node connectivity table for the elements in the model.
    3 %
    4 %  [nodecon]=edgeadjacency(elem,nnodes,mxepg)
    5 %
    6 %  where the required input is:
    7 %    elem          (numeric, element connectivity array (elems x nodes))
    8 %
    9 %  and the required output is:
    10 %    nodecon       (numeric, node connectivity array (nnodes x mxepg+1))
    11 %
    12 %  the optional input is:
    13 %    nnodes        (numeric, number of nodes)
    14 %    mxepg         (numeric, max elements per node)
    15 %
    16 function [nodecon]=nodeconnectivity(elem,nnodes,mxepg)
    17 
    18 if ~nargin
    19     help nodeconnectivity
    20     return
    21 end
    22 
    23 if ~exist('nnodes','var') || isempty(nnodes)
    24     nnodes=max(max(elem));
    25 end
    26 if ~exist('mxepg','var') || isempty(mxepg)
    27     mxepg=25;
    28 end
    29 
    30 %%  create the node connectivity array
    31 
    32 nodecon=zeros(nnodes,mxepg+1);
    33 
    34 %  loop over the elements
    35 
    36 for i=1:size(elem,1)
    37 
    38 %  loop over the nodes for each element
    39 
    40     for j=1:size(elem,2)
    41         if elem(i,j)
    42             nodecon(elem(i,j),nodecon(elem(i,j),end)+1)=i;
    43             nodecon(elem(i,j),end)=nodecon(elem(i,j),end)+1;
    44         end
    45     end
    46 end
    47 
    48 %%  sort the node connectivity array
    49 
    50 %  loop over the nodes
    51 
    52 for i=1:size(nodecon,1)
    53     if (nodecon(i,end) > 1)
    54         nodecon(i,1:nodecon(i,end))=sort(nodecon(i,1:nodecon(i,end)));
    55     end
    56 end
    57 
    58 end
  • proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_unsh_edges.m

     
    7373
    7474if (~exist('prtplt','var') || strncmpi(prtplt,'on' ,2) || strncmpi(prtplt,'y',1)) && ...
    7575    md.qmu.numberofpartitions
    76     [edgeadj]=edgeadjacency(md.mesh.elements,md.nodeconnectivity);
     76    [edgeadj]=edgeadjacency(md.mesh.elements,md.kmlnodeconnectivity);
    7777    [icol,irow]=find(edgeadj'==0);
    7878    edgeuns=zeros(length(irow),2);
    7979    for i=1:length(irow)
  • proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kmlnodeconnectivity.m

     
     1%
     2%  create a node connectivity table for the elements in the model.
     3%
     4%  [nodecon]=edgeadjacency(elem,nnodes,mxepg)
     5%
     6%  where the required input is:
     7%    elem          (numeric, element connectivity array (elems x nodes))
     8%
     9%  and the required output is:
     10%    nodecon       (numeric, node connectivity array (nnodes x mxepg+1))
     11%
     12%  the optional input is:
     13%    nnodes        (numeric, number of nodes)
     14%    mxepg         (numeric, max elements per node)
     15%
     16function [nodecon]=kmlnodeconnectivity(elem,nnodes,mxepg)
     17
     18if ~nargin
     19    help kmlnodeconnectivity
     20    return
     21end
     22
     23if ~exist('nnodes','var') || isempty(nnodes)
     24    nnodes=max(max(elem));
     25end
     26if ~exist('mxepg','var') || isempty(mxepg)
     27    mxepg=25;
     28end
     29
     30%%  create the node connectivity array
     31
     32nodecon=zeros(nnodes,mxepg+1);
     33
     34%  loop over the elements
     35
     36for i=1:size(elem,1)
     37
     38%  loop over the nodes for each element
     39
     40    for j=1:size(elem,2)
     41        if elem(i,j)
     42            nodecon(elem(i,j),nodecon(elem(i,j),end)+1)=i;
     43            nodecon(elem(i,j),end)=nodecon(elem(i,j),end)+1;
     44        end
     45    end
     46end
     47
     48%%  sort the node connectivity array
     49
     50%  loop over the nodes
     51
     52for i=1:size(nodecon,1)
     53    if (nodecon(i,end) > 1)
     54        nodecon(i,1:nodecon(i,end))=sort(nodecon(i,1:nodecon(i,end)));
     55    end
     56end
     57
     58end
  • proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_partitions.m

     
    150150        irow=unique(irow);
    151151        elemp=md.mesh.elements(irow,:);
    152152        epartp=epart(irow,:);
    153         nodeconp=nodeconnectivity(elemp,md.mesh.numberofvertices);
     153        nodeconp=kmlnodeconnectivity(elemp,md.mesh.numberofvertices);
    154154        [edgeadjp]=edgeadjacency(elemp,nodeconp);
    155155        [edgeper,elemper,iloop]=edgeperimeter(elemp,nodeconp,edgeadjp);
    156156        iloop(end+1)=size(edgeper,1)+1;
  • proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/README.txt

     
    6060
    6161There are some other utilities that are used in the construction of topological tables for the kml writing.
    6262
    63 nodeconnectivity.m   - create a node connectivity table (nnodes x mxepg+1)
     63kmlnodeconnectivity.m   - create a node connectivity table (nnodes x mxepg+1)
    6464edgeadjacency.m      - create an edge adjacency array (elems x edges)
    6565edgeperimeter.m      - create an edge perimeter (edgeper x 2) and element perimeter (edgeper x 1) list
    6666
  • proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/kml/kml_part_edges.m

     
    149149        irow=unique(irow);
    150150        elemp=md.mesh.elements(irow,:);
    151151        epartp=epart(irow,:);
    152         nodeconp=nodeconnectivity(elemp,md.mesh.numberofvertices);
     152        nodeconp=kmlnodeconnectivity(elemp,md.mesh.numberofvertices);
    153153        [edgeadjp]=edgeadjacency(elemp,nodeconp);
    154154        [edgeper,elemper,iloop]=edgeperimeter(elemp,nodeconp,edgeadjp);
    155155        iloop(end+1)=size(edgeper,1)+1;
Note: See TracBrowser for help on using the repository browser.