Changeset 78
- Timestamp:
- 04/28/09 13:15:09 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/solutions/cielo/diagnostic_core_nonlinear.m
r76 r78 52 52 53 53 %Solve 54 if m.parameters.debug, 55 disp(sprintf('%s%g',' condition number of stiffness matrix: ',condest(K_ff))); 56 end 54 57 [soln(count).u_f]=Solver(K_ff,p_f,[],m.parameters); 55 58 … … 70 73 if(count>=3), 71 74 dug=soln(count).u_g-soln(count-1).u_g; nduinf=norm(dug,inf)*m.parameters.yts; ndu=norm(dug,2); nu=norm(soln(count-1).u_g,2); 75 76 %Relative criterion 72 77 if (ndu/nu<=m.parameters.eps_rel), 73 if (isnan(m.parameters.eps_abs) | nduinf<=m.parameters.eps_abs), 74 if constraints_converged, 75 converged=1; 76 end 77 end 78 if m.parameters.debug, disp(sprintf('%s %g %s %g',' convergence criterion: norm(du)/norm(u)=',ndu/nu,' < ',m.parameters.eps_rel)); end 79 converged=1; 80 else 81 if m.parameters.debug, disp(sprintf('%s %g %s %g',' convergence criterion: norm(du)/norm(u)=',ndu/nu,' > ',m.parameters.eps_rel)); end 82 converged=0; 83 end 84 85 %Absolute criterion 86 if (isnan(m.parameters.eps_abs) | nduinf<=m.parameters.eps_abs), 87 if m.parameters.debug, disp(sprintf('%s %g %s %g',' convergence criterion: max(du)=',nduinf,' < ',m.parameters.eps_abs)); end 88 else 89 if m.parameters.debug, disp(sprintf('%s %g %s %g',' convergence criterion: max(du)=',nduinf,' > ',m.parameters.eps_abs)); end 90 converged=0; 78 91 end 79 92 80 if m.parameters.debug, 81 disp(sprintf('%s %g %s %g',' convergence criterion: norm(du)/norm(u)=',ndu/nu,' > ',m.parameters.eps_rel)); 82 if ~isnan(m.parameters.eps_abs) 83 disp(sprintf('%s %g %s %g',' convergence criterion: max(du)=',nduinf,' > ',m.parameters.eps_abs)); 84 end 85 disp(sprintf('%s %i',' number of unstable constraints=',num_unstable_constraints)); 93 %rift convergence criterion 94 if ~constraints_converged, 95 converged=0; 86 96 end 87 97 end
Note:
See TracChangeset
for help on using the changeset viewer.