Changeset 27767


Ignore:
Timestamp:
05/19/23 08:25:35 (22 months ago)
Author:
Mathieu Morlighem
Message:

CHG: dfmin_frac now operational

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp

    r27758 r27767  
    510510        /*Intermediaries*/
    511511        long    omode;
    512         double  f,dxmin,gttol;
     512        double  f,dxmin,dfmin_frac,gttol;
    513513        int     maxsteps,maxiter;
    514514        int     intn ,num_controls,num_cost_functions,solution_type;
     
    527527        femmodel->parameters->FindParam(&maxiter,InversionMaxiterEnum);
    528528        femmodel->parameters->FindParamAndMakePassive(&dxmin,InversionDxminEnum);
     529        femmodel->parameters->FindParamAndMakePassive(&dfmin_frac,InversionDfminFracEnum);
    529530        femmodel->parameters->FindParamAndMakePassive(&gttol,InversionGttolEnum);
    530531        femmodel->parameters->FindParamAndMakePassive(&scaling_factors,NULL,InversionControlScalingFactorsEnum);
     
    590591
    591592        /*Estimation of the expected decrease in f during the first iteration*/
    592         double dfminFrac = 1.; /*Expected reduction of J*/
    593         double df1=dfminFrac*f;
     593        if(dfmin_frac==0.) dfmin_frac=1.;
     594        double df1=dfmin_frac*f;
    594595
    595596        /*Call M1QN3 solver*/
  • issm/trunk-jpl/src/c/cores/controlm1qn3_core.cpp

    r27758 r27767  
    4040        /*Intermediaries*/
    4141        long    omode;
    42         double  f,dxmin,gttol;
     42        double  f,dxmin,dfmin_frac,gttol;
    4343        int     maxsteps,maxiter;
    4444        int     intn,num_controls,num_cost_functions,solution_type;
     
    6060        femmodel->parameters->FindParam(&maxiter,InversionMaxiterEnum);
    6161        femmodel->parameters->FindParamAndMakePassive(&dxmin,InversionDxminEnum);
     62        femmodel->parameters->FindParamAndMakePassive(&dfmin_frac,InversionDfminFracEnum);
    6263        femmodel->parameters->FindParamAndMakePassive(&gttol,InversionGttolEnum);
    6364        femmodel->parameters->FindParamAndMakePassive(&scaling_factors,NULL,InversionControlScalingFactorsEnum);
     
    122123
    123124        /*Estimation of the expected decrease in f during the first iteration*/
    124         double dfminFrac = 1.; /*Expected reduction of J*/
    125         double df1=dfminFrac*f;
     125        if(dfmin_frac==0.) dfmin_frac=1.;
     126        double df1=dfmin_frac*f;
    126127
    127128        /*Call M1QN3 solver*/
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp

    r27666 r27767  
    130130                                parameters->AddObject(iomodel->CopyConstantObject("md.inversion.incomplete_adjoint",InversionIncompleteAdjointEnum));
    131131                                parameters->AddObject(iomodel->CopyConstantObject("md.inversion.dxmin",InversionDxminEnum));
     132                                parameters->AddObject(iomodel->CopyConstantObject("md.inversion.dfmin_frac",InversionDfminFracEnum));
    132133                                parameters->AddObject(iomodel->CopyConstantObject("md.inversion.gttol",InversionGttolEnum));
    133134                                parameters->AddObject(iomodel->CopyConstantObject("md.inversion.maxsteps",InversionMaxstepsEnum));
     
    143144                        case 4:/*AD M1QN3*/
    144145                                parameters->AddObject(iomodel->CopyConstantObject("md.inversion.dxmin",InversionDxminEnum));
     146                                parameters->AddObject(iomodel->CopyConstantObject("md.inversion.dfmin_frac",InversionDfminFracEnum));
    145147                                parameters->AddObject(iomodel->CopyConstantObject("md.inversion.gttol",InversionGttolEnum));
    146148                                parameters->AddObject(iomodel->CopyConstantObject("md.inversion.maxsteps",InversionMaxstepsEnum));
Note: See TracChangeset for help on using the changeset viewer.