69 |
#include "linsol.h" |
#include "linsol.h" |
70 |
#include "linsolqr.h" |
#include "linsolqr.h" |
71 |
#include "slv_client.h" |
#include "slv_client.h" |
72 |
|
#include "slv_stdcalls.h" |
73 |
|
|
74 |
#include "integrator.h" |
#include "integrator.h" |
75 |
#include "lsode.h" |
#include "lsode.h" |
726 |
|
|
727 |
slv_solve(l_lsode_blsys->system); |
slv_solve(l_lsode_blsys->system); |
728 |
slv_get_status(l_lsode_blsys->system, &status); |
slv_get_status(l_lsode_blsys->system, &status); |
729 |
|
if(slv_check_bounds(l_lsode_blsys->system,0,-1,"")){ |
730 |
|
lsodesys.status = lsode_nok; |
731 |
|
} |
732 |
|
|
733 |
/* pass the solver status to the integrator */ |
/* pass the solver status to the integrator */ |
734 |
res = integrator_checkstatus(status); |
res = integrator_checkstatus(status); |
735 |
|
|
739 |
|
|
740 |
if(res){ |
if(res){ |
741 |
ERROR_REPORTER_HERE(ASC_PROG_ERR,"Failed to solve for derivatives (%d)",res); |
ERROR_REPORTER_HERE(ASC_PROG_ERR,"Failed to solve for derivatives (%d)",res); |
742 |
/* |
#if 0 |
743 |
ERROR_REPORTER_START_HERE(ASC_PROG_ERR); |
ERROR_REPORTER_START_HERE(ASC_PROG_ERR); |
744 |
FPRINTF(ASCERR,"Unable to compute the vector of derivatives with the following values for the state variables:\n"); |
FPRINTF(ASCERR,"Unable to compute the vector of derivatives with the following values for the state variables:\n"); |
745 |
for (i = 0; i< *n_eq; i++) { |
for (i = 0; i< *n_eq; i++) { |
746 |
FPRINTF(ASCERR,"y[%4d] = %f\n",i, y[i]); |
FPRINTF(ASCERR,"y[%4d] = %f\n",i, y[i]); |
747 |
} |
} |
748 |
error_reporter_end_flush(); |
error_reporter_end_flush(); |
749 |
*/ |
#endif |
750 |
lsodesys.status = lsode_nok; |
lsodesys.status = lsode_nok; |
751 |
}else{ |
}else{ |
752 |
lsodesys.status = lsode_ok; |
lsodesys.status = lsode_ok; |