Changeset 8306


Ignore:
Timestamp:
05/16/11 15:50:34 (14 years ago)
Author:
Mathieu Morlighem
Message:

moved grids to nodes/vertices

Location:
issm/trunk/src/mex
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/mex/ContourToMesh/ContourToMesh.cpp

    r8269 r8306  
    8484                printf("\nContour echo: contour number  %i / %i\n",i+1,numcontours);
    8585                contouri=*(contours+i);
    86                 printf("   Number of grids %i\n",contouri->nods);
     86                printf("   Number of vertices %i\n",contouri->nods);
    8787                for (j=0;j<contouri->nods;j++){
    8888                        printf("   %lf %lf\n",*(contouri->x+j),*(contouri->y+j));
  • issm/trunk/src/mex/ContourToNodes/ContourToNodes.cpp

    r5030 r8306  
    8484                printf("\nContour echo: contour number  %i / %i\n",i+1,numcontours);
    8585                contouri=*(contours+i);
    86                 printf("   Number of grids %i\n",contouri->nods);
     86                printf("   Number of nodes %i\n",contouri->nods);
    8787                for (j=0;j<contouri->nods;j++){
    8888                        printf("   %lf %lf\n",*(contouri->x+j),*(contouri->y+j));
  • issm/trunk/src/mex/InterpFromGridToMesh/InterpFromGridToMesh.cpp

    r7519 r8306  
    11/*!\file InterpFromGridToMesh.c
    2  * \brief: data interpolation from a list of (x,y,values) into mesh grids
     2 * \brief: data interpolation from a list of (x,y,values) into mesh vertices
    33 
    44        InterpFromGridToMesh.c
     
    1212                x,y: coordinates of matrix data
    1313                data - matrix holding the data to be interpolated onto the mesh.
    14                 x_mesh,y_mesh: coordinates of the mesh grids onto which we interpolate.
     14                x_mesh,y_mesh: coordinates of the mesh vertices onto which we interpolate.
    1515               
    1616                output:
  • issm/trunk/src/mex/InterpFromMesh2d/InterpFromMesh2d.cpp

    r6412 r8306  
    11/*!\file InterpFromMesh2d.c
    2  * \brief: data interpolation from a list of (x,y,values) into mesh grids
     2 * \brief: data interpolation from a list of (x,y,values) into mesh vertices
    33 
    44        InterpFromMesh2d.c
     
    1212                x,y: coordinates of matrix data
    1313                data - matrix holding the data to be interpolated onto the mesh.
    14                 x_mesh,y_mesh: coordinates of the mesh grids onto which we interpolate.
     14                x_mesh,y_mesh: coordinates of the mesh vertices onto which we interpolate.
    1515               
    1616                output:
     
    116116                  printf("\nContour echo: contour number  %i / %i\n",i+1,numcontours);
    117117                  contouri=*(contours+i);
    118                   printf("   Number of grids %i\n",contouri->nods);
     118                  printf("   Number of vertices %i\n",contouri->nods);
    119119                  for (j=0;j<contouri->nods;j++){
    120120                  printf("   %lf %lf\n",*(contouri->x+j),*(contouri->y+j));
     
    162162        _printf_(true,"      index: index of the mesh where data is defined\n");
    163163        _printf_(true,"      data - vector holding the data to be interpolated onto the points.\n");
    164         _printf_(true,"      x_prime,y_prime: coordinates of the mesh grids onto which we interpolate.\n");
     164        _printf_(true,"      x_prime,y_prime: coordinates of the mesh vertices onto which we interpolate.\n");
    165165        _printf_(true,"      default_value: a scalar or vector of size length(x_prime).\n");
    166166        _printf_(true,"      contourname: linear interpolation will happen on all x_interp,y_interp inside the contour, default value will be adopted on the rest of the mesh.\n");
  • issm/trunk/src/mex/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp

    r6412 r8306  
    9494                  printf("\nContour echo: contour number  %i / %i\n",i+1,numcontours);
    9595                  contouri=*(contours+i);
    96                   printf("   Number of grids %i\n",contouri->nods);
     96                  printf("   Number of vertices %i\n",contouri->nods);
    9797                  for (j=0;j<contouri->nods;j++){
    9898                  printf("   %lf %lf\n",*(contouri->x+j),*(contouri->y+j));
  • issm/trunk/src/mex/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp

    r6412 r8306  
    11/*!\file InterpFromMeshToMesh3d.c
    2  * \brief: data interpolation from a list of (x,y,values) into mesh grids
     2 * \brief: data interpolation from a list of (x,y,values) into mesh vertices
    33 
    44        InterpFromMeshToMesh3d.c
     
    1212                x,y,z: coordinates of matrix data
    1313                data - matrix holding the data to be interpolated onto the mesh.
    14                 x_mesh,y_mesh,z_mesh: coordinates of the mesh grids onto which we interpolate.
     14                x_mesh,y_mesh,z_mesh: coordinates of the mesh vertices onto which we interpolate.
    1515               
    1616                output:
  • issm/trunk/src/mex/MeshPartition/MeshPartition.cpp

    r7961 r8306  
    77        %Info needed from model are the following:
    88        %mesh info:
    9         numberofelements,numberofgrids,elements,elements_width
     9        numberofelements,numberofnodes,elements,elements_width
    1010        %Non-extruded 2d mesh info
    1111        nel2d,nods2d,elements2d,
     
    3232        int dim;
    3333        int numberofelements;
    34         int numberofgrids;
     34        int numberofnodes;
    3535        double* elements=NULL;
    3636        int     elements_width;
    3737
    3838        int numberofelements2d;
    39         int numberofgrids2d;
     39        int numberofnodes2d;
    4040        double* elements2d=NULL;
    4141
     
    5959        FetchData(&dim,mxGetAssignedField(MODEL,0,"dim"));
    6060        FetchData(&numberofelements,mxGetAssignedField(MODEL,0,"numberofelements"));
    61         FetchData(&numberofgrids,mxGetAssignedField(MODEL,0,"numberofgrids"));
     61        FetchData(&numberofnodes,mxGetAssignedField(MODEL,0,"numberofnodes"));
    6262        FetchData(&elements,NULL,&elements_width,mxGetAssignedField(MODEL,0,"elements"));
    6363
     
    6565       
    6666                FetchData(&numberofelements2d,mxGetAssignedField(MODEL,0,"numberofelements2d"));
    67                 FetchData(&numberofgrids2d,mxGetAssignedField(MODEL,0,"numberofgrids2d"));
     67                FetchData(&numberofnodes2d,mxGetAssignedField(MODEL,0,"numberofnodes2d"));
    6868                FetchData(&elements2d,NULL,NULL,mxGetAssignedField(MODEL,0,"elements2d"));
    6969
     
    7373
    7474        /*Run partitioning algorithm based on a "clever" use of the Metis partitioner: */
    75         MeshPartitionx(&int_element_partitioning,&int_node_partitioning,numberofelements,numberofgrids,elements,
    76                 numberofelements2d,numberofgrids2d,elements2d,numlayers,elements_width,dim,numareas);
     75        MeshPartitionx(&int_element_partitioning,&int_node_partitioning,numberofelements,numberofnodes,elements,
     76                numberofelements2d,numberofnodes2d,elements2d,numlayers,elements_width,dim,numareas);
    7777
    7878
     
    8383        }
    8484       
    85         node_partitioning=(double*)xmalloc(numberofgrids*sizeof(double));
    86         for (i=0;i<numberofgrids;i++){
     85        node_partitioning=(double*)xmalloc(numberofnodes*sizeof(double));
     86        for (i=0;i<numberofnodes;i++){
    8787                node_partitioning[i]=(double)int_node_partitioning[i]+1; //Metis indexing from 0, matlab from 1.
    8888        }
     
    9090        /*Write data:*/
    9191        WriteData(ELEMENTPARTITIONING,element_partitioning,numberofelements);
    92         WriteData(NODEPARTITIONING,node_partitioning,numberofgrids);
     92        WriteData(NODEPARTITIONING,node_partitioning,numberofnodes);
    9393       
    9494        /*Free ressources:*/
  • issm/trunk/src/mex/MeshProfileIntersection/MeshProfileIntersection.cpp

    r6412 r8306  
    8383                printf("\nContour echo: contour number  %i / %i\n",i+1,numcontours);
    8484                contouri=*(contours+i);
    85                 printf("   Number of grids %i\n",contouri->nods);
     85                printf("   Number of vertices %i\n",contouri->nods);
    8686                for (j=0;j<contouri->nods;j++){
    8787                        printf("   %lf %lf\n",*(contouri->x+j),*(contouri->y+j));
  • issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp

    r6412 r8306  
    6666void ModelProcessorUsage(void) {
    6767        _printf_(true,"\n");
    68         _printf_(true,"   usage: [elements,grids,constraints,loads,materials,parameters,part,tpart]=ModelProcessor(model,analyses)\n");
     68        _printf_(true,"   usage: [elements,vertices,constraints,loads,materials,parameters,part,tpart]=ModelProcessor(model,analyses)\n");
    6969        _printf_(true,"   where: model is an instance of the matlab @model class and analyses is a list of analysis types being performed.\n");
    7070        _printf_(true,"\n");
  • issm/trunk/src/mex/TriMesh/TriMesh.cpp

    r4526 r8306  
    3535        /*Domain outline variables: */
    3636        int      nprof;
    37         int*     profngrids=NULL;
     37        int*     profnvertices=NULL;
    3838        double** pprofx=NULL;
    3939        double** pprofy=NULL;
     
    4444        /*Rift outline variables: */
    4545        int      numrifts;
    46         int*     riftsnumgrids=NULL;
    47         double** riftsgridsx=NULL;
    48         double** riftsgridsy=NULL;
     46        int*     riftsnumvertices=NULL;
     47        double** riftsverticesx=NULL;
     48        double** riftsverticesy=NULL;
    4949
    5050        /* Triangle structures: */
     
    9696       
    9797        /*Start reading the domain outline file: */
    98         if(!DomainOutlineRead(&nprof,&profngrids,&pprofx,&pprofy,domainname)){
     98        if(!DomainOutlineRead(&nprof,&profnvertices,&pprofx,&pprofy,domainname)){
    9999                printf("%s%s%s\n",__FUNCT__," error message reading domain outline ",domainname);
    100100                mexErrMsgTxt(" ");
     
    103103        /*Read rifts file if present: */
    104104        if(riftname){
    105                 if(!DomainOutlineRead(&numrifts,&riftsnumgrids,&riftsgridsx,&riftsgridsy,riftname)){
     105                if(!DomainOutlineRead(&numrifts,&riftsnumvertices,&riftsverticesx,&riftsverticesy,riftname)){
    106106                        printf("%s%s%s\n",__FUNCT__," error message reading rifts outline ",riftname);
    107107                        mexErrMsgTxt(" ");
     
    112112        numberofpoints=0;
    113113        for (i=0;i<nprof;i++){
    114                 numberofpoints+=profngrids[i];
     114                numberofpoints+=profnvertices[i];
    115115        }
    116116        if (riftname){
    117117                for (i=0;i<numrifts;i++){
    118                         numberofpoints+=riftsnumgrids[i];
     118                        numberofpoints+=riftsnumvertices[i];
    119119                }
    120120        }
     
    128128                xprof=pprofx[i];
    129129                yprof=pprofy[i];
    130                 for (j=0;j<profngrids[i];j++){
     130                for (j=0;j<profnvertices[i];j++){
    131131                        in.pointlist[2*counter+0]=xprof[j];
    132132                        in.pointlist[2*counter+1]=yprof[j];
     
    136136        if(riftname){
    137137                for (i=0;i<numrifts;i++){
    138                         xprof=riftsgridsx[i];
    139                         yprof=riftsgridsy[i];
    140                         for (j=0;j<riftsnumgrids[i];j++){
     138                        xprof=riftsverticesx[i];
     139                        yprof=riftsverticesy[i];
     140                        for (j=0;j<riftsnumvertices[i];j++){
    141141                                in.pointlist[2*counter+0]=xprof[j];
    142142                                in.pointlist[2*counter+1]=yprof[j];
     
    158158
    159159        /*Build segments: */
    160         /*Figure out number of segments: holes and closed outlines have as many segments as grids,
    161          *for rifts, we have one less segment as we have grids*/
     160        /*Figure out number of segments: holes and closed outlines have as many segments as vertices,
     161         *for rifts, we have one less segment as we have vertices*/
    162162        in.numberofsegments=0;
    163163        for (i=0;i<nprof;i++){
    164                 in.numberofsegments+=profngrids[i];
     164                in.numberofsegments+=profnvertices[i];
    165165        }
    166166        if (riftname){
    167167                for (i=0;i<numrifts;i++){
    168                         in.numberofsegments+=riftsnumgrids[i]-1;
     168                        in.numberofsegments+=riftsnumvertices[i]-1;
    169169                }
    170170        }
     
    175175        backcounter=0;
    176176        for (i=0;i<nprof;i++){
    177                 for (j=0;j<(profngrids[i]-1);j++){
     177                for (j=0;j<(profnvertices[i]-1);j++){
    178178                        in.segmentlist[2*counter+0]=counter;
    179179                        in.segmentlist[2*counter+1]=counter+1;
     
    191191        if(riftname){
    192192                for (i=0;i<numrifts;i++){
    193                         for (j=0;j<(riftsnumgrids[i]-1);j++){
     193                        for (j=0;j<(riftsnumvertices[i]-1);j++){
    194194                                in.segmentlist[2*counter2+0]=counter;
    195195                                in.segmentlist[2*counter2+1]=counter+1;
     
    210210        in.holelist = (REAL *) mxMalloc(in.numberofholes * 2 * sizeof(REAL));
    211211        for (i=0;i<nprof-1;i++){
    212                 /*We are looking for a grid that lies inside the hole: */
    213                 GridInsideHole(&in.holelist[2*i+0],&in.holelist[2*i+1],profngrids[i+1],pprofx[i+1],pprofy[i+1]);
     212                /*We are looking for a vertex that lies inside the hole: */
     213                GridInsideHole(&in.holelist[2*i+0],&in.holelist[2*i+1],profnvertices[i+1],pprofx[i+1],pprofy[i+1]);
    214214        }
    215215
  • issm/trunk/src/mex/TriMeshNoDensity/TriMeshNoDensity.cpp

    r4526 r8306  
    3333        /*Domain outline variables: */
    3434        int      nprof;
    35         int*     profngrids=NULL;
     35        int*     profnvertices=NULL;
    3636        double** pprofx=NULL;
    3737        double** pprofy=NULL;
     
    4242        /*Rift outline variables: */
    4343        int      numrifts;
    44         int*     riftsnumgrids=NULL;
    45         double** riftsgridsx=NULL;
    46         double** riftsgridsy=NULL;
     44        int*     riftsnumvertices=NULL;
     45        double** riftsverticesx=NULL;
     46        double** riftsverticesy=NULL;
    4747
    4848        /* Triangle structures: */
     
    8686       
    8787        /*Start reading the domain outline file: */
    88         if(!DomainOutlineRead(&nprof,&profngrids,&pprofx,&pprofy,domainname)){
     88        if(!DomainOutlineRead(&nprof,&profnvertices,&pprofx,&pprofy,domainname)){
    8989                printf("%s%s%s\n",__FUNCT__," error message reading domain outline ",domainname);
    9090                mexErrMsgTxt(" ");
     
    9393        /*Read rifts file if present: */
    9494        if(riftname){
    95                 if(!DomainOutlineRead(&numrifts,&riftsnumgrids,&riftsgridsx,&riftsgridsy,riftname)){
     95                if(!DomainOutlineRead(&numrifts,&riftsnumvertices,&riftsverticesx,&riftsverticesy,riftname)){
    9696                        printf("%s%s%s\n",__FUNCT__," error message reading rifts outline ",riftname);
    9797                        mexErrMsgTxt(" ");
     
    102102        numberofpoints=0;
    103103        for (i=0;i<nprof;i++){
    104                 numberofpoints+=profngrids[i];
     104                numberofpoints+=profnvertices[i];
    105105        }
    106106        if (riftname){
    107107                for (i=0;i<numrifts;i++){
    108                         numberofpoints+=riftsnumgrids[i];
     108                        numberofpoints+=riftsnumvertices[i];
    109109                }
    110110        }
     
    118118                xprof=pprofx[i];
    119119                yprof=pprofy[i];
    120                 for (j=0;j<profngrids[i];j++){
     120                for (j=0;j<profnvertices[i];j++){
    121121                        in.pointlist[2*counter+0]=xprof[j];
    122122                        in.pointlist[2*counter+1]=yprof[j];
     
    126126        if(riftname){
    127127                for (i=0;i<numrifts;i++){
    128                         xprof=riftsgridsx[i];
    129                         yprof=riftsgridsy[i];
    130                         for (j=0;j<riftsnumgrids[i];j++){
     128                        xprof=riftsverticesx[i];
     129                        yprof=riftsverticesy[i];
     130                        for (j=0;j<riftsnumvertices[i];j++){
    131131                                in.pointlist[2*counter+0]=xprof[j];
    132132                                in.pointlist[2*counter+1]=yprof[j];
     
    149149
    150150        /*Build segments: */
    151         /*Figure out number of segments: holes and closed outlines have as many segments as grids,
    152          *for rifts, we have one less segment as we have grids*/
     151        /*Figure out number of segments: holes and closed outlines have as many segments as vertices,
     152         *for rifts, we have one less segment as we have vertices*/
    153153        in.numberofsegments=0;
    154154        for (i=0;i<nprof;i++){
    155                 in.numberofsegments+=profngrids[i];
     155                in.numberofsegments+=profnvertices[i];
    156156        }
    157157        if (riftname){
    158158                for (i=0;i<numrifts;i++){
    159                         in.numberofsegments+=riftsnumgrids[i]-1;
     159                        in.numberofsegments+=riftsnumvertices[i]-1;
    160160                }
    161161        }
     
    166166        backcounter=0;
    167167        for (i=0;i<nprof;i++){
    168                 for (j=0;j<(profngrids[i]-1);j++){
     168                for (j=0;j<(profnvertices[i]-1);j++){
    169169                        in.segmentlist[2*counter+0]=counter;
    170170                        in.segmentlist[2*counter+1]=counter+1;
     
    182182        if(riftname){
    183183                for (i=0;i<numrifts;i++){
    184                         for (j=0;j<(riftsnumgrids[i]-1);j++){
     184                        for (j=0;j<(riftsnumvertices[i]-1);j++){
    185185                                in.segmentlist[2*counter2+0]=counter;
    186186                                in.segmentlist[2*counter2+1]=counter+1;
     
    201201        in.holelist = (REAL *) mxMalloc(in.numberofholes * 2 * sizeof(REAL));
    202202        for (i=0;i<nprof-1;i++){
    203                 /*We are looking for a grid that lies inside the hole: */
    204                 GridInsideHole(&in.holelist[2*i+0],&in.holelist[2*i+1],profngrids[i+1],pprofx[i+1],pprofy[i+1]);
     203                /*We are looking for a vertex that lies inside the hole: */
     204                GridInsideHole(&in.holelist[2*i+0],&in.holelist[2*i+1],profnvertices[i+1],pprofx[i+1],pprofy[i+1]);
    205205        }
    206206
  • issm/trunk/src/mex/TriMeshProcessRifts/TriMeshProcessRifts.cpp

    r6748 r8306  
    165165
    166166        /*First, do some fixing on the existing mesh: we do not want any element belonging entirely to the segment list (ie:
    167          *all the grids of this element belong to the segments (tends to happen when there are corners: */
     167         *all the nodes of this element belong to the segments (tends to happen when there are corners: */
    168168        RemoveCornersFromRifts(&index_in,&nel,&x_in,&y_in,&nods,segments_in,segmentmarkers_in,num_seg);
    169169
  • issm/trunk/src/mex/TriaSearch/TriaSearch.cpp

    r6412 r8306  
    1919        double* x0=NULL;
    2020        double* y0=NULL;
    21         int     numberofgrids;
     21        int     numberofnodes;
    2222
    2323        /* output: */
     
    3434        FetchData(&x,&nods,XHANDLE);
    3535        FetchData(&y,&nods,YHANDLE);
    36         FetchData(&x0,&numberofgrids,X0HANDLE);
    37         FetchData(&y0,&numberofgrids,Y0HANDLE);
     36        FetchData(&x0,&numberofnodes,X0HANDLE);
     37        FetchData(&y0,&numberofnodes,Y0HANDLE);
    3838
    3939        /* Echo: {{{1*/
     
    4242
    4343        /* Run core computations: */
    44         TriaSearchx(&tria,index,nel,x,y,nods,x0,y0,numberofgrids);
     44        TriaSearchx(&tria,index,nel,x,y,nods,x0,y0,numberofnodes);
    4545
    4646        /* c to matlab: */
    47         for(i=0;i<numberofgrids;i++)tria[i]++;
     47        for(i=0;i<numberofnodes;i++)tria[i]++;
    4848
    4949        /*Write data: */
    50         WriteData(TRIA,tria,numberofgrids);
     50        WriteData(TRIA,tria,numberofnodes);
    5151
    5252        /*end module: */
Note: See TracChangeset for help on using the changeset viewer.