CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > CFX

Wavelength dependent Radiation properties

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 25, 2014, 15:47
Default Wavelength dependent Radiation properties
  #1
New Member
 
HH
Join Date: Apr 2014
Posts: 12
Rep Power: 11
hrsq is on a distinguished road
Hi members,
I am doing a multi-band radiation simulation of Photovoltaic cells using CFX. I am using Monte Carlo model and I have two bands in my problem. I was wondering how I can get the radiation heat flux on a specific surface in the computational domain as a function of wavelength/frequency. I need to have the wavelength dependent heat flux so I can multiply that with some wavelength dependent parameter to obtain current in the PV cell simulation.
Thank you
hrsq is offline   Reply With Quote

Old   May 12, 2014, 22:25
Default
  #2
New Member
 
HH
Join Date: Apr 2014
Posts: 12
Rep Power: 11
hrsq is on a distinguished road
Any answer?
hrsq is offline   Reply With Quote

Old   May 13, 2014, 15:49
Default
  #3
Senior Member
 
Join Date: Jun 2009
Posts: 1,803
Rep Power: 32
Opaque will become famous soon enough
Have you looked at the variables available in the results file for a non-Gray spectral model ? You should look for "MySpectralBand 1".Wall Emitted Radiation Flux, and "MySpectralBand 1".Wall Absorbed Radiation Flux, where MySpectralBand 1 name refers to the name of the spectral bands you have created.

If you find those variables, you can try using CEL expressions using such names in your calculations. Recall that

Code:
MySpectralBand 1.Wall Radiative Heat Flux = MySpectralBand 1.Wall Emitted Radiation Flux - MySpectralBand 1.Wall Absorbed Radiation Flux
If the ANSYS CFX Solver returns an error that such variables are not available for CEL expressions, you may need to use the USER_GETVAR User Fortran utility to access them.

Hope the above helps,
Opaque is offline   Reply With Quote

Old   May 13, 2014, 18:49
Default
  #4
New Member
 
HH
Join Date: Apr 2014
Posts: 12
Rep Power: 11
hrsq is on a distinguished road
Thank you very much for your answer. Actually, I don't know where the result files will be saved by CFX. In the CFD post, there is not option for wavelength dependent heat flux. Could you please what you mean by result file?
Thank you
hrsq is offline   Reply With Quote

Old   May 14, 2014, 14:42
Default
  #5
Senior Member
 
Join Date: Jun 2009
Posts: 1,803
Rep Power: 32
Opaque will become famous soon enough
Have you run any simple calculation using wavelength dependent properties yet ? For example, modify any of the tutorial (Combustion, or Heat and Ventilation) that uses radiation to use wavelength radiation properties, and go from there.

In CFD-Post, look into the Variable tab and see what variables have been computed in the simulation.
Opaque is offline   Reply With Quote

Old   May 14, 2014, 17:30
Default
  #6
New Member
 
HH
Join Date: Apr 2014
Posts: 12
Rep Power: 11
hrsq is on a distinguished road
Yes, I ran many simulations using monte carlo method but there is no wavelength dependent radiation properties in CFD-post. I want heat flux as a function of wavelength not the total heat flux in a specific band.
hrsq is offline   Reply With Quote

Old   May 15, 2014, 13:30
Default
  #7
Senior Member
 
Join Date: Jun 2009
Posts: 1,803
Rep Power: 32
Opaque will become famous soon enough
You mean there are no wavelength dependent variables in the results file. What version of the software are you using.

The minimum wavelength dependent variables you should see include:

Code:
Band Name.Absorption Coefficient
Band Name.Incident Radiation
Band Name.Radiation Intensity
Band Name.Scattering Coefficient
Band Name.Volumetric Absorbed Radiation
Band Name.Volumetric Emitted Radiation
Band Name.Wall Irradiation Flux
If you do not see those in your previous runs, you are either using an older version of the software, or the spectral model is not setup correctly. Perhaps you should post the CCL section under SPECTRAL MODEL for a given domain. I have the following with success

