Changeset 80
- Timestamp:
- 04/28/09 13:40:57 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/parallel/diagnostic_core_nonlinear.cpp
r75 r80 119 119 VecNorm(dug,NORM_2,&ndu);VecNorm(old_ug,NORM_2,&nu);VecNorm(dug,NORM_INFINITY,&nduinf); VecFree(&dug); 120 120 121 //relative criterion 121 122 if((ndu/nu)<eps_rel){ 122 if(isnan(eps_abs) | (nduinf*yts)<eps_abs){ 123 if (constraints_converged) converged=1; 123 if (debug) _printf_("%s%g%s%g\n"," Convergence criterion: norm(du)/norm(u)=",ndu/nu," < ",eps_rel); 124 converged=1; 125 } 126 else{ 127 if (debug) _printf_("%s%g%s%g\n"," Convergence criterion: norm(du)/norm(u)=",ndu/nu," > ",eps_rel); 128 converged=0; 129 } 130 131 //Absolute criterion (Optional) 132 if (!isnan(eps_abs)){ 133 if ((nduinf*yts)<eps_abs){ 134 if (debug) _printf_("%s%g%s%g\n"," Convergence criterion: max(du)=",nduinf*yts," < ",eps_abs); 135 } 136 else{ 137 if (debug) _printf_("%s%g%s%g\n"," Convergence criterion: max(du)=",nduinf*yts," > ",eps_abs); 138 converged=0; 124 139 } 125 140 } 126 127 if (debug){128 _printf_("%s%g%s%g\n"," Convergence criterion: norm(du)/norm(u)=",ndu/nu," > ",eps_rel);129 }130 141 131 if (debug & !isnan(eps_abs)){ 132 _printf_("%s%g%s%g\n"," Convergence criterion: max(du)=",nduinf*yts," > ",eps_abs); 133 } 142 //rift convergence 143 if (!constraints_converged) converged=0; 134 144 } 135 145
Note:
See TracChangeset
for help on using the changeset viewer.