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 |
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; |