CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

NOX

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 2 Post By randolph

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 5, 2006, 13:45
Default Dear all, I am going to add N
  #1
New Member
 
saeid kheradmand
Join Date: Mar 2009
Posts: 13
Rep Power: 17
skherad is on a distinguished road
Dear all,
I am going to add Nox prediction (zeldowich) to achen bomb.
Is it neccessary to edit the source code? (is it possible by just editing dictionaries?)
thank you for your time.
regards
saeid
skherad is offline   Reply With Quote

Old   March 6, 2006, 03:11
Default This is a very weird question.
  #2
Super Moderator
 
niklas's Avatar
 
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29
niklas will become famous soon enoughniklas will become famous soon enough
This is a very weird question.
You are going to add a NOx mechanism to
a case??? So will you be able to use it
on only the aachen bomb case then?
Anyways.....

If you are planning to use dieselFoam,
then you will use the chemkin-interface and
in that case it has already been done.
If you look at the mechanism chem.inp_15
you'll find its already in there.
niklas is offline   Reply With Quote

Old   March 6, 2006, 04:45
Default Dear Dr Nordin Thank you for
  #3
New Member
 
saeid kheradmand
Join Date: Mar 2009
Posts: 13
Rep Power: 17
skherad is on a distinguished road
Dear Dr Nordin
Thank you for your answer
I dont want to use mechanism like chem.inp-15 (I have used it and it worked).
I am going to use a one step reaction
fuel+oxidant=co2+h2o
and
a simplified Nox mechanism that d(NO)/dt depeneds on O2 and N2.
sorry for the weird questions(cases like achen bomb)
regards
saeid
skherad is offline   Reply With Quote

Old   March 6, 2006, 05:01
Default Ok, so you do not want to use
  #4
Super Moderator
 
niklas's Avatar
 
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29
niklas will become famous soon enoughniklas will become famous soon enough
Ok, so you do not want to use Zeldovich,
since you're planning to bolt on NOx to the
global fuel conversion rate.

Then I'd suggest you just
use 2 reactions in chem.inp.
one for the fuel conversion rate
and one for the NO, like
NO + NO = N2 + O2
niklas is offline   Reply With Quote

Old   March 6, 2006, 05:19
Default thank you very much. I will d
  #5
New Member
 
saeid kheradmand
Join Date: Mar 2009
Posts: 13
Rep Power: 17
skherad is on a distinguished road
thank you very much.
I will do that and compare with complex mechanism.
than you
skherad is offline   Reply With Quote

Old   September 30, 2013, 14:54
Smile
  #6
New Member
 
baran
Join Date: Aug 2013
Posts: 5
Rep Power: 13
barane_iran is on a distinguished road
how to calculate fuel nox in openfoam
barane_iran is offline   Reply With Quote

Old   May 25, 2015, 18:27
Default
  #7
New Member
 
Ali Kadar
Join Date: Oct 2014
Location: Delft
Posts: 25
Rep Power: 12
flowAlways is on a distinguished road
Hello everyone,

I would like to post-process NOx formation by considering only the global species concentrations for 1-step irreversible methane combustion.

From what I have understood and read I came to the following conclusion.
The formation of thermal NO_x according to the extended Zeldovich mechanism is given by
O + N_2 \rightleftharpoons  N + NO  \quad k_f^1 = 1.8*10^8 e^{-38370/T} \quad  k_b^1 = 3.8*10^7 e^{-425/T} \\

N + O_2 \rightleftharpoons  O + NO \quad  k_f^2 = 1.8*10^4 T e^{-4680/T} \quad  k_b^2 = 3.81*10^3 T e^{-20820/T} \\

N + OH \rightleftharpoons   H + NO \quad  k_f^3 = 7.1*10^7 e^{-450/T} \quad  k_b^3 = 1.7*10^8 e^{-24560/T} \\
with rate constants in m^3/mol-s

The rate of formation of [NO] is then given by
\frac{d[NO]}{dt} \: = \: k_f^1 [O] [N_2] +  k_f^2 [N] [O_2] + k_f^3 [N] [OH] - k_r^1 [NO] [N] - k_r^2 [NO] [O] - k_r^3 [NO] [H]

