Changeset 15441


Ignore:
Timestamp:
07/05/13 13:49:24 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: some bug fix for quadratic elements

Location:
issm/trunk-jpl/src/c/classes/Elements
Files:
2 edited

Legend:

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

    r15439 r15441  
    10111011        _assert_(sidlist);
    10121012        _assert_(nodes);
    1013 
    1014         for(int i=0;i<NUMVERTICES;i++){
     1013        int numnodes = this->GetNumberOfNodes();
     1014
     1015        for(int i=0;i<numnodes;i++){
    10151016                sidlist[i]=nodes[i]->Sid();
    10161017        }
     
    26302631void Penta::SetwiseNodeConnectivity(int* pd_nz,int* po_nz,Node* node,bool* flags,int set1_enum,int set2_enum){
    26312632
     2633        /*Intermediaries*/
     2634        const int numnodes = this->GetNumberOfNodes();
     2635
    26322636        /*Output */
    26332637        int d_nz = 0;
     
    26352639
    26362640        /*Loop over all nodes*/
    2637         for(int i=0;i<6;i++){
     2641        for(int i=0;i<numnodes;i++){
    26382642
    26392643                if(!flags[this->nodes[i]->Sid()]){
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r15439 r15441  
    121121void Tria::SetwiseNodeConnectivity(int* pd_nz,int* po_nz,Node* node,bool* flags,int set1_enum,int set2_enum){
    122122
     123        /*Intermediaries*/
     124        const int numnodes = this->GetNumberOfNodes();
     125
    123126        /*Output */
    124127        int d_nz = 0;
     
    126129
    127130        /*Loop over all nodes*/
    128         for(int i=0;i<3;i++){
     131        for(int i=0;i<numnodes;i++){
    129132
    130133                if(!flags[this->nodes[i]->Sid()]){
     
    891894        _assert_(sidlist);
    892895        _assert_(nodes);
    893 
    894         for(int i=0;i<NUMVERTICES;i++){
     896        int numnodes = this->GetNumberOfNodes();
     897
     898        for(int i=0;i<numnodes;i++){
    895899                sidlist[i]=nodes[i]->Sid();
    896900        }
     
    28192823
    28202824        /*Transform Coordinate System*/
    2821         TransformStiffnessMatrixCoord(Ke,nodes,NUMVERTICES,XYEnum);
     2825        TransformStiffnessMatrixCoord(Ke,nodes,numnodes,XYEnum);
    28222826
    28232827        /*Clean up and return*/
     
    29072911
    29082912        /*Transform Coordinate System*/
    2909         TransformStiffnessMatrixCoord(Ke,nodes,NUMVERTICES,XYEnum);
     2913        TransformStiffnessMatrixCoord(Ke,nodes,numnodes,XYEnum);
    29102914
    29112915        /*Clean up and return*/
     
    29682972
    29692973        /*Initialize Element vector and vectors*/
    2970         ElementVector* pe=new ElementVector(nodes,NUMVERTICES,this->parameters,MacAyealApproximationEnum);
     2974        ElementVector* pe=new ElementVector(nodes,numnodes,this->parameters,MacAyealApproximationEnum);
    29712975        GaussTria*     gauss  = new GaussTria(2);
    29722976        IssmDouble*    basis = xNew<IssmDouble>(numnodes);
     
    29932997                /*Build load vector: */
    29942998                for (i=0;i<numnodes;i++){
    2995                         for (j=0;j<NDOF2;j++){
     2999                        for(j=0;j<NDOF2;j++){
    29963000                                pe->values[i*NDOF2+j]+=-driving_stress_baseline*slope[j]*Jdet*gauss->weight*basis[i];
    29973001                        }
     
    30003004
    30013005        /*Transform coordinate system*/
    3002         TransformLoadVectorCoord(pe,nodes,NUMVERTICES,XYEnum);
     3006        TransformLoadVectorCoord(pe,nodes,numnodes,XYEnum);
    30033007
    30043008        /*Clean up and return*/
Note: See TracChangeset for help on using the changeset viewer.