CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Cantera (https://www.cfd-online.com/Forums/openfoam-solving/64841-cantera.html)

piccinini November 26, 2009 06:36

Hello,

has anybody tried linking Cantera 1.8b to OpenFOAM 1.6?

markusrehm November 27, 2009 02:21

Hello,

no up to now the library is only available for 1.5.x. An update is planned.

Regards, Markus.

aat January 8, 2010 17:09

Piloted flame case - question
 
Hello Michele:

In an earlier post you mentioned (Oct 2009) that you had successfully run a piloted flame test case with the steady solver; is this something you could share?

I am trying to implement something similar, and while the reactingFoam solver works, the transient approach is very computationally inefficient. I was able to run the test case with alternateSteadyReactingFoam, and I am struggling to make a CH4 flame case work.

Thanks so much!

Kind Regards,
-aat

b_k February 14, 2010 12:35

error running alternateSteadyReactingFoam on ubuntu
 
Hi,

I am using cantera1.8 and sundials2.3.0 as described on the wiki page with OpenFOAM-1.5-dev on Ubuntu operating system.

I had problems in getting CanteraThermosChemistry compiled with an error that cantera/kernel/CVodesIntegrator.h not found. I checked the cantera installation and found that there was no file under ..../installCantera/include/cantera/kernel/CVodesIntegrator.h. I could find a different file CVodeInt.h under the same path and therefore changed the filename from CVodesIntegrator.h to CVodeInt.h in the following files.

canteraChemistryModel.C
canteraLocalTimeChemistryModel.C

This allowed me to compile the canteraThrmosChemistry and other solvers. But, when I try to run the example by typing alternateSteadyReactingFoam or alternateReactingFoam, I get the following error.

alternateSteadyReactingFoam: symbol lookup error: ....../libcanteraThermosChemistry.so: undefined symbol: N_VNew

I couldn't file any variable named N_VNew. Am I missing something while compiling or do I need to make any additional changes to the canteraThermosChemistry source files.

Any advice is greatly appreciated.

thanks for your time,
Bhadraiah.

markusrehm February 15, 2010 03:17

Hello,

it seems like there is a problem with the Sundials installation. Check if Cantera uses Sundials correctly by running the demos (e.g Cantera python demos).

Markus

b_k February 15, 2010 13:17

alternateChemistry model works on Ubuntu
 
Hi Markus,

Many thanks for your inputs. It indeed seems to be an issue with sundials. I did check the demos under Cantera previously and they ran fine. So I was not sure what the issue was. Meanwhile I found your other post at the following URL as well.

http://www.cfd-online.com/Forums/ope...de-solver.html

Based on the posts in that article, I started from scratch and compiled sundials with --enable-shared option (the wiki only said CFLAGS=-fPIC). I was able to go through the rest of the installation as per wiki without any issues. The alternateSteadyReactingFoam and alternateReactingFoam now run fine without any issues.

Thanks again for your inputs.

regards,
Bhadraiah.

prasanthnitt April 11, 2010 09:07

Cantera Matlab/Python version Documentation
 
Hi guys,

It would be really helpful if any of you could give me the link to Cantera Matlab/Python version Documentation.

Regards
Prasanth P

heavy_user April 16, 2010 13:08

Quote:

Originally Posted by markusrehm (Post 217387)
Hi Rishi,

the presentation is the only documentation up to now. We need to add something to the Wiki, too.

So there are 2 parts:
1.) alternateChemistryModel A Library that allows the inclusion of alternate chemistry engines in solvers (allowing still to use OF chemistryModel)
2.) canteraThermosChemistry A Library that makes it possible to use Cantera in OpenFOAM

The libraries can be used by the solvers alternateSteadyReactingFoam and alternateReactingFoam. There are also examples included.

We had some issues to get Cantera running properly. I used the 1.7-CVS version. If you encounter problems with the standard version we can put a tarball of a running Cantera version onto the SVN, too. But Cantera 2.0 was announced and so we try to avoid unnecessary work ;)

The main reasons for using Cantera are:
-easy access to thermochemical data and functions
-cantera has an excellent lexer for Chemkin-input
-you can use all transport data (viscosity, diffsion, heat transfer) from transport data which is often available with reaction mechanisms (e.g GRI-3.0)
-ideal reactor networks can be constructed and solved efficiently and stable with the CVODE stiff ODE solver package

I hope that helps and you find the tools valuable.

Regards, Markus.


Related Links:
Cantera:
http://sourceforge.net/projects/cantera

alternateChemistryModel:
https://openfoam-extend.svn.sourcefo...emistryModels/

