Sundials 2.4.0

63 views
Skip to first unread message

markusrehm

unread,
Sep 7, 2009, 7:04:16 PM9/7/09
to Cantera User's Group
Hi,

has anyone tried to use the new Sundials 2.4.0 package? I was not able
to compile it. I guess some instructions were altered.

Regards, Markus.

markusrehm

unread,
Sep 7, 2009, 7:06:51 PM9/7/09
to Cantera User's Group
Hello,

let me say it more clearly: I was not able to compile Cantera with
Sundials 2.4.0-libraries.

Markus

David Bilyeu

unread,
Sep 8, 2009, 9:27:34 AM9/8/09
to canter...@googlegroups.com
Hi
I haven't tried using sundials 2.4 yet but what sort of errors do you get when you compile Cantera and how did you configure and compile Sundials? What operating system and compilers are you using?  Can you compile Cantera with out Sundials? 

These are the commands that I use to compile Sundials 2.3 in linux using the gnu compilers.

cd sundials
mkdir BUILD
cd BUILD
../configure --prefix=path_to_install --enable-examples CC=gcc-4.3 F77=gfortran-4.3 --with-cflags='-g3 -O2  -fPIC' --with-fflags='-g3 -O0 -fPIC' --disable-mpi
make
make install

You will need to change the prefix to some place that you have write access to or you will need to use root privlage when you use make install.  The only compiler flags that need to be there are the -fPIC and the -O0 for fortran.  I get errors when I try to use the FORTRAN version of sundils if I don't include -O0. 

David

markusrehm

unread,
Sep 8, 2009, 1:38:27 PM9/8/09
to Cantera User's Group
Hello David,

I use OpenSuse 11.0 Linux and gcc and configure SUNDIALS with

./configure CFLAGS=-fPIC --prefix=$SUNDIALS_HOME

Version 2.3 works very well. For 2.4 I get an error for
CVodesIntegrator.cpp. I suppose the definitions have changed slightly:

cd numerics; make all
make[2]: Entering directory `/home/rem/OpenFOAM/ThirdParty/cantera-1.8/
Cantera/src/numerics'
g++ -c CVodesIntegrator.cpp -O3 -Wall -I/usr/lib64/python2.4/site-
packages/numpy/core/include -fPIC -m64 -I../base -I/home/rem/
OpenFOAM/ThirdParty/sundials-2.4.0/installSundials/include
CVodesIntegrator.cpp: In constructor
»Cantera::CVodesIntegrator::CVodesIntegrator()«:
CVodesIntegrator.cpp:111: Fehler: »CV_SS« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp: In member function »virtual void
Cantera::CVodesIntegrator::setTolerances(double, int, double*)«:
CVodesIntegrator.cpp:153: Fehler: »CV_SV« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp: In member function »virtual void
Cantera::CVodesIntegrator::setTolerances(double, double)«:
CVodesIntegrator.cpp:166: Fehler: »CV_SS« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp: In member function »void
Cantera::CVodesIntegrator::sensInit(double, Cantera::FuncEval&)«:
CVodesIntegrator.cpp:233: Fehler: »CVodeSensMalloc« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp:238: Fehler: »CV_SS« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp:238: Fehler: »CVodeSetSensTolerances« wurde in
diesem Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp: In member function »virtual void
Cantera::CVodesIntegrator::initialize(double, Cantera::FuncEval&)«:
CVodesIntegrator.cpp:254: Fehler: »CV_SV« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp:264: Fehler: »CV_SV« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp:267: Fehler: »CVodeMalloc« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp:272: Fehler: »CVodeMalloc« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp:311: Fehler: »CVodeSetFdata« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp: In member function »virtual void
Cantera::CVodesIntegrator::reinitialize(double, Cantera::FuncEval&)«:
CVodesIntegrator.cpp:343: Fehler: »CV_SV« wurde in diesem
Gültigkeitsbereich nicht definiert
CVodesIntegrator.cpp:346: Fehler: »int (*)(realtype,
_generic_N_Vector*, _generic_N_Vector*, void*)« kann nicht nach
»realtype« für Argument »2« nach »int CVodeReInit(void*, realtype,
_generic_N_Vector*)« umgewandelt werden
CVodesIntegrator.cpp:351: Fehler: »int (*)(realtype,
_generic_N_Vector*, _generic_N_Vector*, void*)« kann nicht nach
»realtype« für Argument »2« nach »int CVodeReInit(void*, realtype,
_generic_N_Vector*)« umgewandelt werden
CVodesIntegrator.cpp: In member function »virtual void
Cantera::CVodesIntegrator::integrate(double)«:
CVodesIntegrator.cpp:394: Fehler: »double« kann nicht nach »realtype*«
für Argument »2« nach »int CVodeGetSens(void*, realtype*,
_generic_N_Vector**)« umgewandelt werden
make[2]: *** [CVodesIntegrator.o] Fehler 1
make[2]: Leaving directory `/home/rem/OpenFOAM/ThirdParty/cantera-1.8/
Cantera/src/numerics'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/home/rem/OpenFOAM/ThirdParty/cantera-1.8/
Cantera/src'
make: *** [kernel] Fehler 2

Regards, Markus.

Moffat, Harry K

unread,
Sep 22, 2009, 2:47:21 PM9/22/09
to canter...@googlegroups.com
Hi,
I've updated both the 1.8.0 branch and the main trunk on googleCode to support sundials 2.4. Apparently, the API had gone through a significant change. Let me know how it goes.

Best wishes,
Harry

Harry Moffat (w) (505) 844-6912
Nanoscale and Reactive Processes (f) (505) 844-8251
Sandia National Laboratories hkm...@sandia.gov
P. O. Box 5800-0836
Albuquerque, NM 87185-0836

markusrehm

unread,
Sep 28, 2009, 5:10:08 PM9/28/09
to Cantera User's Group
Hello Harry,

it worked without problems. Unfortunately I did not get a performance
increase. Thank you anyway.

Markus

On 22 Sep., 20:47, "Moffat, Harry K" <hkmo...@sandia.gov> wrote:
> Hi,
>     I've updated both the 1.8.0 branch and the main trunk on googleCode to support sundials 2.4. Apparently, the API had gone through a significant change. Let me know how it goes.
>
> Best wishes,
> Harry
>
> Harry Moffat                                             (w) (505) 844-6912
> Nanoscale and Reactive Processes            (f)   (505) 844-8251
> Sandia National Laboratories                                    hkmo...@sandia.gov
Reply all
Reply to author
Forward
0 new messages