# Radiation Models in General and the P1 implementation

 Register Blogs Members List Search Today's Posts Mark Forums Read April 23, 2019, 05:51 Radiation Models in General and the P1 implementation
#1
Super Moderator

Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,677
Blog Entries: 6
Rep Power: 49   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:  • 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_WRITE,
false
),
4.0*absorptionEmission_->eCont()*physicoChemical::sigma
)
);
}

tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh>>
{
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: and the Ru() function returns: 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): 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:  Analyzing the implemented FOAM equation: 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.

Tobi
Attached Files RadiationOverview.pdf (125.2 KB, 251 views)
__________________
Keep foaming,
Tobias Holzmann   April 23, 2019, 06:55 #2 Senior Member   Join Date: Oct 2013 Posts: 397 Rep Power: 17 Hello, the P1 model is mainly suited for modelling radiation in cases with high optical depth, i.e. , 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 . 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. . 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.   April 23, 2019, 07:10 #3 Super Moderator   Tobias Holzmann Join Date: Oct 2010 Location: Tussenhausen Posts: 2,677 Blog Entries: 6 Rep Power: 49   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   April 23, 2019, 08:08 #4 Senior Member   Join Date: Oct 2013 Posts: 397 Rep Power: 17 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.   April 24, 2019, 08:48 #5 Super Moderator   Tobias Holzmann Join Date: Oct 2010 Location: Tussenhausen Posts: 2,677 Blog Entries: 6 Rep Power: 49   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   June 19, 2019, 07:27 #6 New Member   Amrit Ambirajan Join Date: Jun 2019 Location: Bangalore Posts: 1 Rep Power: 0 The HITRAN database contains data for many molecules (including CO2 and H20). I am trying to figure it out....   September 18, 2019, 08:28 Absorption Coefficient #7 New Member   Punyashlok Panda Join Date: Apr 2019 Posts: 4 Rep Power: 5 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.   September 21, 2021, 06:40 #8 Member   Bushra Rasheed Join Date: Dec 2020 Posts: 97 Rep Power: 4 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!   September 21, 2021, 06:59 #9
Member

Bushra Rasheed
Join Date: Dec 2020
Posts: 97
Rep Power: 4 Quote:
 Originally Posted by chriss85 Hello, the P1 model is mainly suited for modelling radiation in cases with high optical depth, i.e. , 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 . 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. . 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  Thread Tools Search this Thread Show Printable Version Email this Page Search this Thread: Advanced Search Display Modes Linear Mode Switch to Hybrid Mode Switch to Threaded Mode 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 OffTrackbacks are Off Pingbacks are On Refbacks are On Forum Rules

All times are GMT -4. The time now is 01:27.