canteraThermosChemistry:
https://openfoam-extend.svn.sourcefo...ermosChemistry

Solvers and examples:
https://openfoam-extend.svn.sourcefo...nateChemistry/

Hi Marcus,

is there a way to use alternateReactingFoam with Openfoam-1.6 yet?

I have tried to make it run, but compiling alternateChemistryModels i found that he wants some file only present in the openfoam-1.5. .

So I linked it in the options-file but then another error message comes up, with which i can't deal

Quote:

alternateChemistryModels> wmake libso


SOURCE=OpenFOAM/chemistryModelProxy.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/finiteVolume/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/specie/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/combustion/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/basic/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/chemistryModel/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/ODE/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/functions/Polynomial -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/thermophysicalFunctions/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/turbulenceModels/compressible/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/reactionThermo/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/pdfs/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/liquids/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/liquidMixture/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/solids/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/solidMixture/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/thermophysicalFunctions/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/reactionThermo/lnInclude -I /home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/radiation/lnInclude -IlnInclude -I. -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/OpenFOAM/lnInclude -I/home/itvns/OpenFOAM/OpenFOAM-1.6/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/chemistryModelProxy.o
In file included from OpenFOAM/chemistryModelProxy.H:44,
from OpenFOAM/chemistryModelProxy.C:32:
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:63: error: ‘template<class ThermoType> class Foam::reactingMixture’ used without template parameters
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:63: error: ISO C++ forbids declaration of ‘reaction’ with no type
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:63: error: typedef name may not be a nested-name-specifier
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:63: error: expected ‘;’ before ‘reaction’
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:64: error: ‘template<class ThermoType> class Foam::reactingMixture’ used without template parameters
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:64: error: ISO C++ forbids declaration of ‘reactionThermo’ with no type
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:64: error: typedef name may not be a nested-name-specifier
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:64: error: expected ‘;’ before ‘reactionThermo’
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:82: error: ‘reaction’ was not declared in this scope
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:82: error: template argument 1 is invalid
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:85: error: ‘reactionThermo’ was not declared in this scope
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:85: error: template argument 1 is invalid
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:161: error: ‘reaction’ was not declared in this scope
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:161: error: template argument 1 is invalid
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:166: error: ‘reactionThermo’ was not declared in this scope
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:166: error: template argument 1 is invalid
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:213: error: expected ‘,’ or ‘...’ before ‘&’ token
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:223: error: ISO C++ forbids declaration of ‘reaction’ with no type
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:252: error: wrong number of template arguments (1, should be 2)
/home/itvns/OpenFOAM/OpenFOAM-1.6/src/OpenFOAM/lnInclude/Matrix.H:55: error: provided for ‘template<class Form, class Type> class Foam::Matrix’
In file included from OpenFOAM/chemistryModelProxy.C:32:
OpenFOAM/chemistryModelProxy.H:65: error: cannot declare field ‘Foam::chemistryModelProxy::realChem_’ to be of abstract type ‘Foam::chemistryModel’
/home/itvns/OpenFOAM/OpenFOAM-1.5-dev/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel.H:59: note: because the following virtual functions are pure within ‘Foam::chemistryModel’:
/home/itvns/OpenFOAM/OpenFOAM-1.6/src/ODE/lnInclude/ODE.H:84: note: virtual void Foam::ODE::jacobian(Foam::scalar, const Foam::scalarField&, Foam::scalarField&, Foam::scalarSquareMatrix&) const
OpenFOAM/chemistryModelProxy.C: In member function ‘virtual void Foam::chemistryModelProxy::calcDQ(Foam::volScalarF ield&)’:
OpenFOAM/chemistryModelProxy.C:101: error: invalid types ‘const int[Foam::label]’ for array subscript
OpenFOAM/chemistryModelProxy.C:102: error: invalid types ‘const int[Foam::label]’ for array subscript
make: *** [Make/linux64GccDPOpt/chemistryModelProxy.o] Error 1
Or is it invain to try anyways since cantera.1.8 still wont work with OF-1.6 ??


have a nice weekend!

regards!

markusrehm April 16, 2010 16:56

Hello,

no Problem with Cantera-1.8 but some classes changed in OF-1.6 and it is not straight-forward to do the upgrade. As soon as I find some time I will continue the work.

Regards, Markus.

bertfisch May 4, 2010 16:05

Running the cases
 
Hello Markus,

thank you for your great work. I tried to install cantera as you showed in your tutorial, but I could not run the cases. Seems to be a conversion problem. Could you give me a hint?

Thomas