Code:
        SPECTRAL MODEL :
          Option = Multiband
          SPECTRAL BAND : UV
            Option = Wavelength in Vacuum
            Wavelength Lower Limit = 0.01 [micron]
            Wavelength Upper Limit = 0.4  [micron]
          END
          SPECTRAL BAND : Visible
            Option = Wavelength in Vacuum
            Wavelength Lower Limit = 0.4 [micron]
            Wavelength Upper Limit = 0.7 [micron]
          END
          SPECTRAL BAND : Thermal
            Option = Wavelength in Vacuum
            Wavelength Lower Limit = 0.7 [micron]
            Wavelength Upper Limit = 100. [micron]
          END
          SPECTRAL BAND : Microwave
            Option = Wavelength in Vacuum
             Wavelength Lower Limit = 100   [micron]
            Wavelength Upper Limit = 1.E10 [micron]
          END
        END
The following variables can be accessed via User Fortran as I explained earlier

Code:
Band Name.Wall Emitted Radiation Flux
Band Name.Wall Absorbed Radiation Flux
To access them via CEL, you should contact ANSYS support for the proper advice on how to customize/configure the software.
Opaque is offline   Reply With Quote

Old   May 15, 2014, 17:29
Default
  #8
New Member
 
HH
Join Date: Apr 2014
Posts: 12
Rep Power: 11
hrsq is on a distinguished road
Dear Opaque,
I really appreciate for taking the time and responding me. You are right. Like I said, I have all of those parameter in the CFD-post. They are integrated version of each parameter over different region of spectrum. They are just a value not function of wave length. For example in the example your mentioned for Spectral Band of "UV" the range of wavelength is from 0.01 to 0.4 micron and all of the variables in the CFD Post are integrated over this spectrum so the result is just a number. But I want to find for example heat flux on a specific wall as a function of wave length q = f(wavelength) because I am going to multiply this function by some other wavelength parameters to obtain Voltage and current.
hrsq is offline   Reply With Quote

Old   May 16, 2014, 20:12
Default
  #9
Senior Member
 
Join Date: Jun 2009
Posts: 1,803
Rep Power: 32
Opaque will become famous soon enough
I am not sure exactly what you are trying to achieve from the spectral calculations, but before jumping into using any of those quantities it is better to understand how they were obtained and what they represent.

A general radiation problem is 7-dimensional (x,y,z,t,phi,theta,frequency). When solving the problem numerically, we are sub-dividing every dimension into finite intervals: mesh, time step, angular directions, and finally "spectral interval".

Within each sub-division, a variation of the variable along such dimension is assumed, for example linear variation. Then, the equations are represented on the discrete intervals and a solution is obtained.

For the frequency (wavelength, or wavenumber), the spectrum is discretized into bands (just a name) and the solution is assumed to be represented by a mean value within the band (let say at the center of the "spectral element") . Mathematically, a crude representation of such variation can be a summation of step functions, lets say

Variable (frequency) = Sum ( Variable (band) * step (band) )

where step(band) = 0 if frequency is outside the band, =1 if frequency in the band. I think this is the function you are looking for. You may want to interpolate differently, but I could not justify it without understanding the end goal.

Of course, if you are only using 2 bands, the solution is step-wise. For a more detailed variation, you must discretize the spectrum with smaller band (frequency refinement). Keep in mind that the computation effort increases very quickly if you too many bands. Then, you can reconstruct the function by creating a CEL expression using the step function.

There is nothing else behind the solution algorithm. Using the above as context, you must now formulate how those quantities for each band can be introduced into your additional model.

Hope the above helps,
Opaque is offline   Reply With Quote

Old   May 18, 2014, 10:13
Default
  #10
New Member
 
HH
Join Date: Apr 2014
Posts: 12
Rep Power: 11
hrsq is on a distinguished road
Dear Opaque,
I really thank you for your clarification. I found the answer of my question with you clear explanation.
Thank you very much
hrsq is offline   Reply With Quote

Old   April 10, 2016, 06:31
Default
  #11
