Changeset 5731


Ignore:
Timestamp:
09/09/10 15:54:04 (15 years ago)
Author:
Mathieu Morlighem
Message:

removed old gauss points

Location:
issm/trunk/src/c/objects/Elements
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r5729 r5731  
    42654265void Penta::GetParameterValue(double* pvalue,Node* node,int enumtype){
    42664266
    4267         /*Output*/
    4268         double value;
    4269 
    4270         /*Intermediaries*/
    4271         const int numnodes=6;
    4272         int       grid=-1;
    4273         int       i;
    4274         double gauss[numnodes][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
    4275 
    4276         /*go through 3 nodes (all nodes for tria) and identify 1st and 2nd nodes: */
     4267        GaussPenta* gauss=new GaussPenta();
     4268
    42774269        ISSMASSERT(nodes);
    4278         for(i=0;i<numnodes;i++){
    4279                 if (node==nodes[i]){
    4280                         grid=i;
    4281                         break;
    4282                 }
    4283         }
    4284 
    4285         /*Check that the node has been found*/
    4286         if (grid==-1) ISSMERROR("Node pointer not found in Penta's nodes");
    4287 
    4288         /*Get Parameter value on node*/
    4289         inputs->GetParameterValue(pvalue,&gauss[grid][0],enumtype);
    4290         return;
    4291 
     4270        gauss->GaussVertex(this->GetNodeIndex(node));
     4271
     4272        inputs->GetParameterValue(pvalue,gauss,enumtype);
    42924273}
    42934274/*}}}*/
     
    43374318        const int    numdofpervertex=2;
    43384319        const int    numdof=numdofpervertex*NUMVERTICES;
    4339         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
     4320        GaussPenta*  gauss;
    43404321        int*         doflist=NULL;
    43414322        double       values[numdof];
     
    43584339        /*Ok, we have vx and vy in values, fill in vx and vy arrays: */
    43594340        /*P1 element only for now*/
     4341        gauss=new GaussPenta();
    43604342        for(i=0;i<NUMVERTICES;i++){
    43614343
    43624344                /*Recover vx and vy*/
    4363                 inputs->GetParameterValue(&vx,&gauss[i][0],VxEnum);
    4364                 inputs->GetParameterValue(&vy,&gauss[i][0],VyEnum);
     4345                gauss->GaussVertex(i);
     4346                inputs->GetParameterValue(&vx,gauss,VxEnum);
     4347                inputs->GetParameterValue(&vy,gauss,VyEnum);
    43654348                values[i*numdofpervertex+0]=vx;
    43664349                values[i*numdofpervertex+1]=vy;
     
    43714354
    43724355        /*Free ressources:*/
     4356        delete gauss;
    43734357        xfree((void**)&doflist);
    43744358}
     
    43814365        const int    numdofpervertex=2;
    43824366        const int    numdof=numdofpervertex*NUMVERTICES;
    4383         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
     4367        GaussPenta*  gauss=NULL;
    43844368        int*         doflist=NULL;
    43854369        double       values[numdof];
     
    43924376        /*Ok, we have vx and vy in values, fill in vx and vy arrays: */
    43934377        /*P1 element only for now*/
     4378        gauss=new GaussPenta();
    43944379        for(i=0;i<NUMVERTICES;i++){
    43954380
    43964381                /*Recover vx and vy*/
    4397                 inputs->GetParameterValue(&vx,&gauss[i][0],VxEnum);
    4398                 inputs->GetParameterValue(&vy,&gauss[i][0],VyEnum);
     4382                gauss->GaussVertex(i);
     4383                inputs->GetParameterValue(&vx,gauss,VxEnum);
     4384                inputs->GetParameterValue(&vy,gauss,VyEnum);
    43994385                values[i*numdofpervertex+0]=vx;
    44004386                values[i*numdofpervertex+1]=vy;
     
    44054391
    44064392        /*Free ressources:*/
     4393        delete gauss;
    44074394        xfree((void**)&doflist);
    44084395}
     
    44154402        const int    numdofpervertex=1;
    44164403        const int    numdof=numdofpervertex*NUMVERTICES;
    4417         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
     4404        GaussPenta*  gauss=NULL;
    44184405        int*         doflist=NULL;
    44194406        double       values[numdof];
     
    44254412        /*Ok, we have vx and vy in values, fill in vx and vy arrays: */
    44264413        /*P1 element only for now*/
     4414        gauss=new GaussPenta();
    44274415        for(i=0;i<NUMVERTICES;i++){
    44284416
    44294417                /*Recover vz */
    4430                 inputs->GetParameterValue(&vz,&gauss[i][0],VxEnum);
     4418                gauss->GaussVertex(i);
     4419                inputs->GetParameterValue(&vz,gauss,VxEnum);
    44314420                values[i]=vz;
    44324421        }
     
    44364425
    44374426        /*Free ressources:*/
     4427        delete gauss;
    44384428        xfree((void**)&doflist);
    44394429}
     
    44464436        const int    numdofpervertex=4;
    44474437        const int    numdof=numdofpervertex*NUMVERTICES;
    4448         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
     4438        GaussPenta  *gauss;
    44494439        int*         doflist=NULL;
    44504440        double       values[numdof];
     
    44604450        /*Ok, we have vx vy vz and P in values, fill in vx vy vz P arrays: */
    44614451        /*P1 element only for now*/
     4452        gauss=new GaussPenta();
    44624453        for(i=0;i<NUMVERTICES;i++){
    44634454
    44644455                /*Recover vx and vy*/
    4465                 inputs->GetParameterValue(&vx,&gauss[i][0],VxEnum);
    4466                 inputs->GetParameterValue(&vy,&gauss[i][0],VyEnum);
    4467                 inputs->GetParameterValue(&vz,&gauss[i][0],VzEnum);
    4468                 inputs->GetParameterValue(&p ,&gauss[i][0],PressureEnum);
     4456                gauss->GaussVertex(i);
     4457                inputs->GetParameterValue(&vx,gauss,VxEnum);
     4458                inputs->GetParameterValue(&vy,gauss,VyEnum);
     4459                inputs->GetParameterValue(&vz,gauss,VzEnum);
     4460                inputs->GetParameterValue(&p ,gauss,PressureEnum);
    44694461                values[i*numdofpervertex+0]=vx;
    44704462                values[i*numdofpervertex+1]=vy;
     
    44774469
    44784470        /*Free ressources:*/
     4471        delete gauss;
    44794472        xfree((void**)&doflist);
    44804473}
     
    44874480        const int    numdofpervertex=1;
    44884481        const int    numdof=numdofpervertex*NUMVERTICES;
    4489         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
     4482        GaussPenta  *gauss=NULL;
    44904483        int*         doflist=NULL;
    44914484        double       values[numdof];
     
    44984491        /*Ok, we have vx and vy in values, fill in vx and vy arrays: */
    44994492        /*P1 element only for now*/
     4493        gauss=new GaussPenta();
    45004494        for(i=0;i<NUMVERTICES;i++){
    45014495
    45024496                /*Recover vz */
    4503                 inputs->GetParameterValue(&vz,&gauss[i][0],TemperatureEnum);
     4497                gauss->GaussVertex(i);
     4498                inputs->GetParameterValue(&vz,gauss,TemperatureEnum);
    45044499                values[i]=vz;
    45054500        }
     
    45094504       
    45104505        /*Free ressources:*/
     4506        delete gauss;
    45114507        xfree((void**)&doflist);
    45124508}
     
    48834879        double       rho_ice,g;
    48844880        double       xyz_list[NUMVERTICES][3];
    4885         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
    48864881
    48874882        Input  *vz_input        = NULL;
     
    49764971        double       rho_ice,g;
    49774972        double       xyz_list[NUMVERTICES][3];
    4978         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
    49794973
    49804974        Input  *vz_input       = NULL;
     
    50695063        double       rho_ice,g;
    50705064        double       xyz_list[NUMVERTICES][3];
    5071         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
    50725065       
    50735066        Input  *vz_input        = NULL;
     
    51495142        double       rho_ice,g;
    51505143        double       xyz_list[NUMVERTICES][3];
    5151         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
    51525144       
    51535145        Input*       vz_input=NULL;
     
    52295221        double       rho_ice,g;
    52305222        double       xyz_list[NUMVERTICES][3];
    5231         double       gauss[NUMVERTICES][4]={{1,0,0,-1},{0,1,0,-1},{0,0,1,-1},{1,0,0,1},{0,1,0,1},{0,0,1,1}};
    52325223
    52335224        Input*       vx_input=NULL;
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r5719 r5731  
    55535553void Tria::GetParameterValue(double* pvalue,Node* node,int enumtype){
    55545554
    5555         /*Output*/
    5556         double value;
    5557 
    5558         /*Intermediaries*/
    5559         const int numnodes=3;
    5560         int       i;
    5561         double    gauss_tria[numnodes]={0.0};
    5562 
    5563         /*go through 3 nodes (all nodes for tria) and identify node: */
     5555        GaussTria* gauss=new GaussTria();
     5556
    55645557        ISSMASSERT(nodes);
    5565         for(i=0;i<numnodes;i++){
    5566                 if (node==nodes[i]){
    5567 
    5568                         /*OK we have found the node, update the gauss point and get value*/
    5569                         gauss_tria[i]=1.0;
    5570 
    5571                         /*Recover input*/
    5572                         this->inputs->GetParameterValue(&value, &gauss_tria[0],enumtype);
    5573 
    5574                         /*Assign output pointers:*/
    5575                         *pvalue=value;
    5576                         return;
    5577 
    5578                 }
    5579         }
    5580 
    5581         /*If we reach tis point, the node provided has not been found;*/
    5582         ISSMERROR("The node provided are either the same or did not match current Tria nodes");
     5558        gauss->GaussVertex(this->GetNodeIndex(node));
     5559
     5560        inputs->GetParameterValue(pvalue,gauss,enumtype);
    55835561}
    55845562/*}}}*/
Note: See TracChangeset for help on using the changeset viewer.