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

Radiation Models in General and the P1 implementation

Register Blogs Community New Posts Updated Threads Search

Like Tree14Likes
  • 7 Post By Tobi
  • 5 Post By chriss85
  • 1 Post By chriss85
  • 1 Post By Shlok

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 23, 2019, 05:51
Default Radiation Models in General and the P1 implementation
  #1
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,

right now I am investigating more time into the radiation models in OpenFOAM. Thus I have a few comments on the implementation of the P1 model as well as some general questions about the model parameters we can use.

Implementation of the Radiation Term into the Energy Equation
  • The implementation of the radiation source term into the energy equation is done by adding the radiation->Sh() line to the energy equation (see EEqn.H of the heat transfer solvers)
  • This function is calling the Sh() function of the general radiation model class
  • The Sh() function itself returns the following:
Code:
    return
    (
        Ru()
      - fvm::Sp(4.0*Rp()*T3/Cpv, he)
      - Rp()*T3*(T_ - 4.0*he/Cpv)
    );
  • Here we have a numerical stabilization (Sp()-Term) included but at the end, we get the following equation:
Sh() = Ru() - 4 Rp() T^3 \frac{1}{c_p} h - Rp() T^4 + 4 Rp() T^3 \frac{1}{c_p} h

Sh() = Ru() - Rp() T^4
  • The Ru() and Rp() functions are implemented differently in the different radiation models
  • So far so good


The P1-Model

Analyzing the P1-Model, the Ru() and Rp() functions are defined as follows:
Code:
Foam::tmp<Foam::volScalarField> Foam::radiation::P1::Rp() const
{
    return tmp<volScalarField>
    (
        new volScalarField
        (
            IOobject
            (
                "Rp",
                mesh_.time().timeName(),
                mesh_,
                IOobject::NO_READ,
                IOobject::NO_WRITE,
                false
            ),
            4.0*absorptionEmission_->eCont()*physicoChemical::sigma
        )
    );
}


tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>>
Foam::radiation::P1::Ru() const
{
    const volScalarField::Internal& G =
        G_();
    const volScalarField::Internal E =
        absorptionEmission_->ECont()()();
    const volScalarField::Internal a =
        absorptionEmission_->aCont()()();

    return a*G - E;
}

As we can see, the Rp() function returns:

Rp() = 4 e \sigma

and the Ru() function returns:

Ru() = aG - E

While the variables e, a and E represents the emission and absorption coefficient as well as the emission contribution value. All three values are calculated based on the absoptionEmissionModel in use and can be constant or species dependent. However, if we sum up, the Sh() term will return the following (using the P1 model):

Sh() = aG - E - 4e\sigma T^4

Referring to the literature Implementation of the Rosseland and the P1 Radiation Models in the System of Navier-Stokes Equations with the Boundary Element Method (PDF), the source term for constant absorption and extinction coefficients is equal to:

- Sh() = -a (G - 4 \sigma T^4)

which lead to

- Sh() = -aG + 4 a \sigma T^4

Analyzing the implemented FOAM equation:

Sh() = aG - E - 4e\sigma T^4

one can see, that the third term on the right-hand side includes the emission factor rather than the absorption coefficient. The emission contribution E might be zero in the assumption.


Questions
  • Regarding the formulations given above, one question is related to the difference in the emission/absorption coefficient - the paper has the absorption coefficient twice, while the FOAM implementation has the absorption and emission coefficient. A reference would be great here
  • Assuming a constant absorption and emission model, which values do we have to use? E.g., how should we know the coefficients for air as well as the emission contribution value?
  • For the incident radiation field G (P1 Model), we are solving just a Laplace equation. How should we know which scatter model we have to use for different fluids as well as the linear anisotropic phase function


Additionally, I added a summary of the radiation stuff that I was analyzing. The sheets will give some overview of the things I wrote here. Maybe it will help someone. Furthermore, I hope to have a good discussion here.

Thanks in advance,
Tobi
Attached Files
File Type: pdf RadiationOverview.pdf (125.2 KB, 336 views)
thiagopl, Yann, Danubi and 4 others like this.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   April 23, 2019, 06:55
Default
  #2
Senior Member
 
Join Date: Oct 2013
Posts: 397
Rep Power: 19
chriss85 will become famous soon enough
Hello,


