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   August 22, 2013, 02:36
Default
  #1
TBO
Member
 
Join Date: May 2013
Location: Netherlands
Posts: 30
Rep Power: 12
TBO is on a distinguished road
Quote:
Originally Posted by babakflame View Post
Hi TBO

My suggestion for you for simulating cold flows is using RhoPimpleFoam and RhoSimpleFoam solvers of OpenFoam, cause their flow solvers are exactly the same as libOpenSmoke modified versions. LibOpenSmoke and its modified bversions are steady flamelet solvers which automatically spread combustion according to mixture fraction value in the domain.

Good Luck

Bobi

Hi Bobi,

Thank you for your reply, please correct me if I'm wrong, since I'm not very experienced with OpenFOAM so far. I am already using rhoSimplecFoam for cold flow modelling, however what I would like to do is calculate the mixture fractions of different species in the domain. So for example the mixing of methane jets in an air flow. As far as I know rhoSimplecFoam can only cope with one species (if anyone can tell me how to implement several species in rhoSimplecFoam, I am very satisfied).

I already looked into other solvers, e.g. reactingFoam and there you have the possibility to switch off chemical reactions (however this solver is transient, resulting in extreme calculation times). Is there any possibility to switch off the chemical reactions (or modify the library) for the libOpenSmoke?
immortality likes this.
TBO is offline   Reply With Quote

Old   August 22, 2013, 05:29
Default
  #2
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 15
babakflame is on a distinguished road
Hi TBO
HTML Code:
if anyone can tell me how to implement several species in rhoSimplecFoam, I am very satisfied).
I did not get what you mean by this sentence. However, If you mean various inlet constituents with not having combustion , you might use fireFoam cause this solver supports this option.

HTML Code:
Is there any possibility to switch off the chemical reactions (or modify the library) for the libOpenSmoke?
You can insert this option for libOpenSmoke if you have sufficient knowledge of OpenFOAM and combustion, However my proposal for you is using fireFOAM in O.F. 2.2.x , cause in this version this option (the same as you want ) is added to the current combustion models. In addition, it calculates the mixture fraction of the domain without having combustion though.

I hope you find this helpful

Bobi
babakflame is offline   Reply With Quote

Old   August 22, 2013, 05:46
Default
  #3
TBO
Member
 
Join Date: May 2013
Location: Netherlands
Posts: 30
Rep Power: 12
TBO is on a distinguished road
Hi Bobi,

Thank you for your answer. Indeed I mean various inlet constituents without having combustion.

I already looked into fireFoam (as well as reactingFoam) before, however the main problem with these solvers is that they are transient and I would like to model steady state (since this saves a lot of computational time).

I already looked into several other options (alternateSteadyReactingFoam, edcSimpleFoam). However results for these solvers are not satisfying jet and documentation/CFD online discussions are very limited.

Regards,
TBO is offline   Reply With Quote

Old   August 22, 2013, 11:15
Default
  #4
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 15
babakflame is on a distinguished road
Hi TBO

HTML Code:
I already looked into fireFoam (as well as reactingFoam)
I should mention that these solvers are totally different and if you use them you can find out that why I proposed you firefoam with no combustion model (so much faster than reactingfoam with off chemistry). Although you are right. Both of them use piso algorithm which is a transient flow solver.

HTML Code:
I would like to model steady state
I am still sure that you can use RhoSimpleFoam for your aim

HTML Code:
documentation/CFD online discussions are very limited
Ask your question in forum (not this one), You will get your answer

Bobi
babakflame is offline   Reply With Quote

Old   September 16, 2013, 05:41
Default
  #5
New Member
 
parsa
Join Date: Sep 2013
Posts: 3
Rep Power: 12
parsa_abbasi is on a distinguished road
Dear All,

I'm doing also the same job with OpenFoam, but until now, i didn't get the semialer result as I got in Transient mode. I made several steady-State Solvers, but seems that No Combustion happens! I'm using the 'psi Combustion Model' which is used in reactingFoam Solver as well. If any of you could run the Transient Solver in Steady-State mode ( with delta T=1 for example , and not with deltaT= 10^-6) or already created a new steady-state solver , I would be so grateful if help me this way,

looking forward to your replies,

