CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions

[openSmoke] libOpenSMOKE

Register Blogs Community New Posts Updated Threads Search

Like Tree133Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 6, 2014, 03:49
Default
  #401
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 16
babakflame is on a distinguished road
Greetings Tobi

Actually I tried to map the LES results onto a finer grid for enhancing the accuracy level. Then I found that every time and without attention to the map type O.F. gets error on "different grid points on source and target cases".

This code constructs Look-up tables on grid points so changing the number of grid points would lead into error in combustion solution procedure. However, the accuracy of the thermodynamic tables are satisfactory.

------------------------------------------------------------------------------

"Hagen told me that the code should normally accept mapping. I will give it another try."




Best
Bobi

Last edited by babakflame; October 6, 2014 at 06:26.
babakflame is offline   Reply With Quote

Old   October 12, 2014, 13:09
Default
  #402
New Member
 
Guilherme Sempionato
Join Date: Aug 2011
Posts: 12
Rep Power: 15
sempionato is on a distinguished road
Hi all,

I'm starting to develop Openfoam codes, actually LES equations for this flamelet solver. I've seen that Bobi is trying something similar as:

chi_st=2 * (turbulence->mut()/(rho*sigmat)) * magSqr(fvc::grad(Z));

My question is: can all mut in Z equation be changed for muSgs? If positive, is this the only modification for LES equations in this solver?

I have already modified the essential files (options, files, createFields, etc)

Thanks!
sempionato is offline   Reply With Quote

Old   October 13, 2014, 02:58
Default
  #403
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 16
babakflame is on a distinguished road
Greetings Guilherme

Two equations differ between RAS and LES in steady flamelet approach:

1- scalar dissipation term

2- mixture fraction variance

If you follow this thread posts, you will find out exactly what terms you need to put into your LES solver.

Best,
Bobi
babakflame is offline   Reply With Quote

Old   October 13, 2014, 18:32
Default
  #404
New Member
 
Guilherme Sempionato
Join Date: Aug 2011
Posts: 12
Rep Power: 15
sempionato is on a distinguished road
Thanks by your fast reply Bobi,

I have changed my code as you suggested in the January 3 2014 posts, but, observing LESModel.H in the Muller code I see:

virtual const volScalarField& delta() const
{
return delta_();
}

After the modifications the code insists in try to find delta() in the algebraic equation suggested for LES.

How did you solve this?

Thanks!
sempionato is offline   Reply With Quote

Old   October 14, 2014, 04:39
Default
  #405
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Quote:
Originally Posted by sempionato View Post
Thanks by your fast reply Bobi,

I have changed my code as you suggested in the January 3 2014 posts, but, observing LESModel.H in the Muller code I see:

virtual const volScalarField& delta() const
{
return delta_();
}

After the modifications the code insists in try to find delta() in the algebraic equation suggested for LES.

How did you solve this?

Thanks!
Hi,

