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   May 10, 2015, 13:23
Default
  #481
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
Well i dont think that its a numerical error because it should be the same in both simulation cases. If you use radiation, you change the flow properties a little bit - due to defect. Therefore you interpolate between the different lookup tables. That is the reason of the missmatch. If you only use one lookup table the results have to be the same.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   May 10, 2015, 15:18
Default
  #482
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 15
babakflame is on a distinguished road
Greetings Tobi

Thanks for your suggestions. If it was an experimental data, I could say that the heat loss to reactants from the flame surface may cause an increase in reactants Temperture and thereby increase in this region (a region inside the flame). However, here I have no comments.

Best,
babakflame is offline   Reply With Quote

Old   May 10, 2015, 15:41
Default
  #483
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
Okay i thougth you mean the difference between the two numerical solutions. Well which model are you using? still flamelet model and freestream flames?
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   May 11, 2015, 02:18
Default
  #484
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 15
babakflame is on a distinguished road
Quote:
Originally Posted by Tobi View Post
Okay i thougth you mean the difference between the two numerical solutions. Well which model are you using? still flamelet model and freestream flames?
Yes, I have utilized flamelet model on the bluff-body stabilized flame of HM1 (free stream flame)

Best,
babakflame is offline   Reply With Quote

Old   May 11, 2015, 03:06
Default
  #485
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 Bobi,

normally you should get better results (I think). I remember that Alberto was simulating this flame too (with the flamelet model). Check out his presentation of the OFW5 (link can be found at the wiki page).
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   May 12, 2015, 05:33
Default
  #486
Senior Member
 
Dr. Alexander Vakhrushev
Join Date: Mar 2009
Posts: 250
Blog Entries: 1
Rep Power: 19
makaveli_lcf is on a distinguished road
Send a message via ICQ to makaveli_lcf
Nice description Tobi!

One can use an advanced form of this "compressibility" correction:

Code:
...
+ fvm::div(phi, csi)
+ fvm::SuSp(- fvc::div(phi), csi)
...
It takes into accout the sign of the fluxes divergence, and adds corresponding coefficients to the matrix diagonal or shifts the term to the RHS in the other case.
So some numerical improvement of the equation system is done.

Cheers,

Alex

Quote:
Originally Posted by Tobi View Post
Hi Bobi,

no problem - its my topic and want to help everyone. Step by step:

\tilde \rho \tilde v \nabla \tilde Z

is

Code:
fvm::div(phi, csi)      // its the convection term
fvm is standing in the programmers guide:
Code:
Implicit / Explicit    ::::   fvm:: / fvc::
I think thats clear. So the convection term is treated implicit.

The diffusion term:

\nabla (\frac{\mu_{eff}}{\sigma_t} \nabla \tilde Z)

is

Code:
fvm::laplacian(turbulence->muEff()/sigmat, csi)
Thats it. The other term:
Code:
fvm::Sp(fvc::div(phi), csi)
is a numerical trick for stabilisation.
Lets consider the following equation:

\frac{dU}{dt} = \underline{A} + \underline{B}U

The underlined variables are matrixes. Okay if you use the eulerian procedure to solve that problem you get (explicit):

U^n - U^{n-1} = dt \cdot \underline{A} + dt \cdot \underline{B} U^{n-1}

You want to know U^(n), then you get:

U^n = dt \cdot \underline{A} + dt \cdot [\underline{B} + 1 ] U^{n-1}

You calculate U^n with the known variables. That method (explicit) is in some cases very instable so that you use an implicit method for the matrix B (implicit) :

U^n - U^{n-1} = dt \cdot \underline{A} + dt \cdot \underline{B}U^{n}

after transform that equation you get:

[1 - dt \underline{B}] U^n = dt \cdot \underline{A} + U^{n-1}

Now its possible to make a stabilisation for explicit source terms (here the matrix A). We go back to the first equation:

\frac{dU}{dt} = \underline{A} + \underline{B}U = \underline{A} \cdot 1 + \underline{B} U

You can see that the matrix A is multiplyed by 1. So now the trick:


\frac{dU}{dt} = \underline{A} + \underline{B}U = \underline{A} \cdot 1 + \underline{B} U = \underline{A} \cdot \frac{U}{U} + \underline{B} U

Go back to the implicit eulerian procedure:

U^n - U^{n-1} = dt \cdot \underline{A} \cdot 1 + dt \cdot \underline{B}U^{n} = dt \cdot \underline{A} \cdot \frac{U^n}{U^{n-1}} + dt \cdot \underline{B}U^{n}

Now you see that the matrix A is not mulitplyed by 1 anymore but with a complete different value. That gives you the possibility to linearize explicit source terms (and thats the trick).

If you reach steady state conditions U^n/U^n-1 = 1 and everything is fine again

And thats what the following line is doing:
Code:
fvm::Sp(fvc::div(phi), csi)
Tobi

PS: sigmat = turbulent prandtl number
yashar.afarin and Tobi like this.
__________________
Best regards,

Dr. Alexander VAKHRUSHEV

Christian Doppler Laboratory for "Metallurgical Applications of Magnetohydrodynamics"