Sincerely,

Parsa
parsa_abbasi is offline   Reply With Quote

Old   September 16, 2013, 12:03
Default
  #6
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51
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
Dear all,

this thread is for libOpenSMOKE and not for other combustion solver.

To have a clear thread, please make new threads with your problems

Thanks
Tobi
babakflame and TBO like this.
Tobi is offline   Reply With Quote

Old   September 16, 2013, 14:28
Default
  #7
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 15
babakflame is on a distinguished road
Hi Tobi

I have an issue with k parameter in simulating bluff-body flames. what should I take for this value? For instance; In your Sandia_CO/H/N2 you have mentioned as:

Code:
  outlet
    {
        type            zeroGradient;
    }
    axis
    {
        type            empty;
    }
    sidewall
    {
        type            compressible::kqRWallFunction;
        value           uniform 1;
    }
    burnerwall
    {
        type            compressible::kqRWallFunction;
        value           uniform 1;
    }
for the boundary walls. Also in another tutorial for a bluff-body flame I found:

Code:
bluffbody
    {
        type            compressible::kqRWallFunction;
        value           uniform 17.34;
    }
    back
    {
        type            wedge;
    }

    outlet
    {
        type            inletOutlet;
        inletValue      uniform 1;
        value           uniform 1;
    }
Would you PLZ hint me about it that how these parameters are taken?

My specific issue is its value for the bluff-body boundary as a kind of wall.


It is the initial value, So is it important choosing the exact right value. I suggest maybe just estimating a value and starting my simulation.

Am I right Buddy?

Regards

Bobi

Last edited by babakflame; September 17, 2013 at 04:22.
babakflame is offline   Reply With Quote

Old   September 17, 2013, 06:16
Default
  #8
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51
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 babakflame View Post
Hi Tobi

My specific issue is its value for the bluff-body boundary as a kind of wall.


It is the initial value, So is it important choosing the exact right value. I suggest maybe just estimating a value and starting my simulation.

Am I right Buddy?

Regards

Bobi
Hi Bobi,

you are right. The values you choose are just initial values. After the first iteration the value change. But if you choose your value very good your simulation get to a steady state solution faster.

Additionally the first timesteps could be hard for openfoam to calculate due to bounding things and stuff like that. So its good to have a accurate value.

In my tutorial case its just a standard value if I do not know a correct one
I always begin with 0.01 to 1 ... due to the velocity and geometry.


The inlet value can be calculated (not exact but good for initialising).
For the wall I could use 10 or 100 too

So just start with 0.1 or 1 and check the first 10 or 50 timesteps / iterations ... if you have no problems with the wall value then everything is okay.

I read in an other thread that People set the k and Epsilon values to 1e5 or sth. like that

Well in my opinion you should set a correct dimension.

So if you know that the inlet has k=0.0032 then I choose the same Dimension for the walls like 0.001 ... but not 10


Hope this answer will help you for your Problem.

Tobi
immortality and babakflame like this.
Tobi is offline   Reply With Quote

Old   September 18, 2013, 14:11
Default
  #9
Member
 
sonu
Join Date: Jul 2013
Location: delhi
Posts: 92
Rep Power: 12
yash.aesi is on a distinguished road
greetings oll ,

i have a small doubt that in 0 folder the value of each species (like CH4) in boundary fields is in mole fraction . rite ?? not the mass fraction

correct me if i am wrong




Thank you ,
Regards
sonu
yash.aesi is offline   Reply With Quote

Old   September 18, 2013, 15:24
Default
  #10
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51
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 yash.aesi View Post
greetings oll ,

i have a small doubt that in 0 folder the value of each species (like CH4) in boundary fields is in mole fraction . rite ?? not the mass fraction

correct me if i am wrong




Thank you ,
Regards
sonu

You have no species in the folder 0!
Otherwise you have the MASS FRACTION!

Code:
        // 13 - species mass fractions
-> OpenSMOKE_PDF_Flamelet.cpp

Regards
Tobi
Tobi is offline   Reply With Quote

Old   September 19, 2013, 02:44
Default
  #11
TBO
Member
 
Join Date: May 2013
Location: Netherlands
Posts: 30
Rep Power: 12
TBO is on a distinguished road
I was to quick with answering, I didn't see the reply of Tobi untill I posted my reply

