Changeset 15412
- Timestamp:
- 07/03/13 14:51:41 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
r15410 r15412 62 62 eplcount=1; 63 63 //save pointer to old velocity 64 ug_sed_main_iter=ug_sed; 64 ug_sed_main_iter=ug_sed->Duplicate(); 65 ug_sed->Copy(ug_sed_main_iter); 65 66 if(isefficientlayer){ 66 ug_epl_main_iter=ug_epl; 67 ug_epl_main_iter=ug_epl->Duplicate(); 68 ug_epl->Copy(ug_epl_main_iter); 67 69 } 68 70 … … 83 85 Solverx(&uf_sed,Kff,pf,uf_sed_sub_iter,df,femmodel->parameters); 84 86 delete Kff; delete pf; delete df; 85 if(sedcount>1)delete uf_sed_sub_iter;87 delete uf_sed_sub_iter; 86 88 uf_sed_sub_iter=uf_sed->Duplicate(); 87 89 uf_sed->Copy(uf_sed_sub_iter); 88 if(sedcount>1) delete ug_sed; /*Not on first time to avoid deleting ug_sed_main_iter*/90 delete ug_sed; 89 91 Mergesolutionfromftogx(&ug_sed,uf_sed,ys,femmodel->nodes,femmodel->parameters); delete ys; 90 92 InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug_sed); … … 127 129 Solverx(&uf_epl,Kff,pf,uf_epl_sub_iter,df,femmodel->parameters); 128 130 delete Kff; delete pf; delete df; 129 if(eplcount>1)delete uf_epl_sub_iter;131 delete uf_epl_sub_iter; 130 132 uf_epl_sub_iter=uf_epl->Duplicate(); 131 133 uf_epl->Copy(uf_epl_sub_iter); 132 if(eplcount>1)delete ug_epl;134 delete ug_epl; 133 135 Mergesolutionfromftogx(&ug_epl,uf_epl,ys,femmodel->nodes,femmodel->parameters); delete ys; 134 136 InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug_epl); … … 162 164 delete dug; 163 165 nu_sed=ug_sed_main_iter->Norm(NORM_TWO); 166 delete ug_sed_main_iter; 164 167 if (xIsNan<IssmDouble>(ndu_sed) || xIsNan<IssmDouble>(nu_sed)) _error_("Sed convergence criterion is NaN!"); 165 168 if (!xIsNan<IssmDouble>(eps_hyd)){ … … 181 184 delete dug; 182 185 nu_epl=ug_epl_main_iter->Norm(NORM_TWO); 183 186 delete ug_epl_main_iter; 184 187 if (xIsNan<IssmDouble>(ndu_epl) || xIsNan<IssmDouble>(nu_epl)) _error_("EPL convergence criterion is NaN!"); 185 188 if (ndu_epl==0.0 && nu_epl==0.0) nu_epl=1.0e-6; /*Hacking the case where the EPL is used but empty*/
Note:
See TracChangeset
for help on using the changeset viewer.