CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   FGM combustion model (https://www.cfd-online.com/Forums/openfoam-programming-development/73210-fgm-combustion-model.html)

Likun June 5, 2014 11:26

Quote:

Originally Posted by dongchao yang (Post 465632)
Hi, all
Is there any one using this code?
The links of LTTRostockExtensions above seem invalid now...:(
I'm intrested in FMG model, and want to get the code mentioned above.
Hope some one can help me.

yangdongchao@gmail.com

Best Regards
Dongchao

Are you still interested in this code? I have a copy, if you want I can share it with you.

Best regards,
Likun

Likun June 11, 2014 04:45

Quote:

Originally Posted by Likun (Post 495687)
Hi Foamers,

Has anyone succeed in compiling the FGM models in OF 2.3? I tried to do this, but there are some errors:

In file included from lnInclude/SIJPDFthermo.H:314,
from thermophysicalModels/compositionPdf/abstractProgressVariableThermo/abstractProgressVariableThermo.C:31:
lnInclude/SIJPDFthermo.C: In member function 'virtual void Foam::SIJPDFthermo<IndexDriver>::correct()':
lnInclude/SIJPDFthermo.C:1170: error: 'psi_' was not declared in this scope
lnInclude/SIJPDFthermo.C:1206: error: 'mu_' was not declared in this scope
lnInclude/SIJPDFthermo.C:1247: error: 'mu_' was not declared in this scope
lnInclude/SIJPDFthermo.C: In member function 'bool Foam::SIJPDFthermo<IndexDriver>::readPreIntegrated TableFromCache()':
lnInclude/SIJPDFthermo.C:1446: error: 'psi_' was not declared in this scope
lnInclude/SIJPDFthermo.C: In member function 'void Foam::SIJPDFthermo<IndexDriver>::writeCache() const':
lnInclude/SIJPDFthermo.C:1492: error: 'psi_' was not declared in this scope

can anybody help? Where are these errors come from? Is it because of the different OF version, because this CombustionAddons was previously using in OF1.7.

I got a step further, the above errors are because the differences of the basicThermo in the different OF versions. In the OF1.7 the compressibility 'psi' and viscosity 'mu' are defined in the basicThermo, but in OF2.3 they are defined in another file named psiThermo. I could solve the above error by including the header file 'psiThermo.H' in to 'abstractProgressVariableThermo.H' where the 'psi' and 'mu' are required. But the difference on the thermophysical model in the different OpenFOAM versions cause a lot of other errors, I shall try work them out.

Best,
Likun

hzw August 4, 2014 22:55

Quote:

Originally Posted by hannes (Post 248141)
Hello,

I have already implemented this. The whole code is here:

http://janus.fms.uni-rostock.de/view...ompositionPdf/

Best regards,
Hannes

Hi, Hannes

I would be very appreciated if you can send me the source code of the FGM combustion model implemented in OpenFOAM, as i cannot get into the website you provided above for unknown server error.

Best regards!

hannes August 5, 2014 02:00

Dear hzw,

the server "janus" you tried is offline for a while now.
Try to clone the code from the git repo this sourceforge project instead:
http://sf.net/p/ofca

i.e. by
$ cd ~/OpenFOAM
$ git clone http://git.code.sf.net/p/ofca/code CombustionAddons

Regards, Hannes

hzw August 5, 2014 07:45

Dear Hannes,

I've got what i need, thank you very much for your hard work. And please do not get bothered if I had any problem to consult.

Best Regards!

Likun August 5, 2014 11:11

Dear Hannes,

Do you have an implementation of FGM model in the new version of OpenFoam (OpeFoam-2.3.0) or in a more recent version than OF-1.6?

Best regrds,
Likun

dongchao yang September 2, 2014 05:27

Quote:

Originally Posted by Likun (Post 495748)
Are you still interested in this code? I have a copy, if you want I can share it with you.

Best regards,
Likun

Yes, I am still interested in FGM, hope you can send me a copy. Thank you
:)

yangdongchao500@126.com

Likun September 2, 2014 06:24

Quote:

Originally Posted by dongchao yang (Post 508790)
Yes, I am still interested in FGM, hope you can send me a copy. Thank you
:)

yangdongchao500@126.com


Already sent! :)

Stefano Puggelli February 23, 2015 10:38

Hi Likun,
I would be very interested in the FGM model for OF 2.3. It would be possible to have a copy of it?

Likun February 24, 2015 03:07

Quote:

Originally Posted by hannes (Post 504415)
Dear hzw,

the server "janus" you tried is offline for a while now.
Try to clone the code from the git repo this sourceforge project instead:
http://sf.net/p/ofca

i.e. by
$ cd ~/OpenFOAM
$ git clone http://git.code.sf.net/p/ofca/code CombustionAddons

Regards, Hannes

Hi Stefano,