Quote:
Originally Posted by yash.aesi View Post
greetings oll ,

i have a small doubt that in 0 folder the value of each species (like CH4) in boundary fields is in mole fraction . rite ?? not the mass fraction

correct me if i am wrong




Thank you ,
Regards
sonu
TBO is offline   Reply With Quote

Old   September 24, 2013, 06:33
Default
  #12
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51
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
Hey all,

if anyone is interessted in building a open source calculation flamelet library / program you can send me an message.

Tobi
Tobi is offline   Reply With Quote

Old   October 4, 2013, 15:25
Default
  #13
New Member
 
payal
Join Date: Aug 2013
Location: banglore
Posts: 14
Rep Power: 12
payal05 is on a distinguished road
Greetings Tobi,
actually after doing the given tutorial , i started to solve my case but to have some fair amount of idea i tried to use the PDF-library of the tutorial and rest of the files according to my own problem .

case running well , but i don't have any idea up-to how much time i should run it ? i tried to check the initial and final residual but there is still difference after T=15000 .
so can you plz guide me through this .
Thank You :
Regards ,
Payal
payal05 is offline   Reply With Quote

Old   October 5, 2013, 14:07
Default
  #14
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 15
babakflame is on a distinguished road
Hi Payal

Code:
but i don't have any idea up-to how much time i should run it ? i tried  to check the initial and final residual but there is still difference  after T=15000 .
Sometimes in numerical simulations the residual traps in a loop and it goes up and down alternatively (fine variations). My suggestion for you is check Temp along centerline ; If noticeable variations did not occur, You have reached your solution.

@ Tobi
Hi buddy
I have found a point in flamelet model 2.2.x look-up table folder.
You have put these lines in runFlameletGeneration.sh file:

Code:
kinetics="PolimiC1C3"                                                    #
                                                            #
# aiabate flame                                                        #
fEd[0]=-800                                                        #
                                                            #
# defects
It seems that instead of 0 , you have taken -800 for adiabatic situation. Is it right buddy? I mean although with radiation; we apply non-adiabatic flamelet. But as you might remember; Alberto had suggested to take into account adiabatic flamelet solution (Zero Enthalpy Defect) in his user guide.

Another question buddy:
Have you ever simulated a bluff-body stabilized flame (Sydney Items) with the solver?
If hopefully yes, How was your accuracy?

Regards
Bobi
Tobi and payal05 like this.
babakflame is offline   Reply With Quote

Old   October 5, 2013, 15:27
Default
  #15
New Member
 
payal
Join Date: Aug 2013
Location: banglore
Posts: 14
Rep Power: 12
payal05 is on a distinguished road
Thanks Bobi , i wl check that .....
payal05 is offline   Reply With Quote

Old   October 5, 2013, 15:28
Default
  #16
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51
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,

@Bobi,

1. thanks for your hint to the tutorial with the wrong enthalpy defect for the adiabatic state. I changed that file. I think this mistake was a wrong key pressing in vim but now its corrected.
2. I never simulated a bluff-body stabilized flame. But I think Alberto and his team did it. But I am not sure if I mean the right kind of flames. So I can not give you an advice.
3. At the moment I am configurating my new server and therefor I have no time for cfd anymore. I wanted to calculate a complex gas burner but not now.


@payal,

1. hello and welcome to the libOpenSMOKE thread.
2. for checking if your simulation is converged you have several options:

a) checking the residuals with pyFoam/gnuplot or what ever you want. But keep in mind, that with the SIMPLE algorithm its not possible to get always nice residual graphics (eg. sandia flame tutorial - does not converge after 20.000 iterations; and would not du it)
b) Check the residuals till they have a steady / or periodic fluctuations after that check your last timesteps (maybe everry 50 or 100 iterations; eg. 1500 1550 1600). If you can not realize big changes in your domain (U,T,csi etc.) then your solution should be converged. Problem of that solver is, that combustions always are very instationary and its hard to get a converged solution. There are always fluctuations in your domain - compare the CH4N2H2 flame - there is at the nozzle a field with fluctuation of U, and p so you will never get a convergence till 1e-6 or something like that.
c) Play with schemes and relaxation factors
d) check the transient solver (PISO algorithm). Compared with the steady state solution you will get a very good convergence compared with SIMPLE algorithm in the tutorial case. Negativ aspect - not steady and therefor it take long time for calculation.

