View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000559 | ascend | solver | public | 2012-07-19 11:41 | 2013-01-25 20:36 |
Reporter | john | ||||
Assigned To | Ksenija | ||||
Priority | normal | Severity | minor | Reproducibility | always |
Status | assigned | Resolution | open | ||
Platform | Linux | OS | Ubuntu | OS Version | 10.04 LTS |
Product Version | 0.9.8 | ||||
Target Version | 1.0 | Fixed in Version | |||
Summary | 0000559: ASCEND doesn't compile against the IDA provided with Ubuntu 10.04 (SUNDIALS 2.4.0) | ||||
Description | We need to either detect which IDA/SUNDIALS we have and disallow 2.4.0, or we should see if we can re-institute support for 2.4.0. As I recall it there was a bug with boundary traversal in 2.4.0, so maybe it's best to just disallow 2.4.0 in the SCons scripts. | ||||
Tags | No tags attached. | ||||
|
sundials.patch (765 bytes)
Index: SConstruct =================================================================== --- SConstruct (revision 4239) +++ SConstruct (working copy) @@ -1553,8 +1553,7 @@ # IDA test sundials_version_major_required = 2 -sundials_version_minor_min = 2 -sundials_version_minor_max = 4 +sundials_version_minor_required = 4 sundials_version_text = """ #include <sundials/sundials_config.h> @@ -1609,8 +1608,7 @@ context.env['SUNDIALS_VERSION_MAJOR'] = major context.env['SUNDIALS_VERSION_MINOR'] = minor if major != sundials_version_major_required \ - or minor < sundials_version_minor_min \ - or minor > sundials_version_minor_max: + or minor != sundials_version_minor_required: context.Result(output+" (bad version)") # bad version return 0 |
|
I have been looking at SUNDIALS just now and I see that 2.5.0 is available and that it has some changes to the Dense Matrix API that we're using currently (and which we should try to change to a suitable sparse API if we can). This means that we can't support both 2.5.0 and 2.4.0 easily (and we have already lost support for 2.3.0 due to the recent boundary-crossing work and a but that was there in SUNDIALS 2.3.0). I have made some changes in Trunk to currently support only 2.4.0, and I propose that we take a look and see what we can do to add support for 2.5.0 in future. See also [[Building a SUNDIALS RPM for Fedora]]. |
|
sundials-2.5.0.patch (2,513 bytes)
Index: SConstruct =================================================================== --- SConstruct (revision 4373) +++ SConstruct (working copy) @@ -1554,7 +1554,7 @@ sundials_version_major_required = 2 sundials_version_minor_min = 2 -sundials_version_minor_max = 4 +sundials_version_minor_max = 5 sundials_version_text = """ #include <sundials/sundials_config.h> Index: solvers/ida/idacalc.c =================================================================== --- solvers/ida/idacalc.c (revision 4373) +++ solvers/ida/idacalc.c (working copy) @@ -255,7 +255,13 @@ Dense Jacobian evaluation. Only suitable for small problems! Has been seen working for problems up to around 2000 vars, FWIW. */ -#if SUNDIALS_VERSION_MAJOR==2 && SUNDIALS_VERSION_MINOR>=4 +#if SUNDIALS_VERSION_MAJOR==2 && SUNDIALS_VERSION_MINOR==5 +int integrator_ida_djex(long int Neq, realtype tt, realtype c_j + , N_Vector yy, N_Vector yp, N_Vector rr + , IDA_MTX_T Jac, void *jac_data + , N_Vector tmp1, N_Vector tmp2, N_Vector tmp3 +){ +#elif SUNDIALS_VERSION_MAJOR==2 && SUNDIALS_VERSION_MINOR==4 int integrator_ida_djex(int Neq, realtype tt, realtype c_j , N_Vector yy, N_Vector yp, N_Vector rr , IDA_MTX_T Jac, void *jac_data Index: solvers/ida/idacalc.h =================================================================== --- solvers/ida/idacalc.h (revision 4373) +++ solvers/ida/idacalc.h (working copy) @@ -33,7 +33,13 @@ ); /* dense jacobian evaluation for IDADense dense direct linear solver */ -#if SUNDIALS_VERSION_MAJOR==2 && SUNDIALS_VERSION_MINOR>=4 +#if SUNDIALS_VERSION_MAJOR==2 && SUNDIALS_VERSION_MINOR==5 +int integrator_ida_djex(long int Neq, realtype tt, realtype c_j + , N_Vector yy, N_Vector yp, N_Vector rr + , IDA_MTX_T Jac, void *jac_data + , N_Vector tmp1, N_Vector tmp2, N_Vector tmp3 +); +#elif SUNDIALS_VERSION_MAJOR==2 && SUNDIALS_VERSION_MINOR==4 int integrator_ida_djex(int Neq, realtype tt, realtype c_j , N_Vector yy, N_Vector yp, N_Vector rr , IDA_MTX_T Jac, void *jac_data Index: solvers/ida/ida.h =================================================================== --- solvers/ida/ida.h (revision 4373) +++ solvers/ida/ida.h (working copy) @@ -40,7 +40,7 @@ #endif /* SUNDIALS 2.4.0 introduces new DlsMat in place of DenseMat */ -#if SUNDIALS_VERSION_MAJOR==2 && SUNDIALS_VERSION_MINOR==4 +#if SUNDIALS_VERSION_MAJOR==2 && SUNDIALS_VERSION_MINOR>=4 # define IDA_MTX_T DlsMat # define IDADENSE_SUCCESS IDADLS_SUCCESS # define IDADENSE_MEM_NULL IDADLS_MEM_NULL |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-07-19 11:41 | john | New Issue | |
2012-07-19 11:41 | john | Status | new => assigned |
2012-07-19 11:41 | john | Assigned To | => Ksenija |
2012-07-20 21:52 | Ksenija | File Added: sundials.patch | |
2012-12-12 13:30 | john | Note Added: 0000931 | |
2012-12-12 13:31 | svn | ||
2013-01-25 20:36 | Ksenija | File Added: sundials-2.5.0.patch |