You can find the code from the links provided by Hannes. But this code is for very old OF version (1.6 or 1.7), and does not work in the new version.

Best,
Likun

gravityxiao March 3, 2015 09:53

CombustionAddon's example question
 
Dear foamers,
I downloaded the code ofca of Hannes Kroege and built all the solvers with OF1.7.0. All the examples are ok except the SydneyHM1. There are some errors when I run the SydneyHM1 with edcSimpleFoam. I've two questions:
1. In controlDict, there is a line:
libs("libVAPExtensions.so");
what's it for?
When i run it with this line there is a warning: no such file or directory. I cannot find this file in anywhere.
2. The error info is : rhoMax is undefined, when i added the following line:
rhoMax rhoMax [1 -3 0 0 0 0 0]
rhoMin rhoMin [1 -3 0 0 0 0 0]
the error info become :
LHS and RHS + have different dimensions.
Is something wrong with the source code?

Stefano Puggelli March 6, 2015 08:44

Hi,
I have compiled all the library and also the solver that are included into the code. However I am having some problems with the compilation of generateILDM. I have installed both cantera 1.7 and octave 3.2.4 but when I try to compile I recive the following error:



/usr/local/include/octave-3.2.4/octave/MArray.h:58: undefined reference to `Array<double>::~Array()'
/usr/local/include/octave-3.2.4/octave/MArray.h:58: undefined reference to `Array<double>::~Array()'
/usr/local/include/octave-3.2.4/octave/MArray.h:58: undefined reference to `Array<double>::~Array()'
Make/linux64GccDPOpt/generationLoop.o: In function `Foam::generationLoop::appendTableDescriptions(Foa m::ListDescription&, Foam::ListDescription&)':
/home/user/OpenFOAM/OpenFOAM_extensions/CombustionAddons/applications/generateILDM/generationLoop.C:290: undefined reference to `Foam::ListDescription::appendEntry(Foam::word const&)'
Make/linux64GccDPOpt/generationLoop.o: In function `~MArray':
/usr/local/include/octave-3.2.4/octave/MArray.h:58: undefined reference to `Array<double>::~Array()'
/usr/local/include/octave-3.2.4/octave/MArray.h:58: undefined reference to `Array<double>::~Array()'
/usr/local/include/octave-3.2.4/octave/MArray.h:58: undefined reference to `Array<double>::~Array()'
/usr/local/include/octave-3.2.4/octave/MArray.h:58: undefined reference to `Array<double>::~Array()'
/usr/local/include/octave-3.2.4/octave/MArray.h:58: undefined reference to `Array<double>::~Array()'
Make/linux64GccDPOpt/main.o:(.data.rel.ro._ZTVN7Cantera11IdealGasMixE[vtable for Cantera::IdealGasMix]+0x20): undefined reference to `Cantera::State::setMoleFractions(double const*)'
Make/linux64GccDPOpt/main.o:(.data.rel.ro._ZTVN7Cantera11IdealGasMixE[vtable for Cantera::IdealGasMix]+0x28): undefined reference to `Cantera::State::setMoleFractions_NoNorm(double const*)'
Make/linux64GccDPOpt/main.o:(.data.rel.ro._ZTVN7Cantera11IdealGasMixE[vtable for Cantera::IdealGasMix]+0x30): undefined reference to `Cantera::State::setMassFractions(double const*)'
Make/linux64GccDPOpt/main.o:(.data.rel.ro._ZTVN7Cantera11IdealGasMixE[vtable for Cantera::IdealGasMix]+0x38): undefined reference to `Cantera::State::setMassFractions_NoNorm(double const*)'
Make/linux64GccDPOpt/main.o:(.data.rel.ro._ZTVN7Cantera11IdealGasMixE[vtable for Cantera::IdealGasMix]+0x40): undefined reference to `Cantera::State::setConcentrations(double const*)'
Make/linux64GccDPOpt/main.o:(.data.rel.ro._ZTVN7Cantera11IdealGasMixE[vtable for Cantera::IdealGasMix]+0x58): undefined reference to `Cantera::Phase::freezeSpecies()'
Make/linux64GccDPOpt/main.o:(.data.rel.ro._ZTVN7Cantera11IdealGasMixE[vtable for Cantera::IdealGasMix]+0x68): undefined reference to `Cantera::ThermoPhase::duplMyselfAsThermoPhase()'
Make/linux64GccDPOpt/main.o:(.data.rel.ro._ZTVN7Cantera11IdealGasMixE[vtable for Cantera::IdealGasMix]+0xd0): undefined reference to `Cantera::ThermoPhase::activityConvention() const'
Make/linux64GccDPOpt/main.o:(.data.rel.ro._ZTVN7Cantera11IdealGasMixE[vtable for Cantera::IdealGasMix]+0xf0): undefined reference to `Cantera::ThermoPhase::getUnitsStandardConc(double *, int, int)'


