Changeset 20515


Ignore:
Timestamp:
04/18/16 10:52:41 (9 years ago)
Author:
Mathieu Morlighem
Message:

CHG: from Alex Scott, no need to use dynamic allocation for dbasis, static allocation seems to be much faster

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

Legend:

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

    r18925 r20515  
    443443
    444444        /*Get nodal functions derivatives in reference triangle*/
    445         IssmDouble* dbasis_ref=xNew<IssmDouble>(3*numnodes);
     445        IssmDouble dbasis_ref[3*NUMNODESMAX];
    446446        GetNodalFunctionsDerivativesReference(dbasis_ref,gauss,finiteelement);
    447447
     
    461461                dbasis[numnodes*2+i]=Jinv[2][0]*dbasis_ref[0*numnodes+i]+Jinv[2][1]*dbasis_ref[1*numnodes+i]+Jinv[2][2]*dbasis_ref[2*numnodes+i];
    462462        }
    463 
    464         /*Clean up*/
    465         xDelete<IssmDouble>(dbasis_ref);
    466463}
    467464/*}}}*/
  • issm/trunk-jpl/src/c/classes/Elements/SegRef.cpp

    r18925 r20515  
    146146
    147147        /*Get nodal functions derivatives in reference triangle*/
    148         IssmDouble* dbasis_ref=xNew<IssmDouble>(numnodes);
     148        IssmDouble dbasis_ref[1*NUMNODESMAX];
    149149        GetNodalFunctionsDerivativesReference(dbasis_ref,gauss,finiteelement);
    150150
     
    158158                dbasis[i] = Jinv*dbasis_ref[i];
    159159        }
    160 
    161         /*Clean up*/
    162         xDelete<IssmDouble>(dbasis_ref);
    163 
    164160}
    165161/*}}}*/
  • issm/trunk-jpl/src/c/classes/Elements/TetraRef.cpp

    r18925 r20515  
    225225
    226226        /*Get nodal functions derivatives in reference triangle*/
    227         IssmDouble* dbasis_ref=xNew<IssmDouble>(3*numnodes);
     227        IssmDouble dbasis_ref[3*NUMNODESMAX];
    228228        GetNodalFunctionsDerivativesReference(dbasis_ref,gauss,finiteelement);
    229229
     
    243243                dbasis[numnodes*2+i]=Jinv[2][0]*dbasis_ref[0*numnodes+i]+Jinv[2][1]*dbasis_ref[1*numnodes+i]+Jinv[2][2]*dbasis_ref[2*numnodes+i];
    244244        }
    245 
    246         /*Clean up*/
    247         xDelete<IssmDouble>(dbasis_ref);
    248245}
    249246/*}}}*/
  • issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp

    r18925 r20515  
    197197
    198198        /*Get nodal functions derivatives in reference triangle*/
    199         IssmDouble* dbasis_ref=xNew<IssmDouble>(2*numnodes);
     199        IssmDouble dbasis_ref[2*NUMNODESMAX];
    200200        GetNodalFunctionsDerivativesReference(dbasis_ref,gauss,finiteelement);
    201201
     
    211211                dbasis[numnodes*1+i] = Jinv[1][0]*dbasis_ref[0*numnodes+i]+Jinv[1][1]*dbasis_ref[1*numnodes+i];
    212212        }
    213 
    214         /*Clean up*/
    215         xDelete<IssmDouble>(dbasis_ref);
    216213
    217214}
Note: See TracChangeset for help on using the changeset viewer.