Create time

Create mesh for time = 0

Reading chemistry properties


Reading environmentalProperties

Reading thermophysicalProperties
Selecting thermodynamics package hMixtureThermo<canteraMixture>
Reading from Cantera-File "/home/thoffman/OpenFOAM/thoffman-1.5/applications/solvers/AlternateChemistry/Steady/dualInlet/constant/mix.cti" the mixture mix
sh: source: not found
Reading from Cantera-File "/home/thoffman/OpenFOAM/thoffman-1.5/applications/solvers/AlternateChemistry/Steady/dualInlet/constant/mix.cti" the mixture mix
--> FOAM Warning :
From function canteraMixture::canteraMixture
in file canteraMixture.C at line 70
The thermophysical properties of CANTERA are currently not converted to OpenFOAM. Instead the properties from "/home/thoffman/OpenFOAM/thoffman-1.5/applications/solvers/AlternateChemistry/Steady/dualInlet/constant/gasThermo" are used This can lead to errors if the data is inconsistent with the Cantera-data


wrong token type - expected Scalar found on line 13 the word 'O2'

file: /home/thoffman/OpenFOAM/thoffman-1.5/applications/solvers/AlternateChemistry/Steady/dualInlet/constant/gasThermo at line 13.

From function operator>>(Istream&, Scalar&)
in file lnInclude/Scalar.C at line 85.

FOAM exiting

vsnprasad27 July 7, 2010 10:21

Cantera-
 
Hi,

I would like to add one additional equation in Cantera.
Is that possible to add one more additional equation in One D simulations In Cantera?

skarnani July 9, 2010 17:22

Hello All,
While running the transient case that came with AlternateChemistry, I received a warning that reads the following:

--> FOAM Warning:
From function canteraChemistryModel:: calcDQ(volScalarField &dQ)
in file canteraChemistryModel.C at line 321
Calculation of dQ is not yet verified

Is this warning expected? Could someone please explain what it means and what are the potential implications?

Thanks,
Sunny

gschaider July 12, 2010 13:34

Quote:

Originally Posted by skarnani (Post 266672)
Hello All,
While running the transient case that came with AlternateChemistry, I received a warning that reads the following:

--> FOAM Warning:
From function canteraChemistryModel:: calcDQ(volScalarField &dQ)
in file canteraChemistryModel.C at line 321
Calculation of dQ is not yet verified

Is this warning expected? Could someone please explain what it means and what are the potential implications?

Thanks,
Sunny

This is hardcoded in that method. It means that the method is not fully validated and you should not believe the numbers in the field dQ.

Ti_Pago_Da_Bere July 15, 2010 14:36

Quote:

Originally Posted by gschaider (Post 266944)
This is hardcoded in that method. It means that the method is not fully validated and you should not believe the numbers in the field dQ.

oh..I get the same worming...
some ideas about possible cause? What kind of problems it can give?
thanks :)

gschaider July 15, 2010 15:00

Quote:

Originally Posted by Ti_Pago_Da_Bere (Post 267504)
oh..I get the same worming...
some ideas about possible cause? What kind of problems it can give?
thanks :)

The cause is that it was coded by the programmers (us) there. Because we never verified whether the results of THAT method are correct (because we didn't use these results). If it bothers you comment it out. If you need the results verify it.

Ti_Pago_Da_Bere July 17, 2010 20:17

Quote:

Originally Posted by gschaider (Post 267506)
The cause is that it was coded by the programmers (us) there. Because we never verified whether the results of THAT method are correct (because we didn't use these results). If it bothers you comment it out. If you need the results verify it.

Thanks!!
Actually I get also this one:

--> FOAM Warning :
From function dlLibraryTable:: open(const fileName& functionLibName)
in file db/dlLibraryTable/dlLibraryTable.C at line 86
could not load libcompressibleFluxBCs.so: cannot open shared object file: No such file or directory
Create mesh for time = 0.0255

should I be worried?
__________________________
I'm pretty new in CFD so I ask sorry if maybe I do trivial questions. :)

Currently I'm doing a case with a premixed flame and I use alternateReactingFoam . It works, but I have some doubts:confused::

-In the file Gri30.cti there a function called "transport" and I can chose to leave it empty, set it "Mix" or "Multi"... but it looks like give the same results even if i set it differently. what does it do?

- my case is laminar so I switch turbulence off but I can't really understand how I should set the transport proprieties (mu lambda etc) in the RASProperties file or how OF calculates them.

Thank you very much!!! :p

markusrehm July 19, 2010 02:28

Hello Silvano,

Quote:

Originally Posted by Ti_Pago_Da_Bere (Post 267849)
Thanks!!
I'm pretty new in CFD so I ask sorry if maybe I do trivial questions. :)

Currently I'm doing a case with a premixed flame and I use alternateReactingFoam . It works, but I have some doubts:confused::

-In the file Gri30.cti there a function called "transport" and I can chose to leave it empty, set it "Mix" or "Multi"... but it looks like give the same results even if i set it differently. what does it do?

- my case is laminar so I switch turbulence off but I can't really understand how I should set the transport proprieties (mu lambda etc) in the RASProperties file or how OF calculates them.

Thank you very much!!! :p

1) There are different models to obtain the mixture-averaged transport properties implemented in CANTERA. For more information have a look at the Cantera documentation/ source code. I can recommend this document

http://sourceforge.net/projects/cant...s.pdf/download

For further questions regarding CANTERA please refer to proper forum

http://groups.google.com/group/cantera-users

Furthermore I suggest you to check out the demos and tutorials provided with CANTERA.


2) If you use the alternateChemistry-library in "CANTERA-mode" (i.e. chemistryEngine canteraChemistryModel) the chemistry, thermodynamical, and transport data is taken from the cti-file. If you use the alternateChemistry-library in OpenFOAM-mode (i.e. chemistryEngine chemistryModelProxy) all the data is obtained as usually done in OpenFOAM.

