Changeset 23519


Ignore:
Timestamp:
12/07/18 15:40:48 (6 years ago)
Author:
Mathieu Morlighem
Message:

CHG: set clone at constructor

Location:
issm/trunk-jpl/src/c
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Vertex.cpp

    r23053 r23519  
    2020}
    2121/*}}}*/
    22 Vertex::Vertex(int vertex_id, int vertex_sid,int vertex_lid,int i, IoModel* iomodel){/*{{{*/
     22Vertex::Vertex(int vertex_id, int vertex_sid,int vertex_lid,bool vertex_clone, IoModel* iomodel){/*{{{*/
     23
     24        /*Checks in debugging mode*/
     25        _assert_(vertex_sid>=0 && vertex_sid<iomodel->numberofvertices);
    2326
    2427        this->id           = vertex_id;
     
    2831
    2932        _assert_(iomodel->Data("md.mesh.x") && iomodel->Data("md.mesh.y") && iomodel->Data("md.mesh.z"));
    30         this->x            = iomodel->Data("md.mesh.x")[i];
    31         this->y            = iomodel->Data("md.mesh.y")[i];
    32         this->z            = iomodel->Data("md.mesh.z")[i];
    33         this->domaintype     = iomodel->domaintype;
     33        this->x            = iomodel->Data("md.mesh.x")[vertex_sid];
     34        this->y            = iomodel->Data("md.mesh.y")[vertex_sid];
     35        this->z            = iomodel->Data("md.mesh.z")[vertex_sid];
     36        this->domaintype   = iomodel->domaintype;
    3437
    3538        if(iomodel->Data("md.mesh.lat") && iomodel->Data("md.mesh.long")){
    36                 this->latitute     = iomodel->Data("md.mesh.lat")[i];
    37                 this->longitude    = iomodel->Data("md.mesh.long")[i];
     39                this->latitute     = iomodel->Data("md.mesh.lat")[vertex_sid];
     40                this->longitude    = iomodel->Data("md.mesh.long")[vertex_sid];
    3841        }
    3942
     
    4144                case Domain3DEnum:
    4245                        _assert_(iomodel->Data("md.geometry.base") && iomodel->Data("md.geometry.thickness"));
    43                         this->sigma = (iomodel->Data("md.mesh.z")[i]-iomodel->Data("md.geometry.base")[i])/(iomodel->Data("md.geometry.thickness")[i]);
     46                        this->sigma = (iomodel->Data("md.mesh.z")[vertex_sid]-iomodel->Data("md.geometry.base")[vertex_sid])/(iomodel->Data("md.geometry.thickness")[vertex_sid]);
    4447                        break;
    4548                case Domain3DsurfaceEnum:
    4649                        _assert_(iomodel->Data("md.mesh.lat") && iomodel->Data("md.mesh.long") && iomodel->Data("md.mesh.r"));
    47                         this->latitute     = iomodel->Data("md.mesh.lat")[i];
    48                         this->longitude    = iomodel->Data("md.mesh.long")[i];
    49                         this->R            = iomodel->Data("md.mesh.r")[i];
     50                        this->latitute     = iomodel->Data("md.mesh.lat")[vertex_sid];
     51                        this->longitude    = iomodel->Data("md.mesh.long")[vertex_sid];
     52                        this->R            = iomodel->Data("md.mesh.r")[vertex_sid];
    5053                        break;
    5154                case Domain2DhorizontalEnum:
     
    5457                case Domain2DverticalEnum:
    5558                        _assert_(iomodel->Data("md.geometry.base") && iomodel->Data("md.geometry.thickness"));
    56                         this->sigma = (iomodel->Data("md.mesh.y")[i]-iomodel->Data("md.geometry.base")[i])/(iomodel->Data("md.geometry.thickness")[i]);
     59                        this->sigma = (iomodel->Data("md.mesh.y")[vertex_sid]-iomodel->Data("md.geometry.base")[vertex_sid])/(iomodel->Data("md.geometry.thickness")[vertex_sid]);
    5760                        break;
    5861        }
    5962
    6063        _assert_(iomodel->numbernodetoelementconnectivity);
    61         this->connectivity = iomodel->numbernodetoelementconnectivity[i];
     64        this->connectivity = iomodel->numbernodetoelementconnectivity[vertex_sid];
    6265
    6366}/*}}}*/
  • issm/trunk-jpl/src/c/classes/Vertex.h

    r23053 r23519  
    3737                /*Vertex constructors, destructors {{{*/
    3838                Vertex();
    39                 Vertex(int id, int sid,int lid,int i, IoModel* iomodel);
     39                Vertex(int id, int sid,int lid,bool clone, IoModel* iomodel);
    4040                ~Vertex();
    4141                /*}}}*/
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp

    r23518 r23519  
    381381        }
    382382        xDelete<int>(vertices_proc_count);
     383
     384        for(int i=0;i<iomodel->numberofvertices;i++){
     385                if(vertices_lids[i]!=-1){
     386                        bool isclone = (vertices_ranks[MAXCONNECTIVITY*i+0]!=my_rank);
     387                        vertices->AddObject(new Vertex(i+1,i,vertices_lids[i],isclone,iomodel));
     388                }
     389        }
    383390        xDelete<int>(vertices_ranks);
    384 
    385         for(int i=0;i<iomodel->numberofvertices;i++){
    386                 if(vertices_lids[i]!=-1) vertices->AddObject(new Vertex(i+1,i,vertices_lids[i],i,iomodel));
    387         }
    388391        xDelete<int>(vertices_lids);
    389392
Note: See TracChangeset for help on using the changeset viewer.