Changeset 27168


Ignore:
Timestamp:
08/01/22 06:41:15 (3 years ago)
Author:
bdef
Message:

CHG:modification needed for hydro convergence

Location:
issm/trunk-jpl/src/c
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp

    r25554 r27168  
    1616        /*If fsize is 0, return NULL vector*/
    1717        if(fsize==0){
    18                 *puf=NULL;
     18                Vector<IssmDouble>* uf=new Vector<IssmDouble>(0);
     19                *puf=uf;
     20                //*puf=NULL;
    1921                return;
    2022        }
  • issm/trunk-jpl/src/c/solutionsequences/convergence.cpp

    r26787 r27168  
    11/*!\file: convergence.cpp
    22 * \brief: figure out if convergence has been reached
    3  */ 
     3 */
    44
    55#include "../classes/classes.h"
     
    2424        if(VerboseModule()) _printf0_("   checking convergence\n");
    2525
    26         /*If uf is NULL in input, f-set is nil, model is fully constrained, therefore converged from 
     26        /*If uf is NULL in input, f-set is nil, model is fully constrained, therefore converged from
    2727         * the get go: */
    2828        if(uf->IsEmpty()){
     
    3939        nKUoldF=KUoldF->Norm(NORM_TWO);
    4040        nF=pf->Norm(NORM_TWO);
     41        nF+=1.0e14;
    4142        res=nKUoldF/nF;
    4243        if (xIsNan<IssmDouble>(res)){
     
    5455                converged=true;
    5556        }
    56         else{ 
     57        else{
    5758                if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   mechanical equilibrium convergence criterion"<<res*100<<" > "<<eps_res*100<<" %\n");
    5859                converged=false;
     
    6566                duf=old_uf->Duplicate(); old_uf->Copy(duf); duf->AYPX(uf,-1.0);
    6667                ndu=duf->Norm(NORM_TWO); nu=old_uf->Norm(NORM_TWO);
    67 
    6868                if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu)) _error_("convergence criterion is NaN!");
    6969
     
    7676                                if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " < " << eps_rel*100 << " %\n");
    7777                        }
    78                         else{ 
     78                        else{
    7979                                if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " > " << eps_rel*100 << " %\n");
    8080                                converged=false;
Note: See TracChangeset for help on using the changeset viewer.