Regards, Markus.

Ti_Pago_Da_Bere July 19, 2010 11:01

Quote:

Originally Posted by markusrehm (Post 267947)
Hello Silvano,



1) There are different models to obtain the mixture-averaged transport properties implemented in CANTERA. For more information have a look at the Cantera documentation/ source code. I can recommend this document

http://sourceforge.net/projects/cant...s.pdf/download

For further questions regarding CANTERA please refer to proper forum

http://groups.google.com/group/cantera-users

Furthermore I suggest you to check out the demos and tutorials provided with CANTERA.


2) If you use the alternateChemistry-library in "CANTERA-mode" (i.e. chemistryEngine canteraChemistryModel) the chemistry, thermodynamical, and transport data is taken from the cti-file. If you use the alternateChemistry-library in OpenFOAM-mode (i.e. chemistryEngine chemistryModelProxy) all the data is obtained as usually done in OpenFOAM.

Regards, Markus.



Markus,
Thank you very very much! :):)

Ti_Pago_Da_Bere August 5, 2010 17:58

Hi, again me... :p

I'm trying to make cantera work whith openfoam on a 64bit, 40 processors server that runs on RHEL5.3.

So far sundials2.4 and cantera look like they work ( i don t have any problems with the testProblems in cantera).

I followed your web guide to instill the libraries,when i wmake alternateChemistryModels I don t have any problems but when I wmake canteraThermosChemistry I get this error:

/share/cantera-1.8/include/cantera/IdealGasMix.h: In copy constructor ‘Cantera_CXX::IdealGasMix::IdealGasMix(const Cantera_CXX::IdealGasMix&)’:
/share/cantera-1.8/include/cantera/IdealGasMix.h:40: warning: base class ‘class Cantera::IdealGasPhase’ should be explicitly initialized in the copy constructor
/share/cantera-1.8/include/cantera/IdealGasMix.h:40: warning: base class ‘class Cantera::GasKinetics’ should be explicitly initialized in the copy constructor
/usr/bin/ld: cannot find -llapack
collect2: ld returned 1 exit status
make: *** [/home/sahm/OpenFOAM/sahm-1.5/lib/linux64GccDPOpt/libcanteraThermosChemistry.so] Error 1
[sahm@cmtl canteraThermosChemistry]$

actually the llapack lib is in /usr/lib64, i tryed to change the path in canteraThermosChemisty/Make/options like below:

LIB_LIBS := $(LIB_LIBS)/../lib64 \
-llapack -lblas \

but I still get some errors. :confused:

actualy I don t have a clear idea what above options file does.

Do you have some tips?

thank you very much :)

SilPaut August 27, 2010 15:26

speciesData() - alternateReactinFoam
 
Hi everybody,

In order to call the "speciesData" I use these lines in reactingFoam.

reactingMixture& multiMix = (reactingMixture&) thermo->composition();
PtrList<reactingMixture::reactionThermo> speciesData = multiMix.speciesData();

but I have some troubles to do the same with alternateReactingFoam / cantera solver.
Does somebody know how I can access to the "speciesData()" using alternateReactingFoam?

Thank you!!
Silvano


All times are GMT -4. The time now is 12:51.