New Member
 
NN
Join Date: Apr 2016
Posts: 3
Rep Power: 10
transparent is on a distinguished road
Dear Opaque,

I have a short follow up question to your very informative post! I'm trying to get the Wall Absorbed Radiation Flux for a specific frequency band (Multiband model) using USER_GETVAR, however, I don't quite seem to catch the right variable and always get a segmentation error. So far I've tried your suggestion with 'Band Name.Wall Absorbed Radiation Flux' and quite a lot of other combinations but nothing seems to be working. My code is the following:

CALL USER_GETVAR ('SB2.Wall Absorbed Radiation Flux', CRESLT, pGRAD_PHI,
& CZ,DZ,IZ,LZ,RZ)

I'm new to the entire User Fortran functions so there could me a mistake there as well, however, variables like density work flawlessly by Ar.Density. Any ideas what my mistake is?

Thank you for your help!


PS (in case this makes explaining easier):
My Domain: Fluid
Fluid name: Ar
Boundary I'm interested in: Top
transparent is offline   Reply With Quote

Old   April 11, 2016, 15:12
Default
  #12
Senior Member
 
Join Date: Jun 2009
Posts: 1,803
Rep Power: 32
Opaque will become famous soon enough
The USER_GETVAR called has failed for some reason encoded in the CRESLT argument.

After every call of USER_GETVAR, you should check for return code and verify it is GOOD. If GOOD, you can continue with your program; otherwise, the argument pGRAD_PHI (I would have name pABSFLX or similar) will be undefined and you will get a segmentation violation. The list of possible return codes are listed in the documentation.

Perhaps the fluid name should also be prefixed to the name. That is, Fluid.SB2.Wall Absorbed Radiation Flux. My apologies if that is the source of your problems.

Hope the above helps,
Opaque is offline   Reply With Quote

Old   April 12, 2016, 02:54
Default
  #13
New Member
 
NN
Join Date: Apr 2016
Posts: 3
Rep Power: 10
transparent is on a distinguished road
Dear Opaque,

thank you for the answer! Unfortunately I don't think any of those are the reason for it not working.. Concerning the check of CRESLT, I've coded the following:

C Initialise success flag.
CRESLT = 'GOOD'
CALL USER_GETVAR ('Ar.SB2.Radiation Intensity', CRESLT, pGRAD_PHI,
& CZ,DZ,IZ,LZ,RZ)
IF (CRESLT .NE. 'GOOD') GO TO 999
999 CONTINUE
C
C Send any diagnostics or stop requests via master processor
IF (CRESLT .NE. 'GOOD') THEN
CALL MESAGE( 'BUFF', 'USER_SOURCE2 returned error:' )
CALL MESAGE( 'BUFF', CRESLT )
CALL MESAGE( 'BUFF-OUT', ' ' )
END IF

Which seems to be working fine (at least I have gotten some error before)... Or what do you think?

Concerning the variable name I've tried the following without luck:
SB2.Wall Absorbed Radiation Flux
Ar. SB2.Wall Absorbed Radiation Flux
SB2.Wall Irradiation Flux
SB2.irrad
Top.SB2.Wall Absorbed Radiation Flux
Fluid.SB2.Wall Absorbed Radiation Flux
Ar.Wall Absorbed Radiation Flux(SB2)
Wall Absorbed Radiation Flux
Ar.Wall Absorbed Radiation Flux
Wall Absorbed Radiation Flux.Boundcon
Ar.SB2.Wall Irradiation Flux
Ar.Wall Irradiation Flux.SB2
Ar.Wall Irradiation Flux(SB2)


The following, however, are working (but unfortunately not enough information):
Ar.SB2.Radiation Intensity



Which are interestingly enough the ones that are mentioned at the end of the out-file.... Any suggestions what I could do different to access that variable (Wall Absorbed Radiation Flux)? I'm running a little out of ideas..

Last edited by transparent; April 12, 2016 at 10:55.
transparent is offline   Reply With Quote

