Changeset 16221


Ignore:
Timestamp:
09/20/13 16:26:17 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: fixed memory leak in DamageEvolution

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

Legend:

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

    r16219 r16221  
    69526952
    69536953        /*Intermediaries */
    6954         IssmDouble Jdet,dt;
    6955         IssmDouble f,damage;
    6956         IssmDouble xyz_list[NUMVERTICES][3];
    6957         Input* damage_input  = NULL;
    6958         Input* f_input  = NULL;
     6954        IssmDouble  Jdet ,dt;
     6955        IssmDouble  f,damage;
     6956        IssmDouble  xyz_list[NUMVERTICES][3];
     6957        IssmDouble  f_list[NUMVERTICES];
     6958        Input      *damage_input             = NULL;
    69596959
    69606960        /*Fetch number of nodes and dof for this finite element*/
     
    69716971       
    69726972        /*retrieve damage evolution forcing function: */
    6973         f_input=this->DamageEvolutionF();
     6973        this->DamageEvolutionF(&f_list[0]);
    69746974
    69756975        /*Initialize forcing function f to 0, do not forget!:*/
     
    69836983                GetNodalFunctions(basis,gauss);
    69846984
    6985                 f_input->GetInputValue(&f,gauss);
     6985                TriaRef::GetInputValue(&f,f_list,gauss);
    69866986                damage_input->GetInputValue(&damage,gauss);
    69876987
     
    69966996/*}}}*/
    69976997/*FUNCTION Tria::DamageEvolutionF{{{*/
    6998 Input* Tria::DamageEvolutionF(void){
     6998void Tria::DamageEvolutionF(IssmDouble* f){
    69996999
    70007000        /*Intermediaries */
     
    70077007        IssmDouble NegPsi;
    70087008        Input* damage_input=NULL;
    7009         Input* z_input=NULL;
    70107009        Input* sigma_xx_input  = NULL;
    70117010        Input* sigma_xy_input  = NULL;
     
    70137012        GaussTria* gauss=NULL;
    70147013        IssmDouble damage,sigma_xx,sigma_xy,sigma_yy;
    7015        
    7016         /*output: */
    7017         IssmDouble f[NUMVERTICES];
    7018         Input* f_input=NULL;
    70197014
    70207015        /*retrieve parameters:*/
     
    70617056
    70627057        }
    7063         f_input=new TriaInput(NoneEnum,&f[0],P1Enum);
    70647058       
    70657059        /*Clean up and return*/
    70667060        delete gauss;
    7067         return f_input;
    70687061}
    70697062/*}}}*/
  • issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r16208 r16221  
    283283                ElementVector* CreatePVectorDamageEvolution(void);
    284284                ElementVector* CreatePVectorDamageEvolution_CG(void);
    285                 Input* DamageEvolutionF(void);
    286                 void           InputUpdateFromSolutionDamageEvolution(IssmDouble* solution);
     285                void           DamageEvolutionF(IssmDouble* flist);
     286                void             InputUpdateFromSolutionDamageEvolution(IssmDouble* solution);
    287287                #endif
    288288
Note: See TracChangeset for help on using the changeset viewer.