3. you have to create new PDF-Libs for your problem


Regards
Tobi
yash.aesi likes this.

Last edited by Tobi; October 6, 2013 at 05:22.
Tobi is offline   Reply With Quote

Old   October 6, 2013, 13:33
Default
  #17
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 15
babakflame is on a distinguished road
Hi Tobi

I think I have found my problem with complex flows. In my bluff-body stabilized burner (according to exp data) I should confront negative velocity fields (Due to recirculation zones both for fuel and oxidizer jets), However the achieved numeric data has minimum of zero.
I took a look into fvSchemes file. I found that my scheme for velocity is bounded i.e. can not take negative values.
Code:
divSchemes
{
    div(phi,U)          bounded Gauss limitedLinearV 1;
    div(phi,epsilon)     bounded Gauss limitedLinear 1;
    div(phi,k)          bounded Gauss limitedLinear 1;
    div(phiU,p)        bounded Gauss limitedLinear 1;

    div(phi,H)          bounded Gauss limitedLinear 1;
    div(phi,Z)        bounded Gauss limitedLimitedLinear 1 0 1;
    div(phi,Zvar)          bounded Gauss limitedLimitedLinear 1 0 0.25;

    div((muEff*dev2(T(grad(U))))) Gauss linear;
}
My suggestion is changing div(phi,U) and div(phiU,P) from bounded Gauss to Gauss upwind.

Do you have any hint for me that which type should I select to show the negative fields more accurate?

Regards
Bobi
babakflame is offline   Reply With Quote

Old   October 7, 2013, 02:32
Default
  #18
TBO
Member
 
Join Date: May 2013
Location: Netherlands
Posts: 30
Rep Power: 12
TBO is on a distinguished road
Quote:
Originally Posted by babakflame View Post
I found that my scheme for velocity is bounded i.e. can not take negative values.
Bobi,

Please correct me if I'm wrong, shouldn't the velocity vector U always be positive (so the size of the velocity), of course the different components (Ux, Uy, Uz) can have negative values (which is the case for e.g. a recirculation zone).

Regards
TBO is offline   Reply With Quote

Old   October 7, 2013, 04:03
Default
  #19
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51
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,

for the schemes: the bound keyword is a trick for stabilisation:
Code:
bound = Sp(...)
Its not a bounding scheme itselfs like:
Code:
Gauss limitedLimitedLinear 0 1 0,4
This scheme limits/bound your variable from 0 to 1 (like alpha1 or csi) with an limiter used of 40% (0,4).

To clear the mind - the following declaration should be correct:
Code:
Gauss limitedLinear 0 = Gauss linear

Due to your fact of negative recirculation zones.
TBT is correct - a vector is only positiv - just its components can be negativ.

In the sandia flame you have already recirulation fields.
babakflame likes this.
Tobi is offline   Reply With Quote

Old   October 7, 2013, 04:13
Default
  #20
Member
 
sonu
Join Date: Jul 2013
Location: delhi
Posts: 92
Rep Power: 12
yash.aesi is on a distinguished road
Greetings Tobi ,
Quote:
the tutorial with the wrong enthalpy defect for the adiabatic state. I changed that file. I think this mistake was a wrong key pressing in vim but now its corrected.
So, in runFlameletGeneration.sh file:

Code:
# aiabate flame                                                        #
fEd[0]=-800
can you plz mention what has to change in the above code ? is it that enthalpy defect (-800) should be changed to zero ?


Thank You ,
sonu
yash.aesi 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 13:42
[openSmoke] flameletSmoke + new ODESolver (by Alberto Cuoci) Tobi OpenFOAM Community Contributions 1 November 21, 2017 18:24
Unsteady solver with Flamelet Model (libOpenSMOKE) francesco_capuano OpenFOAM Running, Solving & CFD 11 November 26, 2013 04:50
LibOpenSmoke, getting the species in ParaFoam Christoph_84 OpenFOAM 1 May 31, 2012 14:42


All times are GMT -4. The time now is 06:10.