Changeset 17678


Ignore:
Timestamp:
04/08/14 15:58:31 (11 years ago)
Author:
Mathieu Morlighem
Message:

NEW: convergence test on Vx for now

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/solutionsequences/solutionsequence_la_theta.cpp

    r17664 r17678  
    3939        int  count = 0;
    4040        GetSolutionFromInputsx(&ug,femmodel);
     41        Vector<IssmDouble>* vx     = NULL;
     42        Vector<IssmDouble>* vx_old = NULL;
     43        GetVectorFromInputsx(&vx,femmodel,VxEnum,VertexEnum);
    4144
    4245        while(true){
     
    4548                /*save pointer to old velocity*/
    4649                delete ug_old;ug_old=ug;
     50                delete vx_old;vx_old=vx;
    4751
    4852                /*Calculate d*/
     
    6569                analysis->InputUpdateFromSolutionFSXTH_d(  femmodel->elements,femmodel->parameters);
    6670                analysis->InputUpdateFromSolutionFSXTH_tau(femmodel->elements,femmodel->parameters);
     71                GetVectorFromInputsx(&vx,femmodel,VxEnum,VertexEnum);
    6772
    6873                /*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);
    7280                if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu)) _error_("convergence criterion is NaN!");
    7381                if((ndu/nu)<eps_rel){
     
    8997        delete ug; 
    9098        delete ug_old; 
     99        delete vx; 
     100        delete vx_old; 
    91101        delete analysis;
    92102}
Note: See TracChangeset for help on using the changeset viewer.