which under the quasi-steady assumption for [N] can be simplified to
\frac{d[NO]}{dt} \quad = \quad 2 \: k_f^1 \: [O] \: [N_2] \quad  \frac{\left(1-\frac{k_b^1 \: k_b^2 \: {[NO]}^2}{k_f^1 \: [N_2] \: k_f^2  \: [O_2]}\right)}{\left(1+\frac{k_r^1 \: [NO]}{k_f^2 \: [O_2] \: + \:  k_f^3 \: [OH]}\right)} \quad (mol/m^3-s)

with equilibrium concentration of [O] given by [O] = 3.97*10^5 T^{-1/2} e^{-31090/T}\: [O_2]^{1/2} mol/m^3
and the concentration of [OH] is given by [OH] = 2.129*10^2 \:  T^{-0.57} \: e^{-4595/T} \: [O]^{1/2} \: [H_2O]^{1/2} mol/m^3 using partial equilibrium approach.

Therefore, the concentration of [NO] can be obtained by solving the following scalar transport equation with \phi = [NO] and S_{[NO]} = M_{NO} \frac{d[NO]}{dt}
\underbrace{ \frac{\partial{\rho \phi}}{\partial t}}_{Transient \ term} +   \underbrace{ \nabla \cdot (\rho \vec u \phi )}_{Convection \ term}   =\underbrace {\nabla \cdot (\rho D \nabla \phi )}_{Diffusion \ term} +   \underbrace {S_{\phi}}_{Source \ term}\\

So, basically to successfully post-process NOx formation in OpenFOAM we need to solve the scalar transport equation for [NO] with a spatially varying source term which depends upon the concentration of [NO].
Can someone suggest a possible way of doing this. This is a non linear equation and would need to be solved iteratively. I want to implement this in OF but do not know where to start from. Any ideas please ??
__________________
A good solution is one which does justice to the inner nature of the problem- Cornelius Lanczos in a letter to Albert Einstein on March 9, 1947
flowAlways is offline   Reply With Quote

Old   June 18, 2015, 05:14
Default
  #8
New Member
 
Ali Kadar
Join Date: Oct 2014
Location: Delft
Posts: 25
Rep Power: 12
flowAlways is on a distinguished road
Hello, I have successfully implemented thermal NOx formation using scalarTransportFoam. The results are qualitatively very good when compared to Fluent, however quantitatively they differ by a constant factor. I am not able to understand where I go wrong. Any suggestions ??
__________________
A good solution is one which does justice to the inner nature of the problem- Cornelius Lanczos in a letter to Albert Einstein on March 9, 1947
flowAlways is offline   Reply With Quote

Old   June 3, 2016, 14:39
Default
  #9
Member
 
Arvind Jay
Join Date: Sep 2012
Posts: 97
Rep Power: 15
arvindpj is on a distinguished road
Quote:
Originally Posted by flowAlways View Post
Hello, I have successfully implemented thermal NOx formation using scalarTransportFoam. The results are qualitatively very good when compared to Fluent, however quantitatively they differ by a constant factor. I am not able to understand where I go wrong. Any suggestions ??
@flowAlways: Where you able to fix the bug? Is there a better way to compute the PromtNOx and Thermal NOx?
arvindpj is offline   Reply With Quote

Old   September 11, 2020, 12:35
Default
  #10
Senior Member
 
Reviewer #2
Join Date: Jul 2015
Location: Knoxville, TN
Posts: 141
Rep Power: 11
randolph is on a distinguished road
Quote:
Originally Posted by flowAlways View Post
Hello everyone,

I would like to post-process NOx formation by considering only the global species concentrations for 1-step irreversible methane combustion.

From what I have understood and read I came to the following conclusion.
The formation of thermal NO_x according to the extended Zeldovich mechanism is given by
O + N_2 \rightleftharpoons  N + NO  \quad k_f^1 = 1.8*10^8 e^{-38370/T} \quad  k_b^1 = 3.8*10^7 e^{-425/T} \\