Old   April 12, 2016, 11:23
Default
  #14
Senior Member
 
Join Date: Jun 2009
Posts: 1,803
Rep Power: 32
Opaque will become famous soon enough
Could you post what CRESLT value you are getting when the failure occurs ?
Opaque is offline   Reply With Quote

Old   April 12, 2016, 12:13
Default
  #15
New Member
 
NN
Join Date: Apr 2016
Posts: 3
Rep Power: 10
transparent is on a distinguished road
Interestingly enough, for some reason I'm unable to output the CRESLT value before the error occurs.. I've been trying to use the following in the function:

C
CALL USER_GETVAR ('Ar.SB2.Wall Absorbed Radiation Flux', CRESLT, WARF,
& CZ,DZ,IZ,LZ,RZ)
IF (CRESLT .NE. 'GOOD') GO TO 999
CALL MESAGE( 'BUFF', 'USER_SOURCE2 returned CRESLT:' )
CALL MESAGE( 'BUFF', CRESLT )
CALL MESAGE( 'BUFF-OUT', ' ' )
C
RET = RZ(WARF)
C
999 CONTINUE
C
C Send any diagnostics or stop requests via master processor
IF (CRESLT .NE. 'GOOD') THEN
CALL MESAGE( 'BUFF', 'USER_SOURCE2 returned error:' )
CALL MESAGE( 'BUFF', CRESLT )
CALL MESAGE( 'BUFF-OUT', ' ' )
END IF
C


and the error I'm getting then is:

================================================== ====================
OUTER LOOP ITERATION = 1 CPU SECONDS = 5.300E-01
----------------------------------------------------------------------
| Equation | Rate | RMS Res | Max Res | Linear Solution |
+----------------------+------+---------+---------+------------------+
| U-Mom | 0.00 | 0.0E+00 | 0.0E+00 | 0.0E+00 OK|
| V-Mom | 0.00 | 1.4E+00 | 1.5E+00 | 9.6E-06 OK|
| W-Mom | 0.00 | 0.0E+00 | 0.0E+00 | 0.0E+00 OK|
| P-Mass | 0.00 | 9.2E-10 | 2.7E-09 | 41.9 2.4E+03 F |
+----------------------+------+---------+---------+------------------+
| I-Radiation | #Its | Vol Chg | Sur Chg | %Lost %Imbal |
| Band-1 | 1 | 0.0E+00 | 0.0E+00 | |
| Band-2 | 1 | 0.0E+00 | 0.0E+00 | |
| Band-3 | 1 | 0.0E+00 | 0.0E+00 | 0.00 6.67 |
+----------------------+------+---------+---------+------------------+

+--------------------------------------------------------------------+
| ERROR #001100279 has occurred in subroutine ErrAction. |
| Message: |
| Signal caught: Segmentation violation |
| |
| |
| |
| |
| |
+--------------------------------------------------------------------+

+--------------------------------------------------------------------+
| ERROR #001100279 has occurred in subroutine ErrAction. |
| Message: |
| Stopped in routine FPX: SIG_HANDLER |
| |
| |
| |
| |
| |
+--------------------------------------------------------------------+

+--------------------------------------------------------------------+
| An error has occurred in cfx5solve: |
| |
| The ANSYS CFX solver exited with return code 1. No results file |
| has been created. |
+--------------------------------------------------------------------+



I'm not quite sure why the CRESLT value isn't shown...
transparent 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
Temperature dependent material properties stuart230588 CFX 1 November 21, 2013 16:36
Radiation Properties of MultiComponents Cosme CFX 3 May 27, 2013 11:35
Temperature Dependent Fluid Properties eliwide OpenFOAM Running, Solving & CFD 4 December 15, 2012 19:21
Modeling both radiation and convection on surfaces - Ansys Transient Thermal R13 s.mishra ANSYS 0 March 31, 2012 04:12
FIDAP and temp dependent mat properties PLS HELP!! SEMETAY FLUENT 1 July 14, 2006 02:04


All times are GMT -4. The time now is 02:43.