please notice that Müllers Code is not Cuocis code. Its a other way of implementing! A lot of ways leed to roma (;
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   October 15, 2014, 09:03
Default
  #406
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 16
babakflame is on a distinguished road
Greetings Guilherme

I have not get enough time to investigate Hagen source code strictly. However for hinting you I can say that for mixture fraction variance equation you need to define a Delta in LES approach. This Delta again appears in Subgrid scale modeling. So please investigate this thread posts exactly, I guess my formulation is in the posts, If not I will put it in next posts.

Sorry for insufficient time.

Best
Bobi
babakflame is offline   Reply With Quote

Old   November 10, 2014, 18:00
Default
  #407
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Hi all,

I had a discussion with Bernhard last monday and I will check out if I can make a WIKI entry and collect all the stuff which is mentioned in that thread.

But I want to tell you that the flameletModel is now available here:

https://bitbucket.org/shor-ty/flameletmodel
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   November 13, 2014, 10:05
Default
  #408
New Member
 
Guilherme Sempionato
Join Date: Aug 2011
Posts: 12
Rep Power: 15
sempionato is on a distinguished road
Hi Bobi, thanks by your answer! Thanks to Tobi too!

I am also with a short time to dedicate for now, very bad for a OpenFOAM novice, but I got, after your hints and some study of the Pitsch and Peters papers, two equations for LES description:

ZvarCells = Cv*sqr(turbulence->delta())*magSqr(Z)

and

chi_st=Cx*(turbulence->muEff()/(rho*sigmat))*magSqr(fvc::grad(Z));

The problem that I have for now, in the same geometry of the original RANS case, is that the flame is very long and there is no significative radial difusion as is showed in the picture below.

http://i58.tinypic.com/5kr4n7.png

Changing for a 3D sector geometry, with ~300.000 elements, I have encountered that, in the adustableTimeStep mode, the time step goes to zero, but, with fixed time step, the solver gives the same strange flame that is saw in the 2D case.

I think that changing boundary conditions this strange flame behavior will not change... It someone already did a LES sucessfull implementation in this solver and encountered this error?

Thanks!
sempionato is offline   Reply With Quote

Old   November 13, 2014, 10:14
Default
  #409
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 16
babakflame is on a distinguished road
Greetings Guilherme

HHmmmmm....

First of all, pay attention that for a strict LES simulation implement a 3D simulation. If you perform a 3D simulation. (Do not use wedge-typed grid for LES simulations) Then you will have accurate radial diffusion.

The problem of your case is implementing LES in an axisymmetric domain.

Try it again buddy; you will get correct results.

I will post comprehensive hints on performing LES and RAS simulations correctly with both Alberto and Hagen Codes in a few days.

Best
Bobi

Tobi likes this.
babakflame is offline   Reply With Quote

Old   November 13, 2014, 10:45
Talking
  #410
New Member
 
Guilherme Sempionato
Join Date: Aug 2011
Posts: 12
Rep Power: 15
sempionato is on a distinguished road
Thaks Bobi, I will be waiting for your hints! In this moment i am running a 3D code with fixed time step (the adjustable one tends to zero I dont know why). Later I will post the results and the mesh.
sempionato is offline   Reply With Quote

Old   November 23, 2014, 10:03
Default
  #411
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 16
babakflame is on a distinguished road
Greetings All

The followings are hints for you with your flamelet simulations.

Flamelet Tables

The difference between codes of Hagen and Alberto is considering non-adiabatic terms. These terms are not included in Hagen flamelet equations. On the other hand, although Alberto's code considers these terms (i.e. radiation), the method of radiation implemented in the code is not applicable to heavy fuels. It doesn't incorporate soot radiation.

Both methods are roughly fast. Alberto tool does not show you extinction (you just choose some values for scalar dissipation rate and the tool computes the tables for these values without locating the extinction point). In cantera tool, you will find out scalar dissipation rate of quenching
\chi_Q by gradually increasing chi. After reaching extinction , the temperature would always be in room condition.


RAS and URAS

There are some methods for defining fully-developed flow fields such as coding with the help of swak4Foam or reading inlet velocity boundary from file (refer to: http://www.openfoam.org/version2.1.0...conditions.php)

Although there are distinct methods, the best method is extending the boundary condition to upstream to ensure fully-developed flow field.

For RAS and URAS simulations, probably the best grid is a wedge-typed one to reduce computational cost.

LES

For LES simulation, do not use wedge-typed grids. This will culminates in false radial diffusion of mixture fraction. Implement your simulations with 3D grids.

A verified method is solving your fully-developed inflows in a separated tube (using RhoPimpleFoam not incompressible solvers). Afterwards, map the outlet velocity of tube for your inflow in the main computational domain.

Use the following as a sample for your inlet from a pre-solved tube:



Code:
FUEL
    {
        type            turbulentInlet;
        referenceField  nonuniform List<vector>
252
(
(-0.296506256 142.798641 0.146544894)


);

    fluctuationScale (0.03 0.1 0.03);
        value           nonuniform List<vector>
252(

);
}


For your pipe simulation, use inletOutlet BC to write down the outlet velocity of the tube separately.

Keep focus that the configuration of the pipe should be identical to the injection plane. Use comparable mesh resolution for the outlet plane of tube and injection plane in the main domain.

For simulating swirl cases with LES, focus on the outlet pressure BC. Try mixedValue or waveTransmissive ones to prohibit fluctuations enter your domain in not sufficiently large computational domains.



Best,

Bobi



Likun and wenxu like this.

Last edited by babakflame; December 11, 2014 at 08:13. Reason: Adding some points
babakflame is offline   Reply With Quote

Old   November 26, 2014, 05:18
Default
  #412
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 16
babakflame is on a distinguished road
Greetings All

I have received private messages asking for more detailed hints. I will add some points according to these questions to the previous post.


Best,

Bobi
babakflame is offline   Reply With Quote

Old   November 26, 2014, 08:22
Default
  #413
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Hi all,

I will sum everything which was discussed here and put it in that wiki site:

http://openfoamwiki.net/index.php/LibOpenSMOKE
wyldckat likes this.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   December 4, 2014, 16:46
Default
  #414
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings to all!

Quote:
Originally Posted by Tobi View Post
But I want to tell you that the flameletModel is now available here:

https://bitbucket.org/shor-ty/flameletmodel
FYI: Since Tobi deleted his account at Github, I also eliminated the mirror mentioned in post #197 and created a new mirror for this new repository: http://repo.or.cz/w/shor-ty-flameletmodel.git

To git clone from it, use either one of the following commands:
  • Code:
    git clone git://repo.or.cz/shor-ty-flameletmodel.git
  • Code:
    git clone http://repo.or.cz/r/shor-ty-flameletmodel.git
For those who don't have git, use one of the snapshot links from here: http://repo.or.cz/w/shor-ty-flameletmodel.git/tree

Best regards,
Bruno

PS: I'll edit the original post that had links to the old repositories and leave a note on which post the new ones are mentioned.
Tobi likes this.
wyldckat is offline   Reply With Quote

Old   December 4, 2014, 17:31
Default
  #415
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Thanks Bruno,

sorry that I change so many things
But now everything is at the right place.
Also thanks for adding the libOpenSMOKE wiki page to the contribute.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   January 1, 2015, 02:24
Default
  #416
Senior Member
 
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 13
wenxu is on a distinguished road
Hello,Bobi,
Do you familiar with the Cantera solver? Now i try Hagen's code and using cantera to generate flamelet library. But i do not know what's the mixture fraction based on? That to say, it's definition is based on one-step reaction or Bilger's definition(based on element)?
Also i find that OpenSMOKE has a runFlameletGeneration.sh in flameletGeneration folder, but i can not find the details how the library is generated? ---i can not find the source code because most of them is binary files. BTW, why not choose FlameMaster to generate flamelet library which is the common choose.

Best regards,
wenxu
wenxu is offline   Reply With Quote

Old   January 1, 2015, 11:23
Default
  #417
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 16
babakflame is on a distinguished road
Greetings Wenxu

AFA I know, the cantera-based look-up table constructor is based on Bilger's definition i.e. elements.

Detail your problem with any of look-up table makers more clearly, I hope to be capable of helping.

Best,
Bobi
babakflame is offline   Reply With Quote

Old   January 1, 2015, 21:56
Default
  #418
Senior Member
 
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 13
wenxu is on a distinguished road
Thank you very much, Bobi,

The details of my problem is that now i want to use cantera to generate flamelet library, but the library i need seems "strange" which in the attachment 1: mixture fraction. The picture is in the paper:http://www.sciencedirect.com/science...40748914003757 when the fuel fraction becomes less, the Zst should become lager, but in the picture we can see that Zst seems stay unchanged and the maximum Z become less and less until 0.24.

But the picture of mixture fraction i get from cantera is as attachment 2: myself picture, which the maximum mixture fraction (in fuel side) is always 1 and is different from the paper.

So i should redefine the mixture fraction in cantera, right? If not , how can i get it? Thank you very much!

Sorry for that this post have little relation with libOpenSMOKE, but useful to generate flamelet library which every one should encounter it. AFAIK the generation of flamelet library in libOpenSMOKE we MUST use binary files, so we can not see the source code and impossible to redefine the mixture fraction.

Sorry for the tedious description but i think i have describe it more clear.

best regards,
wenxu
wenxu is offline   Reply With Quote

Old   January 2, 2015, 06:46
Default
  #419
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 16
babakflame is on a distinguished road
Greetings Wenxu

I took a short look at your reference:
http://www.sciencedirect.com/science...40748914003757

What I learned is that although the writers used Flame Master for solving steady one dimensional flamelet equations, the definition of mixture fraction in their paper is completely different from conventional ones (due to modeling pulveized coal combustion). You need to redefine mixture fraction in Cantera-based code or Flame Master with considering upper bound of Mixture Fraction in this special case.

In addition, for reproducing their work, you need to apply some changes in your flow solver as well, to incorporate the transport equation of progress variable.

All in all, I could say that their work is highly reputable and not easy to reproduce.

Best,
Bobi
babakflame is offline   Reply With Quote

Old   January 22, 2015, 09:13
Default
  #420
Senior Member
 
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 13
wenxu is on a distinguished road
Greeting to all.

Anyone has the experiences of getting the mass fraction and temperature from the flamelet library using four parameters (e.g. x, z",z, a )? In other words, how can I implement interpolation using four dimension?

Anyone can give me some hints?

regards,
wenxu
wenxu is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Numerical treatment of the source term in combustion equations Tobi Main CFD Forum 37 September 15, 2020 14:42
[openSmoke] flameletSmoke + new ODESolver (by Alberto Cuoci) Tobi OpenFOAM Community Contributions 1 November 21, 2017 19:24
Unsteady solver with Flamelet Model (libOpenSMOKE) francesco_capuano OpenFOAM Running, Solving & CFD 11 November 26, 2013 05:50
LibOpenSmoke, getting the species in ParaFoam Christoph_84 OpenFOAM 1 May 31, 2012 15:42


All times are GMT -4. The time now is 04:44.