the P1 model is mainly suited for modelling radiation in cases with high optical depth, i.e. a*L >> 1, where L is a typical lenght scale and a the absorption coefficient. In this case you don't get "light rays" but rather a kind of diffuse radiation transfer because the radiation is absorbed and emitted on short length scales. In the high absorption limit (Rosseland limit) it's actually possible to write the equations as a steady state heat conduction equation. For optically thin cases the Discrete Ordinate Method or the view factor method (for non participating media) is preferred.



I'm not really sure why OpenFOAM uses a separate emission factor. In radiative equilibrium you have the Kirchhoff Law (https://en.wikipedia.org/wiki/Kirchh...rmal_radiation) which basically states that the absorption and emission coefficient are related by the black body emissive power (The Planck function https://en.wikipedia.org/wiki/Planck%27s_law). So you get \epsilon_\nu = B_\nu(T)\kappa_\nu. However in non equilibrium conditions this may be different. I'm also not too sure about surfaces.


The value of the absorption coefficient is strongly dependent on wavelength, temperature and pressure. The pressure dependence is usually the easiest, you can assume a linear dependence in many cases, e.g. a(p)=a(p_0)\frac{p}{p_0}. Absorption spectra in general can become very complex unfortunately because of many absorption lines. In some cases a band-like behaviour can be used to calculate radiation only in selected wavelength-bands and assuming a constant absorption coefficient per band. In the general case you will want to resolve the radiation spectrally by solving the P1 equation for each sampled wavelength/frequency. This can quickly become unfeasible as simulation times skyrocket. A common approach is to average the absorption spectrum over wavelength bands and solving one equation per band. Depending on the optical thickness different means (Planck for optically thin, Rosseland for optically thick) can be used.


