Ignore:
Timestamp:
11/12/15 15:21:59 (10 years ago)
Author:
Eric.Larour
Message:

CHG: implemented NodeConnectivity module in javascript.

Location:
issm/trunk-jpl/src/m/mesh
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/mesh/triangle.js

    r19702 r19711  
    1 function triangle(md,domain, rifts, resolution){
     1function triangle(md){
    22//TRIANGLE - create model mesh using the triangle package
    33//
     
    1515//      triangle(md,domain, rifts, 1500);
    1616
     17        if (!(arguments.length==3 | arguments.length==4)){
     18                console.log('triangle usage error.');
     19        }
     20       
     21        var md=arguments[0];
     22        var domain=arguments[1];
     23
     24        if (arguments.length==3){
     25                var resolution=arguments[2];
     26                var rifts=[];
     27        }
     28        if (arguments.length==4){
     29                var rifts=arguments[2];
     30                var resolution=arguments[3];
     31        }
     32
     33        //Figure out a characteristic area. Resolution is a node oriented concept (ex a 1000m  resolution node would
     34        //be made of 1000*1000 area squares).
    1735        var area=Math.pow(resolution,2);
    1836
    1937        //Call mesher:
    20         var array = TriMesh(md, domain, rifts, area);
     38        var return_array=TriMesh(md, domain, rifts, area);
    2139
     40        //Plug into md:
     41        md.mesh.elements=return_array[0];
     42        md.mesh.x=return_array[1];
     43        md.mesh.y=return_array[2];
     44        md.mesh.segments=return_array[3];
     45        md.mesh.segmentmarkers=return_array[4];
     46       
    2247        //Fill in rest of fields:
    23         //md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;
     48        md.mesh.numberofelements=md.mesh.elements.length;
     49        md.mesh.numberofvertices=md.mesh.x.length;
     50        md.mesh.vertexonboundary=new Float64Array(md.mesh.numberofvertices);
     51
     52        for (i=0;i<md.mesh.segments.length;i++) for(j=0;j<2;j++) md.mesh.vertexonboundary[md.mesh.segments[i][j]-1]=1;
    2453
    2554        //Now, build the connectivity tables for this mesh.
    26         //md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices);
    27         //md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity);
     55        md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices);
     56        //md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity); 
    2857
    2958}
  • issm/trunk-jpl/src/m/mesh/triangle.m

    r17558 r19711  
    1 function md=triangle(md,domainname,varargin)
     1function md=triangle(md)
    22%TRIANGLE - create model mesh using the triangle package
    33%
Note: See TracChangeset for help on using the changeset viewer.