Simulation and Modelling of Metallurgical Processes
Department of Metallurgy
University of Leoben

http://smmp.unileoben.ac.at
makaveli_lcf is offline   Reply With Quote

Old   May 17, 2015, 20:33
Default
  #487
Senior Member
 
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 12
wenxu is on a distinguished road
Quick question:

Why the source term due to combustion did not be included in the energy transport equation? Then the equation like this:

Code:
                        fvm::ddt(rho, H)
                      + fvm::div(phi, H)
                    //- fvm::Sp(fvc::div(phi), H)
                      - fvm::laplacian(turbulence->muEff(), H) + Qrad
                    ==         combustion->Sh()
AND why not the radiation source term did not be included in this energy equation?
Code:
      + radiation->Sh(thermo)

These two source terms can be extracted from the tables.


Regards,
Wen Xu
wenxu is offline   Reply With Quote

Old   May 18, 2015, 02:37
Default
  #488
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
Its due to the fact that this equation is not really a energy equation as you know it from standard functionallity. Its only a passive scalar which catches the differences between H_fuel and H_oxigen. Its similar to Z only that the values are different.
Code:
0 < Z < 1
H_oxi < H < Hfuel
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   June 2, 2015, 11:25
Default
  #489
Member
 
Howar
Join Date: Mar 2015
Posts: 53
Rep Power: 11
Howard is on a distinguished road
Quote:
Originally Posted by Tobi View Post
Yes I know why its not available. The reason is that I build that stuff (during and after my masterthesis). In 2.3.x I removed the solver because it is not well tested and at there is also the flamelet solver availible build by Hagen Müller (its using PIMPLE and is for RANS + LES).

At the moment I am building a new lib which can be used for laminar and turbulent flames (RANS + LES) but due to the fact that I am doing it in my spare time, it could take month if its finished.

So you have more possibilities:

  • Building the transient solver yourself
  • Using Hagens solver
  • Using model 2.2.x or 2.1.x
  • Waiting (maybe for a long time) till I finished this solver

You can prove SIMPLE also, but what you want to prove if you solve instationarity and you are not solving time derivation?
Hi friend, I would like to ask how to use 'Hagens solver' you mentioned, is there tutorial?
Howard is offline   Reply With Quote

Old   June 2, 2015, 12:20
Default
  #490
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
This is a thread for libOpenSmoke,

Check out the openfoamwiki for hagens solver.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   June 3, 2015, 13:08
Default Modelling the Ethylene/air turbulent diffusion flame
  #491
Member
 
Yashar Afarin
Join Date: May 2010
Location: Toronto- Canada
Posts: 40
Rep Power: 15
yashar.afarin is on a distinguished road
Send a message via Skype™ to yashar.afarin
Dear Friends,

I have a problem in modelling the Kent & Honner (Kent, J. H., and Honnery, D. (1987). Modelling soot turbulent jet flames using an extended flamelet technique. Combustion Science and Technology 54, 383.) flame which is a ethylene/air turbulent co-flow flame.

I want to first compare my results with Cuoci's results (flame A of Cuoci et al, Kinetic Modeling of Soot Formation in Turbulent Nonpremixed Flames, Environmental Engineering Science, 2008) without the soot modelling and then implement my own soot model to the code.

Cuoci mentioned in his paper that, the Enthalpy Defect was selected between 0 to -550 kJ/kg and he also mentioned the number of enthalpy defect (10). For the kinetic mechanism, I am using PolimiC1C3 one.

1. First of all, I used the flamelet generation code which proposed by Cuoci and revised by Tobias. Everything went well except for -550 kJ/kg, I got this error:

Class: OpenSMOKE_IdealGas
Object: [Name not assigned]
Error: Maximum number of iteration for calculating temperature from enthalpy...


I tried -300 kJ/kg and again the same error appeared. I decreased the enthalpy defect to -250 kJ/kG and finally I was able to produce the look-up table (however it is not exactly the look-up table that I am looking for)

2. I started modelling the flame (please find attached my "flameletProperties"). After several hours I got the results. It seems that the the length of flame is longer than the experimental value. It did not diffuse sufficiently in radial direction.

Do you think the problem that I have in generating the look-up table with the correct enthalpy defect could cause this deviation?

What is your suggestion about the error that I got for -550 kJ/kg?

Thanks
Attached Images
File Type: jpg Radial Temperature Distribution.jpg (34.8 KB, 24 views)
Attached Files
File Type: txt flameletsProperties.txt (2.1 KB, 10 views)
yashar.afarin is offline   Reply With Quote

Old   June 5, 2015, 11:38
Default
  #492
Senior Member
 
Bobby
Join Date: Oct 2012
Location: Michigan
Posts: 454
Rep Power: 15
babakflame is on a distinguished road
Dear yashar

Just one point: Are u using precursor simulation for RAS?

I mean extending the fuel injection pipe to upstream allowing the fuel stream to become fully developed?

Best
babakflame is offline   Reply With Quote

Old   June 5, 2015, 11:45
Default
  #493
Member
 