In my case (arc plasma simulation) I calculated theoretical spectra using SPARTAN (http://esther.ist.utl.pt/spartan/). This requires that you know the chemical composition of the fluid you want to calculate absorption spectra of and have the corresponding spectral databases for the species. SPARTAN comes with databases for air and CO2/martian athmospheres.


I had to modify the P1 implementation to allow using of tabular absorption spectra and to be able to spectrally resolve the radiation.



I'm not aware of any best practices for standard conditions but it is also not my field of expertise.


I think that in gases and clear fluids you can usually neglect scattering but if you have particles in the medium you will have to consider scattering. A common example might be combustion processes with soot. I cannot provide any insight here either as it didn't concern me yet.
Tobi, Yann, FDelic and 2 others like this.
chriss85 is offline   Reply With Quote

Old   April 23, 2019, 07:10
Default
  #3
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 Chriss,

first of all, thank you very much for your reply. I highly appreciate your time writing a comment on my questions. So summing up your statements and closing the topic with my fluid problematic:

I have a double walled-pipe in which I have hot gas inside and between the pipes, there is only air. The pipe has a diameter of around 2000 mm and the gap between the two pipes is 10 mm. As you said, the P1 model should not be suited in that case because the optical length scale is very small. I guess, the fvDOM model should be used here instead, right?

However, for normal air, I cannot estimate (or I don´t know how) to estimate the absorption and emission coefficients. If I understand you correctly, you were using the SPARTAN tool to do that, right?

Additionally, as you said and as I am aware of, the absorption and emission are highly dependent on the wavelength and the fluid in use (different species absorb and emit different spectra). Hmm... the question that is still in mind is, how can we calculate the absorption coefficients of any fluid. If it is based on the SPARTAN tool, I will investigate that topic.

Thank you in advance.
Tobi


Emission and Absorption Coefficient in the formulations

Just one remark: I found that e.g., the emission and absorption coefficients for the greyMeanAbsorptionEmission model is identical.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   April 23, 2019, 08:08
Default
  #4
Senior Member
 
Join Date: Oct 2013
Posts: 397
Rep Power: 19
chriss85 will become famous soon enough
The example with the pipes indeed sounds like the Discrete Ordinate or View Factor methods might be suitable.


I don't think there is currently any method to calculate absorption spectra for any species, atleast not in the public domain. If you find one, let me know
It should be possible to enhance the SPARTAN databases by using data on optical lines from NIST but this is going to be quite difficult if you're not familiar with the topic. On the other hand there should be many absorption spectra in the literature that might be usable after some processing.


If you have reacting species you will also need to determine the species concentration in dependence of temperature and pressure, or maybe even dynamically if you are not in equilibrium conditions. This is also a separate topic that can get quite extensive. For air properties I can recommend this paper: https://link.springer.com/article/10.../e2007-00305-4
Tobi likes this.
chriss85 is offline   Reply With Quote

Old   April 24, 2019, 08:48
Default
  #5
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 Chriss,

thanks again for the reply. So if you use the P1 model for radiation in a room (lets say you have a heater at 60 °C). How would you set the absorption and emission coefficients for the fluid (air)?

Kind regards,
Tobi
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   June 19, 2019, 07:27
Default
  #6
New Member
 
Amrit Ambirajan
Join Date: Jun 2019
Location: Bangalore
Posts: 1
Rep Power: 0
ambi is on a distinguished road
The HITRAN database contains data for many molecules (including CO2 and H20). I am trying to figure it out....
ambi is offline   Reply With Quote

Old   September 18, 2019, 08:28
Default Absorption Coefficient
  #7
New Member
 
Punyashlok Panda
Join Date: Apr 2019
Posts: 4
Rep Power: 7
Shlok is on a distinguished road
Hello All,
I am working on a fire simulation on firefoam. May anyone tell where do I get the absorption coefficients for any element. Specifically I want radiation for soot which is not considered in openfoam itself, so I am trying to give the carbon as a gas and provide the radiation properties for it.





Thank you.
B_R_Khan likes this.
Shlok is offline   Reply With Quote

Old   September 21, 2021, 06:40
Default
  #8
Member
 
Bushra Rasheed
Join Date: Dec 2020
Posts: 97
Rep Power: 5
B_R_Khan is on a distinguished road
Hello!

I want to be able to see variation of intensity with wavelength. FvDOM calculates intensity of rays in particular direction only. Any tips on how to obtain variation of intensity with wavelength graph using fvDOM or any other radiation model?

Thanks!
B_R_Khan is offline   Reply With Quote

Old   September 21, 2021, 06:59
Default
  #9
Member
 
Bushra Rasheed
Join Date: Dec 2020
Posts: 97
Rep Power: 5
B_R_Khan is on a distinguished road
Quote:
Originally Posted by chriss85 View Post
Hello,


the P1 model is mainly suited for modelling radiation in cases with high optical depth, i.e. a*L >> 1, where L is a typical lenght scale and a the absorption coefficient. In this case you don't get "light rays" but rather a kind of diffuse radiation transfer because the radiation is absorbed and emitted on short length scales. In the high absorption limit (Rosseland limit) it's actually possible to write the equations as a steady state heat conduction equation. For optically thin cases the Discrete Ordinate Method or the view factor method (for non participating media) is preferred.



I'm not really sure why OpenFOAM uses a separate emission factor. In radiative equilibrium you have the Kirchhoff Law (https://en.wikipedia.org/wiki/Kirchh...rmal_radiation) which basically states that the absorption and emission coefficient are related by the black body emissive power (The Planck function https://en.wikipedia.org/wiki/Planck%27s_law). So you get \epsilon_\nu = B_\nu(T)\kappa_\nu. However in non equilibrium conditions this may be different. I'm also not too sure about surfaces.


The value of the absorption coefficient is strongly dependent on wavelength, temperature and pressure. The pressure dependence is usually the easiest, you can assume a linear dependence in many cases, e.g. a(p)=a(p_0)\frac{p}{p_0}. Absorption spectra in general can become very complex unfortunately because of many absorption lines. In some cases a band-like behaviour can be used to calculate radiation only in selected wavelength-bands and assuming a constant absorption coefficient per band. In the general case you will want to resolve the radiation spectrally by solving the P1 equation for each sampled wavelength/frequency. This can quickly become unfeasible as simulation times skyrocket. A common approach is to average the absorption spectrum over wavelength bands and solving one equation per band. Depending on the optical thickness different means (Planck for optically thin, Rosseland for optically thick) can be used.


In my case (arc plasma simulation) I calculated theoretical spectra using SPARTAN (http://esther.ist.utl.pt/spartan/). This requires that you know the chemical composition of the fluid you want to calculate absorption spectra of and have the corresponding spectral databases for the species. SPARTAN comes with databases for air and CO2/martian athmospheres.


I had to modify the P1 implementation to allow using of tabular absorption spectra and to be able to spectrally resolve the radiation.



I'm not aware of any best practices for standard conditions but it is also not my field of expertise.


I think that in gases and clear fluids you can usually neglect scattering but if you have particles in the medium you will have to consider scattering. A common example might be combustion processes with soot. I cannot provide any insight here either as it didn't concern me yet.
Can you please tell a little about how to calculate radiations in a specific wavelength range using fvDOM?

Thanks
B_R_Khan 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 22:28.