I would like to know if someone has some ideas to solve these compilation problems.

Best regards

Stefano Puggelli March 12, 2015 03:43

Ok finally I am able to compile the whole solver also with generate ILDM ( I don't see the generateFGM that is mentioned in some previous posts... maybe it has been included in the generateILDM but I would like to test it). However when I try to run the generateILDM for the moment I recive the same error posted by Jose:

Quote:

Originally Posted by jose_rodrig (Post 318656)
Hi

Ok, I was able to compile finally both generateFGM and generateILDM.

However, when I run either I get the message:

Code:

jrodrig@pup:~/OpenFOAM-1.5.x/src/LTTRostockExtensions/applications/generateILDM/GRI1.2$ generateILDM
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct NULL not valid
Aborted

Is this a normal behavior of the program??

How do I use generateILDM??

Regards
Jose


Someone can help me in solving such problem? And furthermore can someone maybe share with us an example of the generateILDMdict that is not included in the code release?

Thanks in advance
Stefano

Stefano Puggelli March 12, 2015 06:12

Ok first problem solved!
Anyway if someone would share his experience on the FGM model implemented by Hannes I would be interested in!

Stefano Puggelli March 17, 2015 09:07

Hi foamers,
I am trying to use the generateILDM solver released by Hannes Kroger with the rest of the code but I have some problems (maybe someone can help me).
I am running the tutorial test case for the flamelet generation for the Gri30 mechanism provided with the code but I noticed that when I try to create a flamelet with a p=100000Pa T=300K and phi=0.8 (for example but I think that the problem is the temperature level) the solver says me:

Specified enthalpy h=-205470 is below the absolute minimum enthalpy hzero=-8187.86

I understand from the ChemicalSystem.C file what is the enthalpy hzero ( I think it should be the enthalpy of products at the minimum temperature fixed at 290K), but I don't understand how I can solve this problem and why the actual enthalpy with the specified conditions is negative.

Let me know if someone has some ideas about these points... maybe we can discuss together.

Best,
Stefano

Ryunjin April 2, 2015 07:45

Hi Stefano,

I have same problem that you have.

(hzero is too high to start downward z loop.)

Did you solve the problem?

Best regards

Ryunjin April 6, 2015 01:40

I solved the problem!
 
Hi Stefano,

I solved the problem.

when conservedVaribleLoops variable is 'z' in 'generateIldmDict' file,

Change 'generateIldmDict' file from

defaultConservedVariables 3
(
p 100000
phi 1.0
T 300
);

to

defaultConservedVariables 3
(
p 100000
phi 1.0
Tunburnt 300
);

when conservedVaribleLoops variable is 'z',

mixture (unburnt gas) temperature have to be fixed.

Otherwise, mixture (unburnt gas) enthalpy is fixed at each flamelet.

but when mixture fraction is very small(e.g. z=0), that gas can't be same

as z=stoichiometric gas enthalpy. so error occurs.

I am so sorry. I'm not good at English. I hope you can understand what i'm

saying.

Stefano Puggelli April 6, 2015 05:16

Hi Ryunjin,
I find for the moment the same solution that you reported even if in this way we generate a group of premixed flamelet (based on the mixture fraction value) with different values of enthalpy, while fixing the T temperature the flamelet are generated at the same enthalpy level. I think that it could be a problem when you are interested in generating flamelets for a iso-entalphy test case.
I am now trying to validate the FGM approach using the bunsen-Chen test case (one of the examples) with a direct comparison both with experimental and commercial codes results.
If the results are good I would like to try to implement such approach in actual version of OpenFOAM.
Stefano

Ryunjin May 14, 2015 07:40

Z-CO2 FGM is not working well
 
Hi Stefano,

Now i'm solving BunsenChenF2 case. but results are not good solution.

My results are not similar to within result data. (Hannes' result data maybe.)

Moreover, temperature values are not instantanous changing each time.

(Temperature change at main stream part of near inlet only.)

The most bad thing is Z_mean value does not change anything each time. (just freezing.)

I mean results looks almost converged to solution(after calculating a few times , then temperature and mixture fractions are almost freezing.)

I have validated Pitz&Daily 3d case before calculating Bunsen case.

But that case (Pitz&Daily case) works well. So i think something related with mixture fraction have problem.

Please reply anything. thank you.

Stefano Puggelli May 19, 2015 12:02

Hi Ryunjin,
I am still working on the bunsen test case since, instead of using the turbulence generator of the University of Rostoc, I prefer to use the mappedInlet boundry condition so some time has been required for the non reactive test case. In the next day I will try the reactive with the PDF solver.
I don't know which could be your problem since I don't know exactly your numerical setup but if you can post some other details we can discuss togheter.
I am also working on the PItz&Dayly case but with the ATF solver updated with the Charlette formulation for the efficency function.
Stefano


All times are GMT -4. The time now is 08:02.