N + O_2 \rightleftharpoons  O + NO \quad  k_f^2 = 1.8*10^4 T e^{-4680/T} \quad  k_b^2 = 3.81*10^3 T e^{-20820/T} \\

N + OH \rightleftharpoons   H + NO \quad  k_f^3 = 7.1*10^7 e^{-450/T} \quad  k_b^3 = 1.7*10^8 e^{-24560/T} \\
with rate constants in m^3/mol-s

The rate of formation of [NO] is then given by
\frac{d[NO]}{dt} \: = \: k_f^1 [O] [N_2] +  k_f^2 [N] [O_2] + k_f^3 [N] [OH] - k_r^1 [NO] [N] - k_r^2 [NO] [O] - k_r^3 [NO] [H]

which under the quasi-steady assumption for [N] can be simplified to
\frac{d[NO]}{dt} \quad = \quad 2 \: k_f^1 \: [O] \: [N_2] \quad  \frac{\left(1-\frac{k_b^1 \: k_b^2 \: {[NO]}^2}{k_f^1 \: [N_2] \: k_f^2  \: [O_2]}\right)}{\left(1+\frac{k_r^1 \: [NO]}{k_f^2 \: [O_2] \: + \:  k_f^3 \: [OH]}\right)} \quad (mol/m^3-s)

with equilibrium concentration of [O] given by [O] = 3.97*10^5 T^{-1/2} e^{-31090/T}\: [O_2]^{1/2} mol/m^3
and the concentration of [OH] is given by [OH] = 2.129*10^2 \:  T^{-0.57} \: e^{-4595/T} \: [O]^{1/2} \: [H_2O]^{1/2} mol/m^3 using partial equilibrium approach.

Therefore, the concentration of [NO] can be obtained by solving the following scalar transport equation with \phi = [NO] and S_{[NO]} = M_{NO} \frac{d[NO]}{dt}
\underbrace{ \frac{\partial{\rho \phi}}{\partial t}}_{Transient \ term} +   \underbrace{ \nabla \cdot (\rho \vec u \phi )}_{Convection \ term}   =\underbrace {\nabla \cdot (\rho D \nabla \phi )}_{Diffusion \ term} +   \underbrace {S_{\phi}}_{Source \ term}\\

So, basically to successfully post-process NOx formation in OpenFOAM we need to solve the scalar transport equation for [NO] with a spatially varying source term which depends upon the concentration of [NO].
Can someone suggest a possible way of doing this. This is a non linear equation and would need to be solved iteratively. I want to implement this in OF but do not know where to start from. Any ideas please ??
Hi,

I ran into similar problems. I post some lesson learned for people like me who was not familiar with the reaction modeling.

An immediate and easy implementation is just using the concentration of [NO] of previous to calculation the source term and then solve the transport equation. If this is how the solver implemented, then the solver may have some potential issue. Typically, I found the reliable solution requires very small time step ~1e-4. This limited by the reaction term.

So here is what is typically done in a spirit of time split scheme to couple the transport and reaction at a different times scales

1. First, solve the nonlinear (can be stiff) ODE of the source/sink term of d[NO]/dt = f (NO). The ODE solves that implemented in OpenFOAM can be used. Notice this step, one may want the ODE to be solved with some accuracy. For low order explicit scheme, most time, it takes large number of time step to solve this ODE within certain accuracy.

2. Once you solve the ODE you will have the concentration at new time [NO]_n+1. Then the sink term can be estimated as ([NO]_n+1 - [NO]_n)/ deltaT. Plug this term into the scalarTransport and solve the transport equation.

3. Iterate above steps.

Note that with time split, the solution should allow a much large time step. However, depends on the problem and treatment of the time split scheme (i.e., order accuracy), one may still need some fair small time step.


A good discussion on the different split schemes can be found in this conference paper https://arc.aiaa.org/doi/10.2514/6.2020-2139

Also, there is very good discussion in another post: Numerical treatment of the source term in combustion equations

Thanks,
Rdf
mactone and linuxguy123 like this.

Last edited by randolph; September 15, 2020 at 14:02. Reason: add reference
randolph 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



All times are GMT -4. The time now is 17:46.