|
[Sponsors] |
July 23, 2015, 11:49 |
|
#501 |
Senior Member
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 13 |
Hello, everyone,
Could anyone tell me how can the variance of mixture fraction be normalized by this: Code:
Zvar_normalized = Zvar[celli] / (Z[celli]*(1.-Z[celli])); Thank you in advance! Best regards, Wen Last edited by wenxu; July 23, 2015 at 22:13. |
|
July 23, 2015, 13:35 |
|
#502 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Its Not the mixture fraction, it's its Varianz ... Zvar is defined between 0 and 0.25 (parabolic profile). No area weight ed interpolation possible.
See also http://www.holzmann-cfd.de/index.php...ameletModel2.2
__________________
Keep foaming, Tobias Holzmann |
|
July 23, 2015, 22:14 |
|
#503 |
Senior Member
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 13 |
Thank you for your reply. And sorry for my mistake. I have corrected it.
Regards, Wen |
|
September 19, 2015, 09:24 |
|
#504 | |
Senior Member
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 13 |
Dear Tobi,
May I kindly ask two questions about the libOpenSMOKE: (1) About the enthalpy defect: I do not know how you generate the flamelet library with different enthalpy defects, that means do you modify the boundary condition of the temperature flamelet equation or add a source term to the that equation? (2) About the actual enthalpy (H): How to calculate the actual enthalpy at the inlet as that in the H initial file? Quote:
Best, Wen |
||
September 28, 2015, 06:10 |
|
#505 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Dear Wen,
(1) the enthalpy defect is a source term added in the flamelet equations (not in the openFOAM solver). The flamelet equations are not solved in openFOAM. These eqn are solved within the binary files and you can add a defect, that means a delta enthalpy to the adiabatic condition. (2) The actual enthalpy at some cell is calculated using a passive scalar transport equation (not what you mentioned). The equation is (in SIMPLE): Code:
fvScalarMatrix hEqn ( fvm::div(phi, H) - fvm::laplacian(turbulence->muEff()/sigmat, H) ); The adiabatic values of the inlet are the adiabatic enthalpies of fuel and oxidizer and is shown at the beginning of the libOpenSMOKE solver. Run it once, abort, get the values of the adiabatic enthalpy, insert them into the H file and restart.
__________________
Keep foaming, Tobias Holzmann |
|
September 28, 2015, 06:25 |
|
#506 |
Senior Member
Freedom
Join Date: May 2014
Posts: 209
Rep Power: 13 |
I do not know whether the enthalpy defect is set as a source term or as the boundary condition in the fuel and oxidizer sides (the common choice), because it is a binary file. But I know that the total enthalpy on the fuel and oxidizer side is a calculated value if we use FlameMaster solver. Of course, the method you implemented is right.
Thank you for you hints, I already know that. Best regards, Wen |
|
September 28, 2015, 07:07 |
|
#507 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Dear Wenxu,
you ment the enthalpy defect within the flamelet equations (so flame-master, binaries of libOpenSMOKE, cantera)? I think it is a source term and not a boundary condition because if you compare flamelets of the same scalar dissipation rates and different enthalpy defects you can see that the temperature profile is moved (somehow with a defined value --> delta distribiution). Therefore I think its not a boundary condition
__________________
Keep foaming, Tobias Holzmann |
|
March 4, 2016, 05:30 |
|
#508 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Hey all,
I am really working hard on my flamelet generator and I programmed more than 10.000 lines till now. For me the binarys of libOpenSMOKE are in gerneral somehow a comparison of my calculations. However I found some problems in the binary code.
During the flamelet calculation we use the stochiometric scalar dissipation rate and we also know the stochiometric mixture fraction. Therefore we can calculate the strain rate as that we will use for modeling the scalar dissipation rate across the flamelet. After a few hours of debuging, because my code is not giving the same strain rate, I figured out that in libOpenSMOKE the strain rate is calculated using the c++ function erfc. This function is the complimentary error function but in the function above, we have the inverse complimentary error function. Using this, we get different values of as. I am not sure how much this will influence the calculation but it is in my opinion a wrong calculation. FInally, I am not sure about the stochiometric mixture fraction calculation. For pure fuel's I am getting the same results but if I add some inert gas to the fuel, my calculation differs from that of lib-open-smoke. It would be very nice if someone could check this with fluent or some other software. Example: Code:
Fuel: Y_H2 = 0.3 Y_N2 = 0.7 Oxi: Y_O2 = 1
is the mass fraction of O2 in the oxidizer stream is the mass fraction of fuel in the fuel stream is the stochiometric fraction and is related to the needed oxigen to burn the fuel completely (stochiometric mixture). The needed oxigen can be calculated using the mass fraction of the elements. In this way I am calculating the stochiometric mixture fraction. Can someone proof the way I am calculating that? Thanks in advance. Tobi
__________________
Keep foaming, Tobias Holzmann |
|
December 26, 2016, 08:14 |
|
#509 |
Member
Mukesh Adlak
Join Date: Jun 2016
Posts: 32
Rep Power: 10 |
Hello everyone,
i have compiled flamelet model in openfoam-4.x but while running the tutorial case i am getting the following error : Code:
--> FOAM FATAL ERROR: Not implemented From function flameletThermo::Z() in file flameletThermo/flameletThermo.C at line 160. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::flameletThermo::Z() at ??:? #3 ? at ??:? #4 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #5 ? at ??:? Aborted (core dumped) Last edited by wyldckat; December 26, 2016 at 17:21. Reason: Added [CODE][/CODE] markers |
|
January 13, 2017, 06:28 |
|
#510 |
Member
Mukesh Adlak
Join Date: Jun 2016
Posts: 32
Rep Power: 10 |
Hi Tobi, Hope your holidays were awesome,
I have compiled flamelet model in openfoam-4.x but while running the tutorial case i am getting the following error : --> FOAM FATAL ERROR: Not implemented From function flameletThermo::Z() in file flameletThermo/flameletThermo.C at line 160. FOAM aborting #0 Foam::error:rintStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::flameletThermo::Z() at ??:? #3 ? at ??:? #4 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #5 ? at ??:? Aborted (core dumped) |
|
February 6, 2017, 02:37 |
|
#512 |
Member
Mukesh Adlak
Join Date: Jun 2016
Posts: 32
Rep Power: 10 |
Hi Tobi,
I am using ur flameletPimplefoam in openfoam-2.3.x for supersonic combustion but after some iterations it is diverging. Z and Zvar values go in thousands. Can u help me out ? |
|
February 6, 2017, 02:40 |
|
#513 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Maybe it is based on the fact that the solver has no supersonic implementation or it is based on your mesh, boundary conditions or whatever. In addition I do not support old versions anymore.
If it is not possible, try the flameletFoam from Hagen Müller.
__________________
Keep foaming, Tobias Holzmann |
|
March 31, 2017, 04:48 |
Density calculation
|
#514 |
New Member
Join Date: Jan 2016
Posts: 5
Rep Power: 10 |
Hi Tobi,
First of all: thank you for all the work you have done on the flamelet solver! I have a question about the rho calculation in the thermophysical model. Am I correct in assuming that rho is looked up in the flamelet table? I am a bit confused due to the "flameletThermo.C" file in which rho is returned as p*psi() and psi is calculated as 1/RT in the perfect gas equation of state. But in pdfFlameletThermo.C "density_reynolds" is looked up and used in calculations for psi. However, I do not seem to be able to determine the place where the rho-field is connected to the looked up value. A related question: in the validation syngas flame you use the following values for the pure mixture: mixture { specie { nMoles 1; molWeight 28.9; } thermodynamics { Cp 1005; Hf 0; } transport { As 1.67212e-06; Ts 170.672; } } How did you determine the molWeight and Cp value? Or are they not used in the simulation at all? |
|
March 31, 2017, 06:31 |
|
#515 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Hi,
Code:
psiCells[celli] = RhoReynolds[celli]/pCells[celli];
__________________
Keep foaming, Tobias Holzmann |
|
March 31, 2017, 06:49 |
|
#516 |
New Member
Join Date: Jan 2016
Posts: 5
Rep Power: 10 |
Thank you for the clarification!
So that means that also none of the following parameters of thermotype matter, except "type pdfFlameletThermo;" thermoType { type pdfFlameletThermo; mixture pureMixture; transport sutherland; thermo hConst; equationOfState perfectGas; specie specie; energy sensibleEnthalpy; } |
|
March 31, 2017, 07:21 |
|
#517 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Correct.
It is just needed for the object we construct but in the new thermodynamic we made in that model, everything is based on the Look-Up-Table:
__________________
Keep foaming, Tobias Holzmann |
|
May 23, 2017, 13:02 |
Wall boundary condition
|
#518 |
New Member
Join Date: Jan 2016
Posts: 5
Rep Power: 10 |
Hi Tobi,
I have a question about the implemented boundary conditions in the pdfFlameletThermo.C file. I don't get why the boundary condition for fixed temperature should coïncide with a fixed enthalpy BC with value 0 as the following error message suggests: FatalErrorIn ( "pdfFlameletThermo<BasicFlameletThermo, MixtureType>::update()" ) << "Boundary conditions are wrong: " << "fixed temperature BC must be fixed enthaplie BC with value 0;" << abort(FatalError); I think that a wall would have a zero gradient BC for H and a fixedValue one for T, because the enthalpy H is not necessarily 0 at a wall. It is an easy alteration (for me/you/...) to change/add this condition, but maybe I'm overseeing something. What do you think about this requirement? Thank you! |
|
May 23, 2017, 17:51 |
|
#519 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Hi,
it was my implementation. The reason for that is very easy. It is based on the fact that libOpenSMOKE has some special treatment for fixedValue BC for the temperature. Based on the temperature the application calculates an enthalpydefect and thus choose the appropriate LUT. It was not working in the official one so I debugged a few things here. The enthalpy fixed value = 0 does not influence the solution. it is just a dummy for further treatment in the code. I have everything in my thesis. Unfortunately it is in german. Even the usage of the log-normal in the properties will change a lot of things . To make it short: Fixed T: With T, Z, Z'', chi at face find enthalpy defect at face. Based on the enthalpy defect, calculate the enthalpy at the face.
__________________
Keep foaming, Tobias Holzmann |
|
|
|
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 |