Changeset 17678
- Timestamp:
- 04/08/14 15:58:31 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/solutionsequences/solutionsequence_la_theta.cpp
r17664 r17678 39 39 int count = 0; 40 40 GetSolutionFromInputsx(&ug,femmodel); 41 Vector<IssmDouble>* vx = NULL; 42 Vector<IssmDouble>* vx_old = NULL; 43 GetVectorFromInputsx(&vx,femmodel,VxEnum,VertexEnum); 41 44 42 45 while(true){ … … 45 48 /*save pointer to old velocity*/ 46 49 delete ug_old;ug_old=ug; 50 delete vx_old;vx_old=vx; 47 51 48 52 /*Calculate d*/ … … 65 69 analysis->InputUpdateFromSolutionFSXTH_d( femmodel->elements,femmodel->parameters); 66 70 analysis->InputUpdateFromSolutionFSXTH_tau(femmodel->elements,femmodel->parameters); 71 GetVectorFromInputsx(&vx,femmodel,VxEnum,VertexEnum); 67 72 68 73 /*Check for convergence*/ 69 Vector<IssmDouble>* dug=ug_old->Duplicate(); ug_old->Copy(dug); dug->AYPX(ug,-1.0); 70 IssmDouble ndu=dug->Norm(NORM_TWO); delete dug; 71 IssmDouble nu =ug_old->Norm(NORM_TWO); 74 //Vector<IssmDouble>* dug=ug_old->Duplicate(); ug_old->Copy(dug); dug->AYPX(ug,-1.0); 75 //IssmDouble ndu=dug->Norm(NORM_TWO); delete dug; 76 //IssmDouble nu =ug_old->Norm(NORM_TWO); 77 Vector<IssmDouble>* dvx=vx_old->Duplicate(); vx_old->Copy(dvx); dvx->AYPX(vx,-1.0); 78 IssmDouble ndu=dvx->Norm(NORM_TWO); delete dvx; 79 IssmDouble nu =vx_old->Norm(NORM_TWO); 72 80 if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu)) _error_("convergence criterion is NaN!"); 73 81 if((ndu/nu)<eps_rel){ … … 89 97 delete ug; 90 98 delete ug_old; 99 delete vx; 100 delete vx_old; 91 101 delete analysis; 92 102 }
Note:
See TracChangeset
for help on using the changeset viewer.