Yashar Afarin
Join Date: May 2010
Location: Toronto- Canada
Posts: 40
Rep Power: 15
yashar.afarin is on a distinguished road
Send a message via Skype™ to yashar.afarin
Dear Bobi,

Thanks for your reply. Yes, I am using that.

Regards,
Yashar
yashar.afarin is offline   Reply With Quote

Old   June 7, 2015, 10:00
Default
  #494
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
Can you show the simulation mesh ?
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   June 8, 2015, 14:36
Default
  #495
Member
 
Yashar Afarin
Join Date: May 2010
Location: Toronto- Canada
Posts: 40
Rep Power: 15
yashar.afarin is on a distinguished road
Send a message via Skype™ to yashar.afarin
Hi Tobias,

Thanks for your reply. I have tried different meshes and got the same result. I am sure that this can not be related to the mesh.

I am trying another version of the code for OF 2.1.0 (I was using the version for OF 2.3). In my first try, I realized that results from both versions are not the same which is a little bit strange for me and results for 2.1 in much more better.

I will let you know the final result.

Regards,
Yashar
yashar.afarin is offline   Reply With Quote

Old   June 8, 2015, 16:38
Default
  #496
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
Well you can make a lot of mistakes with the geometry you are using. Please make just a screenshot... amount of cells dont matter for me at the moment.

In 2.2.x und 2.3.x there is the gravity term missing in the momentum equation.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   July 3, 2015, 02:41
Default
  #497
Member
 
hekseli
Join Date: Mar 2013
Posts: 49
Rep Power: 13
heksel8i is on a distinguished road
Hey!

I'm trying to install laminarsmoke for OF 2.3.x and 2.4.x and running to several errors in compilation stage. I believe that I have missed somekind of declaration/definition from Make file. I'm trying to use openblas and sundials package (OpenSuse).

Error examples after wmake:
.
.
.

../laminarSMOKE_V15/checkMassFractions.H:28:26: error: no match for ‘operator==’ (operand types are ‘Foam::word’ and ‘int’)
.
.
.
In file included from ../laminarSMOKE_V15/policies/Policy_ReactionTransport.H:57:0,
from ../laminarSMOKE_V15/laminarSMOKE.C:94:
...OpenFOAM-2.3.x/src/finiteVolume/lnInclude/rhoEqn.H:38:22: error: ‘fvOptions’ was not declared in this scope
fvOptions(rho)
.
.
.
...\OpenSMOKE_CVODE_Sundials.h:53:13: warning: ‘int OpenSMOKE::check_flag(void*, char*, int)’ declared ‘static’ but never defined [-Wunused-function]
static int check_flag(void *flagvalue, char *funcname, int opt);
^
../laminarSMOKE_V15/laminarSMOKE.dep:753: recipe for target 'Make/linux64GccDPOpt/laminarSMOKE.o' failed
make: *** [Make/linux64GccDPOpt/laminarSMOKE.o] Error 1



Then my Make-file:

OPENSMOKE_PATH=$(HOME)/Documents/Libraries/OpenSMOKEPlus

EXE_INC = \
-I../laminarSMOKE_V15 \
-I/usr/include \
-I../laminarSMOKE_V15/interfacesToODESolvers/CVODE_Sundials \
-I$(OPENSMOKE_PATH)/src/surface-chemistry/hpp \
-I$(OPENSMOKE_PATH)/src/gas-mixture/hpp \
-I$(OPENSMOKE_PATH)/src/math/hpp \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I../myBoundaryConditions/lnInclude

EXE_LIBS = \
-L/usr/lib64 \
-L$(OPENSMOKE_PATH)/lib/libOpenSMOKEUBI_Detailed_GNU.a \
-lopenblas \
-lmyBoundaryConditions \
-lfiniteVolume \
-lmeshTools \
-lsundials_cvodes \
-lsundials_nvecserial



I think that openblas or sundials packages are not the problem at the moment because the error log seems not to be related them...

Any ideas?
heksel8i is offline   Reply With Quote

Old   July 8, 2015, 22:46
Default
  #498
Senior Member
 
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 12
wenxu is on a distinguished road
Anyone in this thread try to extend the libOpenSMOKE to simulate premixed flame?

Regards,
Wen Xu
wenxu is offline   Reply With Quote

Old   July 9, 2015, 01:48
Default
  #499
Member
 
Join Date: Feb 2015
Posts: 31
Rep Power: 11
Stefano Puggelli is on a distinguished road
Hi wen Xu,
for the moment for the generation of premixed flamelet I am using cantera but I would be very interested also in extending LebOpenSmoke.
Regards,
Stefano
Stefano Puggelli is offline   Reply With Quote

Old   July 9, 2015, 02:14
Default
  #500
Senior Member
 
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 12
wenxu is on a distinguished road
Quote:
Originally Posted by Stefano Puggelli View Post
Hi wen Xu,
for the moment for the generation of premixed flamelet I am using cantera but I would be very interested also in extending LebOpenSmoke.
Regards,
Stefano

That's great! I also want to couple flamelet with level set for simulating premixed flame. Some details I can not go through out.

FlameMaster may be another a good choice to generate premixed flamelet library.

regards,
Wen Xu
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 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 20:28.