Changeset 1413
- Timestamp:
- 07/29/09 14:23:13 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/parallel/diagnostic_core_nonlinear.cpp
r1265 r1413 20 20 Vec old_uf=NULL; 21 21 DataSet* loads=NULL; 22 Vec residue=NULL;23 22 Vec KU=NULL; 23 Vec KUF=NULL; 24 24 25 25 /*intermediary: */ … … 37 37 Vec dug=NULL; 38 38 double ndu,nduinf,nu; 39 double nresidue; 39 double nKUF; 40 double nF; 41 double residue; 40 42 41 43 /*parameters:*/ … … 113 115 114 116 /*Compute residue*/ 117 //compute KUF = KU - F = K*U - F 115 118 VecDuplicate(uf,&KU); MatMultPatch(Kff,uf,KU); 116 VecDuplicate(KU,&residue);VecCopy(KU,residue); VecAYPX(residue,-1.0,pf); 117 VecNorm(residue,NORM_2,&nresidue); VecFree(&residue); 119 VecDuplicate(KU,&KUF);VecCopy(KU,KUF); VecAYPX(KUF,-1.0,pf); 120 //comput norm(KUF), norm(F) and residue 121 VecNorm(KUF,NORM_2,&nKUF); VecFree(&KUF); 122 VecNorm(pf,NORM_2,&nF); 123 residue=nKUF/nF; 118 124 119 125 //no need for Kff and pf anymore … … 137 143 138 144 //residue 139 if (debug) _printf_("%s%g\n"," Convergence criterion: norm( residue)=",nresidue);145 if (debug) _printf_("%s%g\n"," Convergence criterion: norm(KU-F)/norm(F)=",residue); 140 146 141 147 //relative criterion
Note:
See TracChangeset
for help on using the changeset viewer.