Changeset 23561


Ignore:
Timestamp:
12/18/18 20:46:03 (6 years ago)
Author:
Mathieu Morlighem
Message:

CHG: adding clone to constructor and cleaned up a few functions never used

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r23559 r23561  
    558558                                        approximation=IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]));
    559559                                        if(approximation==FSApproximationEnum)  approximation=FSvelocityEnum;
    560                                         nodes->AddObject(new Node(i+1,i,lid++,0,i,iomodel,StressbalanceAnalysisEnum,approximation));
     560                                        nodes->AddObject(new Node(i+1,i,lid++,0,i,false,iomodel,StressbalanceAnalysisEnum,approximation));
    561561                                }
    562562                        }
    563563                        for(int i=0;i<iomodel->numberofelements;i++){
    564564                                if(iomodel->my_elements[i]){
    565                                         node = new Node(iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,StressbalanceAnalysisEnum,FSvelocityEnum);
     565                                        node = new Node(iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,StressbalanceAnalysisEnum,FSvelocityEnum);
    566566                                        node->Deactivate();
    567567                                        nodes->AddObject(node);
     
    572572                                if(iomodel->my_vertices[i]){
    573573                                        approximation=IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]));
    574                                         node = new Node(iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,iomodel,StressbalanceAnalysisEnum,FSpressureEnum);
     574                                        node = new Node(iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,false,iomodel,StressbalanceAnalysisEnum,FSpressureEnum);
    575575                                        if(approximation==HOApproximationEnum || approximation==SSAApproximationEnum){
    576576                                                node->Deactivate();
     
    583583                        for(int i=0;i<iomodel->numberofvertices;i++){
    584584                                if(iomodel->my_vertices[i]){
    585                                         nodes->AddObject(new Node(i+1,i,lid++,0,i,iomodel,StressbalanceAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]))));
     585                                        nodes->AddObject(new Node(i+1,i,lid++,0,i,false,iomodel,StressbalanceAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]))));
    586586                                }
    587587                        }
  • issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp

    r23559 r23561  
    9999
    100100                        /*Create new node if is in this processor's partition*/
    101                         node = new Node(i+1,i,lid++,0,i,iomodel,StressbalanceSIAAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])));
     101                        node = new Node(i+1,i,lid++,0,i,false,iomodel,StressbalanceSIAAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])));
    102102
    103103                        /*Deactivate node if not SIA*/
  • issm/trunk-jpl/src/c/classes/DofIndexing.cpp

    r21471 r23561  
    3939}
    4040/*}}}*/
    41 DofIndexing::DofIndexing(int in_gsize){/*{{{*/
    42 
    43         this->Init(in_gsize,NULL);
    44 
    45 }
    46 /*}}}*/
    4741DofIndexing::DofIndexing(DofIndexing* in){ //copy constructor/*{{{*/
    4842
     
    10094}
    10195/*}}}*/
    102 DofIndexing DofIndexing::operator=( const DofIndexing& in ){/*{{{*/
    103 
    104         this->copy(in);
    105 
    106         return this;
    107 }
    108 /*}}}*/
    10996void DofIndexing::copy(const DofIndexing& in ){/*{{{*/
    11097
     
    151138}
    152139/*}}}*/
    153 void DofIndexing::Init(int in_gsize,int* in_doftype){/*{{{*/
     140void DofIndexing::Init(int in_gsize,bool isclone,int* in_doftype){/*{{{*/
    154141
    155142        this->gsize = in_gsize;
    156143
    157144        /*At this point, assume this is not a clone (will be dealt with later)*/
    158         this->clone = false;
     145        this->clone = isclone;
    159146
    160147        /*memory allocation */
  • issm/trunk-jpl/src/c/classes/DofIndexing.h

    r20810 r23561  
    3535                int *sdoflist;   //dof list in s_set
    3636
    37                 /*DofIndexing constructors, destructors {{{*/
     37                /*DofIndexing constructors, destructors*/
    3838                DofIndexing();
    39                 DofIndexing(int g_size);
    40                 void Init(int g_size,int* doftype);
     39                void Init(int g_size,bool isclone,int* doftype);
    4140                void InitSet(int setenum);
    4241                DofIndexing(DofIndexing* properties);
    4342                ~DofIndexing();
    44                 DofIndexing operator=(const DofIndexing& in);
    45                 /*}}}*/
    46                 /*Object like functionality: {{{*/
     43                /*Object like functionality:*/
    4744                void  copy(const DofIndexing& in);
    4845                void  DeepEcho(void);
    4946                void  Echo(void);
    50                 void    Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
    51                 /*}}}*/
    52                 /*DofIndexing management: {{{*/
     47                void  Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
     48                /*DofIndexing management:*/
    5349                void Activate(void);
    5450                void Deactivate(void);
    5551                DofIndexing* Spawn(int* indices, int numindices);
    56                 /*}}}*/
    5752
    5853};
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r23557 r23561  
    32843284                        int *doftypes=NULL;
    32853285                        int numdofs=analysis->DofsPerNode(&doftypes,Domain2DhorizontalEnum,SSAApproximationEnum);
    3286                         newnode->indexing.Init(numdofs,doftypes);
     3286                        newnode->indexing.Init(numdofs,false,doftypes);
    32873287                        xDelete<int>(doftypes);
    32883288                        delete analysis;
  • issm/trunk-jpl/src/c/classes/Node.cpp

    r23559 r23561  
    2121}
    2222/*}}}*/
    23 Node::Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index, IoModel* iomodel,int analysis_enum,int in_approximation){/*{{{*/
     23Node::Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index,bool isclone,IoModel* iomodel,int analysis_enum,int in_approximation){/*{{{*/
    2424
    2525        /*Intermediary*/
     
    4343        Analysis* analysis = EnumToAnalysis(analysis_enum);
    4444        int numdofs        = analysis->DofsPerNode(&doftypes,iomodel->domaintype,in_approximation);
    45         indexing.Init(numdofs,doftypes);
     45        indexing.Init(numdofs,isclone,doftypes);
    4646        xDelete<int>(doftypes);
    4747        delete analysis;
  • issm/trunk-jpl/src/c/classes/Node.h

    r23559 r23561  
    4141                /*Node constructors, destructors*/
    4242                Node();
    43                 Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index, IoModel* iomodel,int analysis_enum,int approximation_in);
     43                Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index,bool isclone,IoModel* iomodel,int analysis_enum,int approximation_in);
    4444                ~Node();
    4545
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp

    r23559 r23561  
    2222                        for(i=0;i<iomodel->numberofvertices;i++){
    2323                                if(iomodel->my_vertices[i]){
    24                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
     24                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
    2525                                }
    2626                        }
     
    3232                                for(j=0;j<3;j++){
    3333                                        if(my_nodes[3*i+j]){
    34                                                 nodes->AddObject(new Node(id0+3*i+j+1,id0+3*i+j,lid++,0,iomodel->elements[3*i+j]-1,iomodel,analysis,approximation));
     34                                                nodes->AddObject(new Node(id0+3*i+j+1,id0+3*i+j,lid++,0,iomodel->elements[3*i+j]-1,false,iomodel,analysis,approximation));
    3535
    3636                                        }
     
    4242                        for(i=0;i<iomodel->numberofvertices;i++){
    4343                                if(iomodel->my_vertices[i]){
    44                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
    45                                 }
    46                         }
    47                         for(i=0;i<iomodel->numberofelements;i++){
    48                                 if(iomodel->my_elements[i]){
    49                                         nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation));
     44                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
     45                                }
     46                        }
     47                        for(i=0;i<iomodel->numberofelements;i++){
     48                                if(iomodel->my_elements[i]){
     49                                        nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,approximation));
    5050                                }
    5151                        }
     
    5555                        for(i=0;i<iomodel->numberofvertices;i++){
    5656                                if(iomodel->my_vertices[i]){
    57                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
    58                                 }
    59                         }
    60                         for(i=0;i<iomodel->numberofelements;i++){
    61                                 if(iomodel->my_elements[i]){
    62                                         node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation);
     57                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
     58                                }
     59                        }
     60                        for(i=0;i<iomodel->numberofelements;i++){
     61                                if(iomodel->my_elements[i]){
     62                                        node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,approximation);
    6363                                        node->HardDeactivate();
    6464                                        nodes->AddObject(node);
     
    7171                        for(i=0;i<iomodel->numberofvertices;i++){
    7272                                if(iomodel->my_vertices[i]){
    73                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
     73                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
    7474                                }
    7575                        }
     
    7979                                if(iomodel->edges[i*3+2]==2){
    8080                                        if(iomodel->my_edges[i]){
    81                                                 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
     81                                                node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation);
    8282                                                nodes->AddObject(node);
    8383                                        }
     
    9191                        for(i=0;i<iomodel->numberofvertices;i++){
    9292                                if(iomodel->my_vertices[i]){
    93                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
     93                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
    9494                                }
    9595                        }
     
    9999                                if(iomodel->edges[i*3+2]==2){
    100100                                        if(iomodel->my_edges[i]){
    101                                                 node = new Node(id0+iomodel->numberofvertices+2*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
    102                                                 nodes->AddObject(node);
    103                                                 node = new Node(id0+iomodel->numberofvertices+2*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation);
     101                                                node = new Node(id0+iomodel->numberofvertices+2*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation);
     102                                                nodes->AddObject(node);
     103                                                node = new Node(id0+iomodel->numberofvertices+2*i+2,counter+2,lid++,0,0,false,iomodel,analysis,approximation);
    104104                                                nodes->AddObject(node);
    105105                                        }
     
    112112                        for(i=0;i<iomodel->numberofvertices;i++){
    113113                                if(iomodel->my_vertices[i]){
    114                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
     114                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
    115115                                }
    116116                        }
     
    119119                                if(iomodel->edges[i*3+2]==2){/*Vertical edges*/
    120120                                        if(iomodel->my_edges[i]){
    121                                                 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
    122                                                 nodes->AddObject(node);
    123                                                 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation);
    124                                                 nodes->AddObject(node);
    125                                                 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,iomodel,analysis,approximation);
     121                                                node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation);
     122                                                nodes->AddObject(node);
     123                                                node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,approximation);
     124                                                nodes->AddObject(node);
     125                                                node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,approximation);
    126126                                                nodes->AddObject(node);
    127127                                        }
     
    135135                        for(i=0;i<iomodel->numberofvertices;i++){
    136136                                if(iomodel->my_vertices[i]){
    137                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
     137                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
    138138                                }
    139139                        }
     
    143143                                if(iomodel->edges[i*3+2]!=2){
    144144                                        if(iomodel->my_edges[i]){
    145                                                 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
     145                                                node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation);
    146146                                                nodes->AddObject(node);
    147147                                        }
     
    155155                        for(i=0;i<iomodel->numberofvertices;i++){
    156156                                if(iomodel->my_vertices[i]){
    157                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
     157                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
    158158                                }
    159159                        }
    160160                        for(i=0;i<iomodel->numberofedges;i++){
    161161                                if(iomodel->my_edges[i]){
    162                                         nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation));
     162                                        nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,approximation));
    163163                                }
    164164                        }
     
    169169                                        if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
    170170                                                if(iomodel->my_faces[i]){
    171                                                         node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,approximation);
     171                                                        node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,approximation);
    172172                                                        nodes->AddObject(node);
    173173                                                }
     
    186186                        for(i=0;i<iomodel->numberofvertices;i++){
    187187                                if(iomodel->my_vertices[i]){
    188                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
     188                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
    189189                                }
    190190                        }
    191191                        for(i=0;i<iomodel->numberofedges;i++){
    192192                                if(iomodel->my_edges[i]){
    193                                         nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation));
     193                                        nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,approximation));
    194194                                }
    195195                        }
     
    200200                                        if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
    201201                                                if(iomodel->my_faces[i]){
    202                                                         node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,approximation);
     202                                                        node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,approximation);
    203203                                                        nodes->AddObject(node);
    204204                                                }
     
    215215                        for(i=0;i<iomodel->numberofelements;i++){
    216216                                if(iomodel->my_elements[i]){
    217                                         nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,iomodel,analysis,approximation));
     217                                        nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,false,iomodel,analysis,approximation));
    218218                                }
    219219                        }
     
    224224                        for(i=0;i<iomodel->numberofvertices;i++){
    225225                                if(iomodel->my_vertices[i]){
    226                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
     226                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation));
    227227                                }
    228228                        }
     
    231231                                if(iomodel->edges[i*3+2]==2){/*Vertical edges*/
    232232                                        if(iomodel->my_edges[i]){
    233                                                 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
    234                                                 nodes->AddObject(node);
    235                                                 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation);
    236                                                 nodes->AddObject(node);
    237                                                 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,iomodel,analysis,approximation);
     233                                                node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation);
     234                                                nodes->AddObject(node);
     235                                                node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,approximation);
     236                                                nodes->AddObject(node);
     237                                                node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,approximation);
    238238                                                nodes->AddObject(node);
    239239                                        }
     
    242242                                else if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/
    243243                                        if(iomodel->my_edges[i]){
    244                                                 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
     244                                                node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation);
    245245                                                nodes->AddObject(node);
    246246                                        }
     
    255255                                if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
    256256                                        if(iomodel->my_faces[i]){
    257                                                 node = new Node(id0+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
    258                                                 nodes->AddObject(node);
    259                                                 node = new Node(id0+3*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation);
    260                                                 nodes->AddObject(node);
    261                                                 node = new Node(id0+3*i+3,counter+3,lid++,0,0,iomodel,analysis,approximation);
     257                                                node = new Node(id0+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation);
     258                                                nodes->AddObject(node);
     259                                                node = new Node(id0+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,approximation);
     260                                                nodes->AddObject(node);
     261                                                node = new Node(id0+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,approximation);
    262262                                                nodes->AddObject(node);
    263263                                        }
     
    279279                        for(i=0;i<iomodel->numberofvertices;i++){
    280280                                if(iomodel->my_vertices[i]){
    281                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
     281                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum));
    282282                                }
    283283                        }
     
    286286                        for(i=0;i<iomodel->numberofvertices;i++){
    287287                                if(iomodel->my_vertices[i]){
    288                                         nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
     288                                        nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum));
    289289                                }
    290290                        }
     
    295295                        for(i=0;i<iomodel->numberofvertices;i++){
    296296                                if(iomodel->my_vertices[i]){
    297                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
     297                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum));
    298298                                }
    299299                        }
     
    302302                        for(i=0;i<iomodel->numberofvertices;i++){
    303303                                if(iomodel->my_vertices[i]){
    304                                         nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
     304                                        nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum));
    305305                                }
    306306                        }
     
    311311                        for(i=0;i<iomodel->numberofvertices;i++){
    312312                                if(iomodel->my_vertices[i]){
    313                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
    314                                 }
    315                         }
    316                         for(i=0;i<iomodel->numberofelements;i++){
    317                                 if(iomodel->my_elements[i]){
    318                                         node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
     313                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum));
     314                                }
     315                        }
     316                        for(i=0;i<iomodel->numberofelements;i++){
     317                                if(iomodel->my_elements[i]){
     318                                        node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
    319319                                        node->HardDeactivate();
    320320                                        nodes->AddObject(node);
     
    325325                        for(i=0;i<iomodel->numberofvertices;i++){
    326326                                if(iomodel->my_vertices[i]){
    327                                         nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
     327                                        nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum));
    328328                                }
    329329                        }
     
    334334                        for(i=0;i<iomodel->numberofvertices;i++){
    335335                                if(iomodel->my_vertices[i]){
    336                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
    337                                 }
    338                         }
    339                         for(i=0;i<iomodel->numberofelements;i++){
    340                                 if(iomodel->my_elements[i]){
    341                                         nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
     336                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum));
     337                                }
     338                        }
     339                        for(i=0;i<iomodel->numberofelements;i++){
     340                                if(iomodel->my_elements[i]){
     341                                        nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum));
    342342                                }
    343343                        }
     
    346346                        for(i=0;i<iomodel->numberofvertices;i++){
    347347                                if(iomodel->my_vertices[i]){
    348                                         nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
     348                                        nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum));
    349349                                }
    350350                        }
     
    357357                        for(i=0;i<iomodel->numberofvertices;i++){
    358358                                if(iomodel->my_vertices[i]){
    359                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
     359                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum));
    360360                                }
    361361                        }
    362362                        for(i=0;i<iomodel->numberofedges;i++){
    363363                                if(iomodel->my_edges[i]){
    364                                         nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
     364                                        nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum));
    365365                                }
    366366                        }
     
    371371                                        if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
    372372                                                if(iomodel->my_faces[i]){
    373                                                         node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
     373                                                        node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
    374374                                                        nodes->AddObject(node);
    375375                                                }
     
    394394                        for(i=0;i<iomodel->numberofvertices;i++){
    395395                                if(iomodel->my_vertices[i]){
    396                                         nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofedges+numberoffaces+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
     396                                        nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofedges+numberoffaces+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum));
    397397                                }
    398398                        }
     
    404404                        for(i=0;i<iomodel->numberofvertices;i++){
    405405                                if(iomodel->my_vertices[i]){
    406                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
     406                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum));
    407407                                }
    408408                        }
    409409                        for(i=0;i<iomodel->numberofedges;i++){
    410410                                if(iomodel->my_edges[i]){
    411                                         nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
     411                                        nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum));
    412412                                }
    413413                        }
     
    418418                                        if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
    419419                                                if(iomodel->my_faces[i]){
    420                                                         node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
     420                                                        node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
    421421                                                        nodes->AddObject(node);
    422422                                                }
     
    440440                        for(i=0;i<iomodel->numberofvertices;i++){
    441441                                if(iomodel->my_vertices[i]){
    442                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
     442                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum));
    443443                                }
    444444                        }
     
    447447                                if(iomodel->edges[i*3+2]==2){/*Vertical edges*/
    448448                                        if(iomodel->my_edges[i]){
    449                                                 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,FSvelocityEnum);
    450                                                 nodes->AddObject(node);
    451                                                 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,iomodel,analysis,FSvelocityEnum);
    452                                                 nodes->AddObject(node);
    453                                                 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,iomodel,analysis,FSvelocityEnum);
     449                                                node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
     450                                                nodes->AddObject(node);
     451                                                node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
     452                                                nodes->AddObject(node);
     453                                                node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
    454454                                                nodes->AddObject(node);
    455455                                        }
     
    458458                                else if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/
    459459                                        if(iomodel->my_edges[i]){
    460                                                 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,FSvelocityEnum);
     460                                                node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
    461461                                                nodes->AddObject(node);
    462462                                        }
     
    471471                                if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
    472472                                        if(iomodel->my_faces[i]){
    473                                                 node = new Node(id0+3*i+1,counter+1,lid++,0,0,iomodel,analysis,FSvelocityEnum);
    474                                                 nodes->AddObject(node);
    475                                                 node = new Node(id0+3*i+2,counter+2,lid++,0,0,iomodel,analysis,FSvelocityEnum);
    476                                                 nodes->AddObject(node);
    477                                                 node = new Node(id0+3*i+3,counter+3,lid++,0,0,iomodel,analysis,FSvelocityEnum);
     473                                                node = new Node(id0+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
     474                                                nodes->AddObject(node);
     475                                                node = new Node(id0+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
     476                                                nodes->AddObject(node);
     477                                                node = new Node(id0+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
    478478                                                nodes->AddObject(node);
    479479                                        }
     
    492492                        for(i=0;i<iomodel->numberofvertices;i++){
    493493                                if(iomodel->my_vertices[i]){
    494                                         nodes->AddObject(new Node(vnodes+i+1,counter+1,lid++,0,i,iomodel,analysis,FSpressureEnum));
     494                                        nodes->AddObject(new Node(vnodes+i+1,counter+1,lid++,0,i,false,iomodel,analysis,FSpressureEnum));
    495495                                }
    496496                                counter++;
     
    503503                        for(i=0;i<iomodel->numberofvertices;i++){
    504504                                if(iomodel->my_vertices[i]){
    505                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
     505                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum));
    506506                                }
    507507                        }
    508508                        for(i=0;i<iomodel->numberofedges;i++){
    509509                                if(iomodel->my_edges[i]){
    510                                         nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
     510                                        nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum));
    511511                                }
    512512                        }
     
    517517                                        if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
    518518                                                if(iomodel->my_faces[i]){
    519                                                         node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
     519                                                        node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
    520520                                                        nodes->AddObject(node);
    521521                                                }
     
    532532                        for(i=0;i<iomodel->numberofelements;i++){
    533533                                if(iomodel->my_elements[i]){
    534                                         nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
     534                                        nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum));
    535535                                }
    536536                        }
     
    547547                                if(iomodel->my_elements[i]){
    548548                                        for(j=0;j<elementnbv;j++){
    549                                                 nodes->AddObject(new Node(vnodes+elementnbv*i+j+1,vnodes+elementnbv*i+j,lid++,0,iomodel->elements[+elementnbv*i+j]-1,iomodel,analysis,FSpressureEnum));
     549                                                nodes->AddObject(new Node(vnodes+elementnbv*i+j+1,vnodes+elementnbv*i+j,lid++,0,iomodel->elements[+elementnbv*i+j]-1,false,iomodel,analysis,FSpressureEnum));
    550550
    551551                                        }
     
    559559                        for(i=0;i<iomodel->numberofvertices;i++){
    560560                                if(iomodel->my_vertices[i]){
    561                                         nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
     561                                        nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum));
    562562                                }
    563563                        }
    564564                        for(i=0;i<iomodel->numberofedges;i++){
    565565                                if(iomodel->my_edges[i]){
    566                                         nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
     566                                        nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum));
    567567                                }
    568568                        }
     
    573573                                        if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
    574574                                                if(iomodel->my_faces[i]){
    575                                                         node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
     575                                                        node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum);
    576576                                                        nodes->AddObject(node);
    577577                                                }
     
    588588                        for(i=0;i<iomodel->numberofelements;i++){
    589589                                if(iomodel->my_elements[i]){
    590                                         nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
     590                                        nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum));
    591591                                }
    592592                        }
Note: See TracChangeset for help on using the changeset viewer.