# Diff of /trunk/base/generic/solver/lsode.c

revision 1132 by johnpye, Sun Jan 14 10:40:58 2007 UTC revision 1133 by johnpye, Sun Jan 14 11:51:48 2007 UTC
# Line 356  int integrator_lsode_params_default(Inte Line 356  int integrator_lsode_params_default(Inte
356              ,"AM=Adams-Moulton method (for non-stiff problems), BDF=Backwards"              ,"AM=Adams-Moulton method (for non-stiff problems), BDF=Backwards"
357              " Difference Formular (for stiff problems). See 'Description and"              " Difference Formular (for stiff problems). See 'Description and"
358              " Use of LSODE', section 3.1."              " Use of LSODE', section 3.1."
359          }, "BDF"}, (char *[]){"AM", "BDF"}          }, "BDF"}, (char *[]){"AM","BDF",NULL}
360      );      );
361
362      slv_param_int(p,LSODE_PARAM_MITER      slv_param_int(p,LSODE_PARAM_MITER
# Line 952  int integrator_lsode_solve(IntegratorSys Line 952  int integrator_lsode_solve(IntegratorSys
952          return 5;          return 5;
953      }      }
954      if(strcmp(method,"BDF")==0){      if(strcmp(method,"BDF")==0){
955          mf = 10 + miter;          CONSOLE_DEBUG("method = BDF");
956            mf = 20 + miter;
957          if(maxord > 5){          if(maxord > 5){
958              maxord = 5;              maxord = 5;
959              CONSOLE_DEBUG("MAXORD reduced to 5 for BDF");              CONSOLE_DEBUG("MAXORD reduced to 5 for BDF");
960          }          }
961      }else if(strcmp(method,"AM")==0){      }else if(strcmp(method,"AM")==0){
962          mf = 20 + miter;          CONSOLE_DEBUG("method = AM");
963            if(maxord > 12){
964                maxord = 12;
965                CONSOLE_DEBUG("MAXORD reduced to 12 for AM");
966            }
967            mf = 10 + miter;
968    }else{    }else{
969          ERROR_REPORTER_HERE(ASC_USER_ERROR,"Unacceptable value '%d' of parameter 'meth'",method);          ERROR_REPORTER_HERE(ASC_USER_ERROR,"Unacceptable value '%d' of parameter 'meth'",method);
970          return 5;          return 5;

Legend:
 Removed from v.1132 changed lines Added in v.1133