Changeset 16960


Ignore:
Timestamp:
11/26/13 17:03:01 (11 years ago)
Author:
bdef
Message:

BUG: fixing leaks in hydrology

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp

    r16954 r16960  
    9595                        ug_epl_sub_iter=ug_epl->Duplicate();
    9696                        ug_epl->Copy(ug_epl_sub_iter);
    97 
    9897                }
    9998
     
    139138                                duf=uf_sed_sub_iter->Duplicate();_assert_(duf);
    140139                                uf_sed_sub_iter->Copy(duf);_assert_(uf_sed_sub_iter);
    141                                 duf->AYPX(uf_sed,-1.0);
     140                                duf->AYPX(uf_sed,-1.0);_assert_(duf);
    142141                                ndu_sed=duf->Norm(NORM_TWO);
    143                                 delete duf;
    144142                                nu_sed=uf_sed_sub_iter->Norm(NORM_TWO);
    145143                                if (xIsNan<IssmDouble>(ndu_sed) || xIsNan<IssmDouble>(nu_sed)) _error_("convergence criterion is NaN!");
     144                                if (ndu_sed==0.0 && nu_sed==0.0) nu_sed=1.0e-6; /*Hacking the case where the EPL is used but empty*/
    146145                                if((ndu_sed/nu_sed)<eps_hyd){
    147146                                if(VerboseConvergence()) _printf0_("   # Inner sediment convergence achieve \n");
    148147                                        sedconverged=true;
    149148                                }
     149                                delete duf;
    150150                        }
    151151                        delete uf_sed_sub_iter;
     
    166166                                InputUpdateFromSolutionx(femmodel,ug_sed);
    167167                                InputUpdateFromConstantx(femmodel,sediment_kmax,HydrologySedimentKmaxEnum);
     168                                delete uf_sed_sub_iter;
    168169                                break;
    169170                        }
     
    260261                                        InputUpdateFromConstantx(femmodel,sediment_kmax,MeltingOffsetEnum);
    261262                                        InputUpdateFromSolutionx(femmodel,ug_epl);
     263                                        delete ug_epl_sub_iter;
    262264                                        break;
    263265                                }
     
    320322                if(hydroconverged)break;
    321323        }
    322 
     324       
    323325        InputUpdateFromSolutionx(femmodel,ug_sed);
    324326        if(isefficientlayer)InputUpdateFromSolutionx(femmodel,ug_epl);
     
    329331        delete uf_sed;
    330332        delete uf_epl;
    331         delete uf_sed_sub_iter;
    332333        delete uf_epl_sub_iter;
    333         //delete dug;
     334
    334335}
Note: See TracChangeset for help on using the changeset viewer.