Вы находитесь на странице: 1из 100

PARTICLE SWARM OPTIMIZATION AND THE

EMISSION-ABSORPTION METHOD:
DETERMINATION OF TEMPERATURE
by
BILLY JOE SHORT
JOHN BAKER, COMMITTEE CHAIR
CLARK MIDKIFF, JR.
PAUL S. RAY

A THESIS

Submitted in partial fulfillment of the requirements


for the degree of Master of Sciences
in the Department of Mechanical Engineering
in the Graduate School of
The University of Alabama

TUSCALOOSA, ALABAMA

2013

Copyright Billy Joe Short 2013


ALL RIGHTS RESERVED

ABSTRACT

Particle swarm optimization (PSO) along with the infrared emission-absorption


(E/A) method has been used to solve the inverse thermal radiation problem of retrieving
an unknown temperature profile of combustion products from intensity measurements.
The particle swarm optimization solves the inverse radiation problem by randomly
generating a population of temperatures that are then each used to calculate intensity. An
objective function that depends on the difference between the measured and calculated
intensities is then defined. This function is the basis for determination of a personal best
value for each particle of the swarm, as well as a global best value for the entire swarm.
The program then runs for a predetermined number of iterations. If the final global best
value is not acceptable, the number of iterations is increased.
Particle swarm optimization is an optimization technique inspired by the observed
relationships between individuals and the swarm in flocking animals such as birds, fish,
and various insects. Just as flocks use information from individuals to find the best food
sources or nesting grounds for the entire group, particle swarm optimization uses
information from each solution to find the best solution to the objective function.
Validation of the particle swarm E/A method is obtained by generating the temperature
profile from known intensity values of a non-isothermal layer of carbon dioxide gas.
Temperatures generated in this way were found to vary from measured values by less
ii

than 4 percent. When uncertainty is added, calculated temperatures vary from measured
values by less than 9 percent. Although particle swarm optimization has been applied to
inverse radiation problems in the past to obtain radiative properties of a system, it has not
been used to retrieve the temperature profile from intensity measurements.

iii

DEDICATION
This thesis is dedicated to my parents Eddie and Linda Short, whose constant
support and occasional jokes allowed me to finish this thesis. Without them, I would
never have finished this thesis. For listening to my rants about creating the wrong four
thousand item table and other such mistakes and cracking jokes about it, I would also like
to dedicate this to my friends Morgan Minton, Lucas Shipley, and Logan Fillers. They
helped keep me sane while dealing with the nuances of Matlab and programming in
general.

iv

NOMENCLATURE

l/d

Line density

STP

Standard temperature and pressure (273 K and 1 atm)


Physical pathlength
STP- corrected pathlength

Intensity

Absorption coefficient

Number of zones

Dummy variable

pi

Partial pressure of species i

Total length of gas column

Molecular weight

Pressure

Temperature

Optical Depth

Greek Symbols

Wavenumber

Factor for temperature correction of half-width

Absorption coefficient

Scattering coefficient

Transmissivity

Half-width parameter

Extinction coefficient

Subscripts/ Superscripts
*

Weak line limit

Wavelength

Wavenumber

Blackbody

Collision broadened

Radiating component under study

Other components in the sample

Doppler broadened

vi

ACKNOWLEDGMENTS
I would like to take this opportunity to sincerely acknowledge Dr. John Baker, Dr.
Clark Midkiff, and Dr. Paul S. Ray for consenting to serve on my thesis committee. Dr.
Baker in particular has been instrumental in tracking down several papers I could not
obtain on my own, as well as giving invaluable encouragement and recommendations
throughout the project.

vii

CONTENTS

ABSTRACT .................................................................................................. ii
DEDICATION.............................................................................................. iv
NOMENCLATURE ...................................................................................... v
ACKNOWLEDGEMENTS ........................................................................ vii
LIST OF TABLES......................................................................................... x
LIST OF FIGURES ...................................................................................... xi
1. INTRODUCTION ..................................................................................... 1
1.1 Background .............................................................................................. 1
1.2 Motivation ............................................................................................... 4
1.3 Outline of the thesis ................................................................................. 4
2. LITERATURE REVIEW .......................................................................... 6
2.1 The inverse radiation problem ................................................................. 6
2.2 Swarm intelligence ................................................................................ 10
3. PARTICLE SWARM OPTIMIZATION ................................................ 14
3.1 Introduction ........................................................................................... 14
3.2 Programming strategy............................................................................ 17

viii

4. FORMULATION .................................................................................... 19
4.1 Emission-Absorption method ................................................................ 19
4.2 Particle Swarm algorithm ...................................................................... 24
5. VALIDATION ........................................................................................ 27
6. RESULTS & DISCUSSION ................................................................... 29
6.1 Population size ....................................................................................... 29
6.2 Number of iterations .............................................................................. 32
6.3 Absorption coefficient ........................................................................... 34
6.4 Line density ........................................................................................... 36
6.5 Temperature retrieval ............................................................................ 38
6.6 Uncertainty analysis .............................................................................. 44
7. CONCLUSIONS ..................................................................................... 50
REFERENCES ............................................................................................ 52
APPENDIX A:Matlab Particle Swarm Optimization Code ........................ 58
APPENDIX B: Matlab Radiation Code ...................................................... 61
APPENDIX C: Matlab Constants Code ...................................................... 75

ix

LIST OF TABLES

5.1 Performance of PSO on benchmark test functions ................................ 28

LIST OF FIGURES

3.1 Basic steps of Particle Swarm Algorithm ......................................................... 16


6.1 Change in error scale as population size increases ........................................... 31
6.2 Change in error as the number of iterations is increased ................................. 33
6.3 Absorption coefficient versus temperature and wavenumber .......................... 35
6.4 Line density versus temperature and wavenumber .......................................... 37
6.5 Comparison of original and calculated temperature for = 3450 cm-1 ........... 39
6.6 Comparison of original and calculated temperature for = 3500 cm-1 .......... 41
6.7 Comparison of original and calculated temperature for = 3600 cm-1 .......... 43
6.8 Experimental intensity data digitized from Simmons et al. ............................ 46
6.9 Actual, calculated, and uncertainty added temperatures .................................. 48

xi

CHAPTER 1
INTRODUCTION

1.1 Background
Introduced in the mid-1990s, particle swarm optimization (PSO) utilizes natural laws
obeyed by schools of fish and flocks of birds to search for the solution of a given
problem. Just like its natural counterparts, PSO finds the solution by having each member
of the swarm occupy the position that optimizes the entire swarm [1]. Since its
introduction, PSO has been utilized to solve variants of the inverse conduction [2],
inverse convection [3], and inverse radiation [4][5] problems. Although it has proven to
be a robust optimization technique, it has one significant drawback. In its original form,
the PSO technique tends to converge at local maxima instead of global maxima. Several
variants of the original PSO technique have been introduced in order to combat this
limitation.
The basic PSO technique uses four main variables in determining a solution: member
position, global position, a random increment for changing a members position with
each iteration of the PSO algorithm, and a random increment for moving the global
position of the swarm toward convergence. Each member is given an initial position, and
the swarm is given a global best position which corresponds to the convergence criteria
set by the researcher. Each member solution is mathematically directed to find its optimal
1

position while also optimizing the position of the swarm. The position for each solution is
then adjusted by altering its movement increment in the solution search space, termed
particle velocity, by a random increment to force it to move towards both its personal best
position and the global best position of the swarm. The new positions of the swarms
members are then evaluated and the best positions are adjusted accordingly. It was
discovered that large differences between the increments for changing member position
and global position either caused convergence at local maxima instead of global maxima
or excessive wandering by individual members of the swarm [1].
Infrared analysis of exhaust gases has been used by scientists for several decades to
retrieve physical properties of the gas and to better understand the combustion process.
The inverse radiation problem is used because direct measurement of exhaust streams,
especially in rockets, is very expensive or even impossible as a result of the high
temperatures experienced by the measuring devices. Also, an extensive amount of data on
the spectral radiative properties of many exhaust species is readily available [6][7][8].
Due to the highly nonlinear nature of the radiative transfer equation, however, this
analysis often is very complex. One technique that simplifies this analysis is the infrared
emission-absorption (E/A) method. It was based on the Planck and Kirchhoff radiation
laws and applied only to uniform gases [9]. It was later modified by Brewer and
Limbaugh [10] to account for non-uniform gases. The E/A method couples the band
model formulation and a geometric model to spatially invert the radiative transfer
problem for temperature [11].

Band models are used to obtain the absorption coefficient and the equivalent width
[9]. Lorentz, Doppler, and Voigt profiles are sufficient for simple cases of diatomic
molecules. Both linear and diatomic molecules are adequately described by the Elsasser
model [12]. When polyatomic molecules are present, these simple models are no longer
sufficient and a statistical model must be used. In this situation, the absorption coefficient
depends on the line width which in turn depends on line broadening. The internal energy
of a gas that is not ionized or dissociated is in discrete energy states of its atoms or
molecules. Therefore, only photons of certain energy corresponding to a single
wavenumber can be absorbed, which in turn causes dark lines, termed absorption lines, in
the transmission spectrum. Line broadening is the expansion of the absorption lines from
a single wavenumber to a finite interval of wavenumbers [13]. This broadening can be
either collisional or Doppler. When neither collisional nor Doppler broadening is
dominant, a combination of the Doppler and Lorentzian growth curves is used [13]. To
use a band model, the gas in the path must be homogeneous in temperature and /or
pressure of the absorbing species [12]. If this is not the case, an approach called the
Curtis-Goodson approximation is used to replace an inhomogeneous path with an
equivalent path that has the same transmittance over the band pass of interest [14][15].
The band model thus provides a pair of coupled nonlinear equations relating temperature
and partial pressure of a species to the radiance of a hot gas slab [12].

1.2 Motivation
The E/A method entails multiple nonlinear equations. Between 2000 and 2010,
genetic algorithms were seemingly the preferred optimization technique for solving the
inverse radiation problem [11][16][17]. Although genetic algorithms are a very robust
and reliable technique, they require complex adjustments to each potential solution in
order to achieve convergence. In the last five years, particle swarm optimization has been
introduced as an alternative to genetic algorithms for solving the radiative transfer
problem because very simple solution adjustments are sufficient to utilize the technique
[18].
Although the PSO technique has been applied to the inverse radiation problem, it is
most often used to determine physical properties of the gas such as optical thickness and
scattering albedo [4], or the emissivity, absorption and scattering coefficients of the
media [5]. However, to date, the PSO technique has not been used to retrieve the
temperature profile from known intensity measurements.

1.3 Outline of the thesis


Thus the focus of this thesis is the validation of the PSO technique in determining
temperature profiles from intensity measurements. This thesis is divided into seven
chapters. A literature review covering the basic concepts of swarm intelligence and a
summary of previous work regarding the E/A method and swarm intelligence can be
found in Chapter II. Chapter III provides detailed information on Particle Swarm
Optimization. The governing equations and numerical formulation are presented in
4

Chapter IV. Chapter V explains the validation of the E/A method and the PSO algorithm.
Validation of the PSO algorithm is completed by performing ten benchmark test
functions. The results of this study are found in Chapter VI. The results of the PSO-E/A
method temperature retrieval will be compared to results obtained by Ludwig, et al. [19].
Conclusions from the study are listed in Chapter VII.

CHAPTER 2
LITERATURE REVIEW

2.1 The Inverse Radiation Problem


Researchers and scientists use the infrared emission of gases to infer the physical
properties of the combustion gas. This is in part because two of the main products of
combustion, carbon dioxide and water vapor, were found to be significant absorbers and
emitters of radiant energy [13]. A thorough knowledge of radiation intensity,
temperature, and physical properties of the medium are required to solve a radiation
problem. Radiation intensity is defined as the radiant energy passing through an area per
unit time, per unit projected area, per solid angle [13]. Spectral intensity refers to the
intensity per unit wavelength. Emission increases intensity along a line of sight path.
Absorption and scattering decrease intensity along the same line of sight path. The effects
of absorption and scattering are combined in a single physical property of the medium
called the spectral extinction coefficient.
While the fundamentally correct method of solving the radiative problem is using
a line-by-line method that accounts for every spectral line in the band, it was clear that
this method is very inefficient when large spectral bands or complex polyatomic
molecules are being studied. Although this method gives very accurate results, the
computing resources needed are prohibitive because every spectral line in the band had to
6

be accounted for in the calculations. This led to the formation of band models in the
early 1950s. Band models describe the line structure over a spectral interval and eliminate
the need for line-by-line calculations. The two main types of band models are narrowband models which cover only a portion of a complete vibration-rotation band, and wideband models which cover the entire vibration-rotation band [13]. While the regular band
is the simplest band model, it is ineffective and insufficient in analyzing complex
molecular spectra. It was also very difficult to separate a single spectral line for analysis
[9]. This led to the creation of random and statistical band models to describe polyatomic
molecules. For the random band model, each spectral line is assumed to be of similar
shape while the strength of each line is varied according to some probability function
[20]. The statistical band model assumes that the placement of spectral lines can be
modeled by a random arrangement of equal width lines while the strength of each line
can be modeled by a continuous distribution function [21]. The results of several
correlations of total band absorptance were investigated by Tiwari [12]. Another popular
model is the spectral line weighted-sum-of-gray-gases (SLW) model. It uses the local
absorption coefficient as the basic radiative parameter and is compatible with any
solution method of the radiative transfer equation [22]. However, when multiple gases are
present, the model is faced with serious limitations because current methods of spectral
integration, become even more complicated and prohibitive [23].
Many different techniques have been utilized to determine the temperature profile
of a radiating gas. An iterative procedure using line-of-sight spectral measurements to
determine the temperature profile was shown to be sufficiently accurate by Krakow [24].
7

Intensity and transmissivity measurements from an axisymmetric free flame were used by
Liu and Jiang [25] to retrieve the temperature profile. The absorption coefficient profile
generated from transmissivity data was used in conjunction with the emission data to
generate the temperature profile. By scanning a gas at various angles, Chen and Goulard
[26] were able to use an onion peeling technique to retrieve the temperature profile.
However, data smoothing is essential for this method to be successful. Temperature
profile and water vapor concentration in non-uniform combustion gases was determined
by Brewer et al. [10]. A Curtis-Godson modified Krakow formulation using the random
band model with constant line widths and a delta function line strength distribution was
used in the study by Brewer. The technique was then validated by experimental data from
a hydrogen-air burner. Sakami and Lallemand [27] studied the problem of absorption
and temperature profile retrieval of an inhomogeneous media by the use of an inverse
Radon transform of monochromatic transmission data. This necessitates the use of an
inversion technique such as the Abel equation or the Backus-Gilbert formalism [28]. The
use of inversion requires that the data be preconditioned by a method similar to the one
proposed by Dond and Kearney [29] to account for noise and errors in the data.
Numerical method solutions of Abel-type integrals were studied by Murio and Mejia
[30]. Cremers and Birkebak [31] proposed a method of segmenting the data and applying
a least-squares polynomial fit that allows the Abel integral equation to be integrated
exactly for the emission coefficient. The accuracy of Abel inversion based on emissionabsorption data errors was studied by Blair [32]. A nonlinear least-squares fit of
rovibrational lines was used by Gross et al [33] to retrieve the temperature profile from
8

absorption spectra data taken with a Fourier transform infrared spectrometer. The effects
of data resolution on temperature profile retrieval were studied by Soufiani et al. [34].
The Emission-Absorption (E/A) method is an inverse approach that utilizes band
model formulations. The E/A method couples the band model formulation and a
geometric model to spatially invert the radiative transfer problem for temperature profile
retrieval [9]. Local values of temperature are determined from radiance measurements on
axisymmetric gas flows. The E/A method linearizes the original nonlinear solution
equations of the radiative transfer problem for an emitting-absorbing source. This
technique applies statistical band model theory and approximates the nonhomogeneous
gas by a series of homogeneous zones.
Both the direct and inverse approaches were analyzed by Mijovic and Vuceljic
[35] while solving the inverse problem of obtaining the real profile of spectral lines. It
was observed that the inverse approach required lesser theoretical knowledge than the
direct approach. Using an equation written in terms of Legendre polynomials solved by a
discrete-ordinates method, Siewart [36] provided the solution to the inverse radiation
problem for a plane-parallel medium. Silva Neto and Ozisik [37] also proved the
robustness of the inverse approach by giving accurate results to the more complex case of
simultaneous determination of optical thickness, single scattering albedo, and phase
function in a plane-parallel medium. The adaption of the infrared band method for shock
and detonation waves by Penzial et al. [38] was later modified by Lapworth et al. [39] to
retrieve very accurate temperature profiles when using the 4.7 m fundamental band of
carbon monoxide. Edwards et al. [40] were able to obtain temperatures up to 4000K with
9

an estimated error less than three percent from oxyhydrogen and oxyhydrocarbon
detonation waves. Liu and Li [41] were able to develop an iteration technique to retrieve
an accurate temperature profile amidst noisy data in a turbulent axisymmetric sooting free
flame from intensity and transmissivity measurements. Liu et al. [42] were able to
retrieve the temperature profile and wall emissivities of a one-dimensional
semitransparent medium by using a least squares method to solve the inverse radiation
problem with solutions stabilized by a zeroth-order regularization method. It was shown
that even in the presence of noisy data, the temperature profile could be accurately
retrieved. Liu et al. [43] also used a conjugate gradient method with a two dimensional
searching network to solve the inverse radiation problem for source term distribution and
boundary emissivity. Lallemand and Yousefian [44] used a two-line strength ratio
technique with high resolution emission spectroscopy data to retrieve the temperature
profile in an axisymmetric semi-transparent media.

2.2 Swarm Intelligence


In recent years, the use of swarm intelligence as an optimization technique has
gained significant interest. Based on observations of swarming organisms, swarm
intelligence uses biological principles to find the optimal solution of a problem. Each
member of the swarm searches for an optimum solution and shares the information
gathered from its search with other members of the swarm. Several variations on swarm
intelligence optimization algorithms have appeared, including ant-colony optimization
[45], artificial bee colony optimization [46] [47][48], artificial immune system
10

optimization [49], and bacterial chemotaxis optimization [50]. By far the most popular,
however, is particle swarm optimization as evidenced by the variety of problems to which
the PSO algorithm has been applied [2][4][5] [18][51][52].
While the original PSO algorithm introduced by Kennedy and Eberhart [1] in 1995
is a robust optimization technique, it does have some drawbacks. It was easily trapped at
local optima, and large adjustments to member or global position often caused excessive
wandering by individuals. However, since its inception, the PSO algorithm has been
modified many times in many ways to overcome its initial limitations. The tendency for
excessive wandering was solved by the introduction of a cyclical boundary by Ding [3].
By applying a cyclical boundary, Ding forced the particles to stay within the prescribed
search area. If a particle had the necessary velocity to escape a boundary on one side, its
remaining movement was started from the opposite boundary [3]. This modification
keeps all particles in the search space at all times thus allowing a more thorough
examination of potential solutions.
To combat the tendency of PSO to converge quickly at local maxima, Qi et al. [4]
introduced the multi-phase particle swarm optimization technique (MPPSO). In essence,
the swarm is divided into smaller swarms to expand the search area. Multiple swarms
allow for a wider search area and a more diverse range of possible solutions. The second
advantage of MPPSO is that each phase of the algorithm instructs the swarm to follow
different search patterns. Finally, unlike the simple PSO, MPPSO searches only in a
direction of increasing fitness [4]. Lee, Baek, and Kim [5] also proposed a repulsive
particle swarm optimization (RPSO) technique to combat convergence at local maxima.
11

In their algorithm, a criterion is included that prevents one solution from occupying the
best position of a different solution. This is termed particle repulsion. The particle
repulsion prevents multiple particles from finding the same best individual position [5].
Forms of the PSO algorithm have also been combined with other swarm
intelligence optimization techniques to improve performance. A bacterial chemotaxis
subroutine prevents convergence at local optima by using a parameter similar to the
repulsion parameter in the RPSO algorithm. When a sufficient number of particles have
found the same best position, the chemotaxis routine begins to move other particles away
from this solution [53][54]. Using an ant colony optimization subroutine also prevents
entrapment at local optima. The ant colony optimization technique is based on the
foraging habits of ants. Initially, the ants begin in a random search pattern. However as
solutions are found, an artificial pheromone trail is left leading to that solution. A better
solution will have a heavier pheromone trail leading to it [55]. Using ant colony
optimization as an improvement subroutine was suggested by Lee et al. in conjunction
with genetic algorithms [56]. In their study, ant colony optimization was used to select
the best solution from a pool of candidate best solutions found by the genetic algorithm.
A hybrid PSO algorithm with the addition of genetic algorithm selection routine was
proposed showed an advantage over other PSO algorithms for some, but not all, complex
functions [57]. One of the most recent developments is an adaptive particle swarm
optimization algorithm (APSO) that defines four evolutionary states, namely exploration,
exploitation, convergence, and jumping out. If a particle is determined to be in a
convergence state, the program cause a jump discontinuity in the velocity to move that
12

single particle away from that particular optimum point [58]. This helps keep particles
from getting stuck at local optima.

13

CHAPTER 3
PARTICLE SWARM OPTIMIZATION

3.1 Introduction
Particle swarm optimization is a search technique used to find solutions to
optimization problems based on the social behavior of flocking organisms [59]. PSOs use
interactions between individuals to find the optimum for the group just like flocks of
birds or schools of fish. Each particle communicates with every other particle by sharing
the best location it has found. Only the best locations are remembered by the swarm.
First, a set of potential solutions referred to as the population is randomly
generated. An objective function, referred to as the fitness, is defined to determine
whether a potential solution is good or bad. The best solution for each particle and the
best position of the population are remembered while all other solutions are forgotten.
Next, if the maximum number of iterations has not been reached, the position of each
particle is updated by using a velocity term that is defined by equation 3.1.

( )

))

3.1

where v(p,k) is the particle velocity, r is a random number between zero and one, C and S
are cognitive-social parameters, pb(p,k) is the best position of particle (p,k), gb(k) is the
best position found by the swarm, and p(p,k) is the particles current position. It is easy to
see that individual particles will tend to move towards the global position while
remaining close to its personal best position. Now an entirely new population of
14

candidate solutions has been generated. The fitness of each solution is checked again, and
the process repeated until the maximum number of iterations has been met. At this time,
the last global best position found by the swarm is declared the solution.

15

START

Generate random population of


p candidate solutions
Evaluate the fitness of each
candidate solution based on
predefined objective function

Yes
Check to see
if global best
solution

Remember
solution

No
Yes
Forget
solution

END

No

Check to see
if personal
best solution

Yes

Check to see
if maximum
iterations
reached
No
Update particle using velocity
to create new population of
candidate solutions

Figure 3.1 Basic steps of Particle Swarm Algorithm


16

3.2 Programming Strategy


The first step in programming a PSO algorithm is to determine values of the social
cognitive, and constriction parameters. A parametric study by Clerc and Kennedy [60]
showed that an optimum value for the social parameter is 4.1. In this study, the cognitive
and constriction parameters are both functions of the social parameter. Through all cases
observed, the cognitive parameter had the same functional dependence on the social
parameter. The functional dependence of the constriction factor varied from method to
method. The dependence chosen for this PSO algorithm also follows from Clerc and
Kennedy [60] because the choice for the social parameter is greater than 4.
The second step is to determine the method for calculation of velocity. There are
many ways that the velocity equation can be modified in order to increase the accuracy of
the program. The constriction factor based on social and cognitive parameters was one of
the first velocity modifications introduced. This prevented swarm explosion by
unbounded velocities [60]. A parameter can be added to move particles away from
personal best solutions that are not global best solution such as with bacterial chemotaxis
and RPSO [5][50]. Another property, called the inertial weight can also be used to
modify the velocity. A combination of social, cognitive, and constriction parameters
along with inertial weight was used in velocity calculations for this study.
The final step is initialization and determination of personal and global best
values. There are three possibilities to consider when making this selection. The first
possibility is that the function optimum is known to be a minimum. In this case, the

17

personal and global best values can be initialized as


pbestval = ones(npar) .* Inf
gbestval = Inf;

and the personal and global best values are given by


if Rad(p) < pbestval(p)
pbestval(p) = Rad(p);
if Rad(p) < gbestval
gbestval = Rad(p);

Rad(p) is simply the objective function for fitness determination. The second possibility
is that the function optimum is known to be a maximum. In this case, the personal and
global best values are initialized as
pbestval = ones(npar) .* -Inf
gbestval = -Inf;

and the personal and global best values are given by


if Rad(p) > pbestval(p)
pbestval(p) = Rad(p);
if Rad(p) > gbestval
gbestval = Rad(p);

The final case is when it is unknown whether the optimum is a minimum or maximum. In
this case, more information is required about the function to be optimized. If the input
value for a known output is desired, as is the case in this study, then the personal and
global best values are initialized in the same way as the first case. However, the personal
and global best values are given by
if abs(Rad(p)) < abs(pbestval(p))
pbestval(p) = Rad(p);
if abs(Rad(p)) < abs(gbestval)
gbestval = Rad(p);

18

CHAPTER 4
FORMULATION

4.1 Emission-Absorption method


Intensity is defined as the radiant energy passing through an area per unit time, per
unit projected area, per unit solid angle [13]. Projected area here refers to the area the
energy is passing through projected normal to the direction of the radiation. The ability
to transmit infrared radiation is termed the transmissivity, and is expressed as the ratio of
transmitted to incident radiation.
An expression for intensity can be found by considering the integral form of the
radiative transfer equation [20]

4.1

4.2
Equation 4.2 is now in the form of a linear differential equation and can be solved by
using an integrating factor, IF, of the form

( )

where S is the path length, and s is a dummy variable of integration.

19

4.3

Multiplying both sides of equation 4.2 by 4.3 and combining the two terms on the left
hand side of the equation yields

( )

( )

4.4

Upon simplification of equation 4.4, we get,

( )

( )

4.5

( )

4.6

Now integrate both sides of equation 4.5 from 0 to L to give

( )

Applying the boundary conditions, N = N0 at S = S0

( )

( )

( )

( )

4.7

)]

4.8

Simplifying equation 4.8 yields

( )

( )

4.9

When there is no external sourced of thermal radiation, No = 0. For a non-scattering


media, s and are both 0 and N = nb. Since = + , equation 4.9 reduces to

( )

4.10

Transmittance can then be defined as

(
20

( )

4.11

The expression for intensity then becomes

4.12

4.13

For small L, nb can be taken out of the integral

4.14

4.15

Changing the limits

4.16

The inverse radiation problem is often solved by employing the emissionabsorption method. If the forward radiation problem is understood, it is a simple matter to
start at the end and work backwards. The forward problem of calculating intensity and
transmissivity has been previously solved by Ludwig, et al [19] and a detailed description
of this method is given below. This method allows for analysis of both homogeneous and
nonhomogeneous gases. The particle swarm algorithm uses this formulation to solve the
inverse radiation problem.
A gas layer comprised of m-isothermal zones is under consideration. The focus of
the radiative problem is the calculation of intensity and transmissivity at a known
temperature. The solution of the radiative transfer problem for radiance and transmittance

21

of a nonhomogeneous slab of gas for wave number, , is given as

( )

4.17

where Nb(T) is the Planck function, and the transmittance, , is given by

4.18

where the subscript i represents the number of chemical components contributing to the
radiation. However, equation 4.1 is often approximated by a summation of the form

)(

4.19

where the subscript m indicates the section of the gas. If all sections are of equal width,
l, then the total width is given by

( )

4.20

Next, the pathlength, u, must be corrected to standard temperature and pressure (STP)
conditions because the absorption coefficient data used in the particle swarm algorithm
corresponds to STP conditions. This is given by

)(

4.21

Now the optical depth for a given temperature must be calculated. Optical depth is a
measure of a mediums transparency to photons. The functional dependence of optical
depth through each position from the observation side to a given path length, u (or section
m) is

)
22

4.22

where the linear limit of optical depth, X*, is calculated by

4.23

This functional form is referred to as the curve of growth and is given by [19]

4.24

The quantity, y, is determined by the selection of a band model. For a single line group
(SLG) model focusing on the 2.7 band of CO2, Doppler-Lorentz shaped lines are
selected. Thus, y is given by [19]

( )

4.25

Values of Xc and XD are given by [19]

4.26

) )

4.27

To accurately calculate the optical depth, broadening of the line due to physical
phenomena must be taken into account. Because absorption and/or emission occur over a
small or finite range of wavenumbers, spectral lines are not monochromatic [13]. Natural,
collision, and Doppler broadening are three of the most important spectral line
broadening phenomena. Molecules can only absorb photons when the energy of the
photon is equal to the energy difference between two states of the molecule. Natural
broadening occurs due to the uncertainty in the exact values of the two states and causes a

23

finite wavenumber span around the transition wavenumber. Doppler broadening arises
from the fact that the atoms of a participating medium are moving. Collisions between
the molecules of a participating medium affect the energy states of the molecules and
results in collision broadening of the spectral line [13]. For carbon dioxide gas, only
collision and Doppler broadening are important. Therefore, collision and Doppler halfwidths must be calculated [19].

4.28

4.29

Here, i refers to the radiating component under study, and j refers to the other
components present. Collision half-width parameters can be found in Ludwig, et al [19].
The average collisional and Doppler coefficients are then given by

4.30

4.31

4.2 Particle swarm algorithm


A description of how the inverse thermal radiation problem of retrieving the
temperature distribution from known intensity values is solved by combining the E/A
method with PSO is given below.

24

1. First, the geometry and constants must be initialized. The length of the gas
column and number of zones are specified. Swarm size, social parameters, and
cognitive parameters are also set.
2. Next, the input parameters must be specified. This includes the pressure,
temperature limits, collision half-width parameters, and measured intensity.
3. A temperature population within the set limits is initialized. These
temperatures are randomly generated according to equation 4.16.

4.16

where n is a random number between zero and one and Tmax and Tmin are the
temperature limits. This confines the population to a particular range to allow
faster convergence.
4. The PSO algorithm then calls upon a subroutine to calculate an intensity value
for each temperature according to the formulation presented in the previous
section.
5. Each calculated intensity is then subtracted from the measured value. The
absolute value of this difference determines the fitness of each potential
solution. The best solutions have the smallest differences.
6. The PSO algorithm then uses the calculated fitness to determine if the solution
is a personal best for a particular member of the swarm or whether the solution
is a global best for the entire swarm.

25

7. If the maximum number of iterations has been met, the last global best value is
declared as the solution and the temperature given by the position of the global
best value.
8. A second subroutine is then called upon to present the position of the global
best value as well as the values required to move from zone to zone. These
values include X*, ac, aD, transmissivity, and intensity.
9. If the maximum number of iterations has not been met, the velocity of each
solution is updated to move it from its current temperature to a temperature
near both its previous personal best and the global best position of the swarm
according to equation 4.17.

(
(

( )

)))

))
4.17

Here, nv is the new velocity, C,w, and S are cognitive-social parameters, r1


and r2 are random numbers between 0 and 1, pb(p,k) is the personal best, gb(k)
is the global best, and p(p,k) is the current position of the particle.
10. The swarm has now moved closer to the previous global best solution, and a
new pool of possible solutions has been generated. Control is now moved back
to step 4.

26

CHAPTER 5
VALIDATION

To validate the PSO algorithm, a suitable set of benchmark test functions must be
selected. It is important to select test functions that have similar characteristics to the
problem for which the PSO algorithm is intended to solve. To prove the multiple
capabilities of this particular PSO algorithm, nine benchmark functions with different
characteristics were selected. The functions were selected from a list of fifty presented by
Karaboga and Akay [46].The PSO algorithm was then used to solve each of the nine
functions twenty five times.
Table 5.1 shows the nine test functions, characteristics of each function, the
known optimum, and the optimum obtained with the PSO algorithm. Characteristics of
each function are abbreviated as follows: D for dimension, M for multimodal, N for nonseparable, S for separable, and U for unimodal. The average of the twenty-five trials is
reported as the calculated optimum. It was observed that the optimum calculated by the
PSO algorithm differed from the known optimum by less than seven-thousandths for all
cases.

27

Table 5.1 Performance of PSO on benchmark test functions [46].


Function

Dimensions

Characteristics

Known

Calculated

Optimum

Optimum

Beale

U, N

0.00127

Bohachevsky1

M, S

0.00692

Bohachevsky2

M, N

0.00590

Bohachevsky3

M, N

0.00167

Booth

M, S

0.00229

Branin

M, S

-0.398

-0.3976

Easom

U, N

-1

-0.9970

Matyas

U, N

0.0000292

Schaffer

M, N

0.000599

28

CHAPTER 6
RESULTS & DISCUSSION

The E/A-PSO code was used to retrieve the temperature profile of slab of radiating
carbon dioxide gas. The analysis was performed at the 2.7-m wavelength band of CO2
with wavenumbers ranging from 3450 to 3600 cm-1. A MatLab program incorporating
the E/A method with a PSO algorithm was written to solve the inverse radiation problem.
The only input parameter required by the PSO-E/A algorithm is the intensity values of
the gas. These values will be obtained in a real world scenario by using an infrared
scanning instrument such as a spectrometer. Intensity measurements from Ludwig et al.
[19] were used for the purpose of this study. Calculating the intensity values based on a
known temperature profile is referred to as the forward method and were performed by
Ludwig et al. [19]. Three wavenumbers were selected for testing purposes: 3450, 3500,
and 3600 cm-1.

6.1 Population size


In determining population size, it is important to select a large enough population
to thoroughly search the solution space while limiting the size so as to reduce computing
resource needs. Selecting a sufficiently large population also guarantees consistently
accurate results. Because of its importance, a population study was conducted to
29

determine the optimum population size. When comparing the population size, a simple
percent error is insufficient to describe the results. Instead, the actual error between
calculated and measured must be shown. This is because each population showed a
similar scale of error across all zones. An error scale that was less than ten percent of the
most precise digit of the intensity value was desired. Figure 6.1 shows the scale of the
average error for multiple tested population sizes. To generate Figure 6.1, thirty trials of
each population were conducted and the average of these trials is reported as the error. Of
significant note is that at least one trial of every population resulted in a zero error.
However as this was uncommon at lower populations and more frequent at the higher
populations, it can be attributed to luck in the random generation of the initial population.
Due to some intensity values in back to back zones being identical to the hundredths
place, a population size of one thousand was used in this study due to its error being on
the order of 0.0001.

30

0.1

Error

0.01

0.001

0.0001

0.00001
10

50

100

500

Population Size
Figure 6.1 Change in error scale as population size increases

31

1000

6.2 Number of iterations


While the program needs sufficient time to search the solution space, the primary
importance of the number of iterations comes from the definition of inertial weight. For
this PSO algorithm, inertial weight, w, is defined as
6.1
where maxit is the maximum number of iterations and iter is the current iteration.
Therefore, several different maximum iteration values were tested to determine the
optimum value. Each iteration trial was performed using a population size of one
thousand.
This analysis led to an interesting result. The error decreased steadily until a
minimum was reached at one hundred iterations. As the number of iterations rose above
one hundred, the error increased as well. Below one hundred iterations, the definition of
inertial weight was quickly trapping particles near their personal best positions. However,
iterations above one hundred allowed for excessive wondering of individuals because the
inertial weight applied little to no restriction of the velocity in the first half of the search.
Figure 6.2 shows the relationship between error and the number of iterations.

32

0.0016

0.0014

0.0012

Error

0.001

0.0008

0.0006

0.0004

0.0002

0
10

25

50

100

125

Number of Iterations

Figure 6.2 Change in error as the number of iterations is increased.

33

150

6.3 Absorption coefficient


The absorption coefficient was calculated using a linear interpolation between
both temperature and wavenumber in a lookup table. Figure 6.3 shows a plot of
absorption coefficient versus temperature and wavenumber. While there are enough data
points to make a linear interpolation between wavenumbers fairly accurate, the same is
not true for temperature. At high temperatures, the absorption coefficient curves are
smooth throughout, while the curves are smooth for all temperatures when the
wavenumber is less than 3600 cm-1. Therefore, a curve fit could provide a far more
accurate absorption coefficient than that provided by linear interpolation.

34

1.4

Absorption Coefficient

1.2

0.8

0.6

0.4

0.2
3800
0
3000

3600
2500

2000

3400
1500

1000

3200
500

3000
Wavenumber

Temperature

Figure 6.3 Absorption coefficient versus temperature and wavenumber.

35

6.4 Line density


The line density was calculated using a linear interpolation between both
temperature and wavenumber in a lookup table. Figure 6.4 shows a plot of line density
versus temperature and wavenumber. Clearly, a logarithmic interpolation between
temperatures would be far more accurate than a linear interpolation. While a logarithmic
interpolation for temperature would be better, a logarithmic interpolation between
wavenumbers would be worse. However, only natural neighbor, nearest neighbor, and
linear interpolation are available for two variable functions in Matlab.

36

10

10

Line Density

10

10

10

3800

-1

10
2500

3600
2000

1500

3400
1000

500

3200
0

3000
Wavenumber

Temperature

Figure 6.4 Line density versus temperature and wavenumber.

37

6.5 Temperature retrieval


The main purpose of this study is to prove that the E/A-PSO technique is a valid
method for determining temperature profile from a known intensity profile. Ludwig et al.
[19] solved the forward problem of calculating the intensity profile from a known
temperature profile. The E/A-PSO technique uses this calculated intensity profile to
generate the temperature profile. This calculated temperature profile is then compared to
the original profile used by Ludwig et al. in their calculations. These calculations were
carried out for the 2.7-m band of CO2. Figure 6.5 shows the calculated temperature
profile versus the known temperature profile for the 3450 cm-1 wavelength. The
maximum error observed at this wavelength was 3.3 percent. This occurred in zone ten
where the total measured radiance was equal to the total radiance from zone nine.
However, because the difference in transmissivities is 0.0001, the PSO algorithm is able
to accurately retrieve the temperature.

38

1400

1200

Temperature (K)

1000

800
Actual Temperature
600

Calculated Temperature

400

200

0
0

10

12

Zone

Figure 6.5 Comparison of original and calculated temperature for = 3450 cm-1.

39

Figure 6.6 shows the calculated temperature profile versus the known temperature
profile for the 3500 cm-1 wavelength. With one exception, the maximum error observed
at this wavelength was 3.5 percent. The exception occurs at zone ten. Like the 3400 cm-1
wavelength, the measured radiances of zones nine and ten were equal. However, for the
3500 cm-1 wavelength, there is a noticeable difference in the transmissivities. Therefore,
the PSO algorithm attempts to make the Planck function equal zero. This corresponds to
a temperature of 0K. However, because the lower temperature limit of the PSO algorithm
is set at 300K, this is the answer given by the algorithm.

40

1400

1200

Temperature (K)

1000

800
Actual Temperature
600

Calculated Temperature

400

200

0
0

10

12

Zone

Figure 6.6 Comparison of original and calculated temperature for = 3500 cm-1.

41

Figure 6.7 shows the calculated temperature profile versus the known temperature
profile for the 3600 cm-1 wavelength. The maximum observed error was 3.9 percent and
occurred in zone eight. Unlike the previous two wavelengths, this largest error did not
occur when radiances for back to back zones were identical. In fact the largest error for
the 3600 cm-1 wavelength did not even occur where the measurements in back to back
zones were the closest. However, from an examination of the calculations involved in
temperature retrieval, it was discovered that zone eight had the largest differences
between broadening parameters calculated by the PSO algorithm and those calculated by
Ludwig et al [19].

42

1400

1200

Temperature (K)

1000

800
Actual Temperature
600

Calculated Temperature

400

200

0
0

10

12

Zone

Figure 6.7 Comparison of original and calculated temperature for = 3600 cm-1.

43

6.6 Uncertainty analysis


When taking a measurement with an instrument, there will always be some
uncertainty because all measurements are subject to imperfections. This uncertainty could
be due to dynamic measuring conditions or simply instrument limitations. Normally,
multiple measurements would be taken in order to generate a 95% confidence interval for
uncertainty. In this study, literature data has been used to calculate the 95% confidence
interval which was then used to create synthetic uncertainty.
The synthetic uncertainty was obtained by creating a curve fit for the plot of
experimental intensity versus frequency provided by Simmons et al [61]. The raw
intensity data was digitized. Standard deviation and the 95% confidence interval were
calculated from this raw data. The plots for the raw data and the curve fit were digitized
separately. The difference between the curve fit value and the average value was found
for each frequency. There are n numbers of error values, and each value is represented
by xi. The average of the curve fit and raw data is represented by . Standard deviation is
then calculated according to equation 6.2.

6.2

The 95% confidence interval was then calculated using the standard deviation according
to equation 6.3.

( )

44

6.3

where CI is the confidence interval. In this study, there is only one case making the 95%
confidence interval equal to 1.96 times the standard deviation. Data was plotted by
describing the percentage difference of temperature on the Y-axis and the simulated
uncertainty on the X-axis. The maximum value of simulated uncertainty corresponds to
1.96 times the standard deviation, or the 95% confidence interval.
Figure 6.8 is a plot of the raw experimental intensity data. The dotted line
represents the digitized raw data. The curve fit was obtained for this data using a moving
average curve fit with a period of two according to equation 6.4.
6.4
where Ft is the forecasted value at time t and At is the actual value. The standard
deviation was found to be 4.02x10-6 and was obtained by considering points from all over
the spectrum. The 95% confidence interval was then found to be 7.87x10-6.

45

2.50E-04

N (W/cm-st)

2.00E-04

1.50E-04

Raw Data
Curve Fit

1.00E-04

5.00E-05

0.00E+00
3300

3400

3500

3600

3700

3800

3900

Wavenumber

Figure 6.8 Experimental intensity data digitized from Simmons et al [61].

46

The raw data from Simmons et al [61] is the radiance from the entire gas column.
As such, the uncertainty would be the uncertainty over the whole gas column. Therefore,
there are two ways to add synthetic uncertainty to the measurements. Firstly, the value for
the 95% confidence interval could be added directly to the measurement of the final zone
as this includes all of the previous zones. However, by accounting for uncertainty in this
way, only the temperature calculation of the final zone is affected. The temperatures
calculated for the previous zones will remain unchanged, and the temperature of the final
zone can differ by as much as 300%.
The second method to account for uncertainty is by taking the 95% confidence
interval as a percentage of the total measurement according to equation 6.5.
6.5
An equal percentage of uncertainty is then added to the measurement of each individual
zone through equation 6.6.

6.6

This way, all zones are equally affected by the uncertainty. This is the method employed
in this study. For the case of 3600 cm-1, the percentage uncertainty was calculated to be
sixteen percent. An uncertainty equal to 16% of the measured value was added to each
zone. Figure 6.9 shows the error associated with temperature calculations when the
maximum uncertainty of 16% is added.

47

1400

1200

Temperature (K)

1000

800
Actual Temperature
Calculated Temperature

600

Uncertainty Added Temperature


400

200

0
0

10

12

Zone

Figure 6.9 Actual, calculated, and uncertainty added temperatures.

48

The maximum error in temperature calculation associated with uncertainty in


intensity measurements is 8.7 percent. This occurs in zone ten. Intensity uncertainty only
has a relatively large effect when the measurements in back to back zones are very close.
Even so, this largest error corresponds to only a 40 K temperature difference. The 3600
cm-1 wave number was chosen because it would create the largest uncertainty. For all
other wave numbers tested, the percentage uncertainty would have been less than 16
percent. Therefore it is reasonable to assume that uncertainty would have similar, though
lessened, effects at other wave numbers.

49

CHAPTER 7
CONCLUSIONS

The E/A-PSO method was used to retrieve the temperature profile of an


inhomogeneous layer of carbon dioxide gas from intensity measurements of the gas. For
the purposes of this study, only the 2.7-m infrared band was considered. Several test
cases were generated by varying the wavenumber. Conclusions drawn from this study are
listed below.
The E/A-PSO method successfully retrieved the temperature profile in all
test cases. The calculated temperature varied from the actual temperature by
less than 4% for all but one case.
Care should be taken to measure the intensity accurately enough so that
back to back zones do not have identical radiance values. If this occurs, the
PSO algorithm attempts to make either the transmissivities of the two zones
identical or the Planck function equal to zero. In this case, the PSO will
simply provide the lower bound on the temperature range as the solution.
An uncertainty analysis was conducted to account for measurement error.
This was achieved by adding synthetic uncertainty based on actual
experimental data to the input intensity. The maximum percentage error
observed in the calculated temperature was 8.7 percent.
50

Uncertainty has the most effect when measurements from back to back
zones are very close. The maximum error of 8.7 percent occurred when the
measured values in back to back zones differed by 1x10-8 W/cm-st.

51

REFERENCES
[1] Eberhart, R, and Kennedy, J. Particle Swarm Optimization, IEEE 0-7803-2768-3,
(1995) 1942-1948.
[2] Gadala, M.S., and Vakili, S. Effectiveness and Efficiency of Particle Swarm
Optimization Technique In Inverse Heat Conduction Analysis, Numerical Heat
Transfer, Part B, (2009) 56:119-141.
[3] Ding, P. Solution of Inverse Convection Heat Transfer Problem Using an Enhanced
Particle Swarm Optimization Algorithm, Journal of Heat Transfer, (2012)
134:011702.1-011702.10
[4] Qi, H. et al. Application of Multi-Phase Particle Swarm Optimization Technique to
Inverse Radiation Problem, Journal of Quantitative Spectroscopy & Radiative Transfer,
(2008) 109:476-493.
[5] Baek, S.W., Lee, K.H., and Kim, K.W. Inverse Radiation Analysis Using Repulsive
Particle Swarm Optimization Algorithm, International Journal of Heat and Mass
Transfer, (2008) 51:2772-2783.
[6] Soufiani, A., Taine, J., High Temperature Gas Radiative Property Parameters of
Statistical Narrow-Band Model of H2O, CO2, and CO and the Correlated-K Model for
H2O and CO2, International Journal of Heat and Mass Transfer, (1997) Vol. 40, No.
4:987-991.
[7] Leckner, B., The Spectral and Total Emissivity of Carbon Dioxide, Combustion and
Flame, (1971) 17:37-44.
[8] Malkmus, W., Infrared Emissivity of Carbon Dioxide (4.3- Band), Journal of the
Optical Society of America, (1963) Vol. 53, No. 8:951-961.
[9] Limbaugh, C.C., The infrared emission-absorption method for temperature and
species partial pressure determination in flames and plumes, Infrared Methods for
Gaseous Measurements, (1985) 197-245.
[10] Brewer, L E., and Limbaugh, C. C., Infrared band model technique for combustion
diagnostics, Applied Optics, (1972) 11:1200-1204.
52

[11] Varieth, J., Genetic Algorithms and the Emission-Absorption Method:


Determination of Temperature and Mole Fraction, University of Alabama, Tuscaloosa,
AL, Thesis, (2006).
[12] Tiwari, S. N., Band Models and Correlations for Infrared Radiation, American
Institute of Aeronautics and Astronautics, Thermophysics Conference, 10th, Denver, CO,
May 27-29 (1975) 155-181.
[13] Howell, J. R., Menguc, M. P., and Siegel, R., Thermal Radiation Heat Transfer
Taylor and Francis, Fifth edition, Boca Raton (2011).
[14] Baxter, A. H., Analylsis of the Curtis-Godson Approximation and Radiation
Transmission through Inhomogeneous Atmospheres, Journal of the Atmospheric
Sciences, March (1968) 25:312-322.
[15] Krakow, B., et al., Use of the Curtis-Godson Approximation in Calculations of
Radiant Heating by Inhomogeneous Hot Gases, Applied Optics, November (1966) Vol.
5, No. 11, 1971-1800.
[16] Balaji, C. and Verma, S., Multi-Parameter estimation in combined conductionradiation from a plane parallel participating medium using genetic algorithms,
International Journal of Heat and Mass Transfer, (2007) 50:1706-1714.
[17] Baek, S. W., et al., Estimation of emissivities in a two-dimensional irregular
geometry by inverse radiation analysis using hybrid genetic algorithm, Journal of
Quantitative Spectroscopy & Radiative Transfer, (2004) 87:1-14.
[18] Boeringer, D. W., and Werner, D. H., Particle Swarm Optimization Versus Genetic
Algorithms for Phased Array Synthesis, IEEE Transactions on Antennas and
Propagation, March (2004) Vol, 52, No. 3:771-779.
[19] Ludwig, C.B., et al. Handbook of Infrared Radiation From Combustion Gases,
NASA SP-3080, (1973) 377-383.
[20] Plass, G. N., Models for Spectral Band Absorption, Journal of the Optical Society
of America, (1958) Vol. 48, No. 10:690-703.
[21] Young, S. J., Nonisothermal Band Model Theory, Journal of Quantitative
Spectroscopy and Radiative Transfer, (1977) Vol. 18, 1-28.

53

[22] Denison, M. K., and Webb, B. W., Spectral line-based weighted-sum-of-gray-gases


model for arbitrary RTE solvers, Journal of Heat Transfer, (1993) Vol. 115, No.
4:1004-1012.
[23] Solovjov, V. P., and Webb, B. W., SLW Modeling of Radiative Transfer in
Multicomponent Gas Mixtures, Journal of Quantitative Spectroscopy & Radiative
Transfer, (2000) 65:655-672.
[24] Krakow, B., Spectroscopic Temperature Profile Measurements in Inhomogeneous
Hot Gases, Applied Optics, (1966) 5:201-209.
[25] Jiang, J., and Liu, L. H., Inverse Radiation Problem for Reconstruction of
Temperature Profile in Axisymmetric Free Flames, Journal of Quantitative
Spectroscopy & Radiative Transfer, (2001) 70:207-215.
[26] Chen, F. P., and Goulard, R., Retrieval of Arbitrary Concentration and Temperature
Fields by Multiangular Scanning Techniques, Journal of Quantitative Spectroscopy &
Radiative Transfer, (1976) 16:819-827.
[27] Mohammed, S., and Lallemand, M., Retrieval of absorption and temperature
profiles in axisymmetric and non-axisymmetric emitting-absorbing media by radiative
methods, American Society of Mechanical Engineers, (1993) 259-266.
[28] Cram, L. E., Inversion Problems in Radiative Transfer Theory: The Backus-Gilbert
Formalism, Journal of Quantum Spectroscopic Radiation Transfer, (1978) 20:305-315.
[29] Dond, J., and Kearney, R. J., Symmetrizing, Filtering, and Abel Inversion Using
Fourier Transform Techniques, Journal of Quantum Spectroscopic Radiation Transfer,
(1991) 46:141-149.
[30] Murio, D. A., and Mejia, C. E., Comparison of Four Stable Numerical Methods For
Abels Integral Equation, Proceedings of the Third International Conference on Inverse
Design Concept and Optimization in Engineering Sciences, (1991) 239-252.
[31] Cremers, C. J., and Birkebak, R. C., Application of the Abel Integral Equation to
Spectrographic Data, Applied Optics, (1966) Vol 5. No. 6:1057-1064.
[32] Blair, D. W., An Analysis of Error Propagation in Abel Inversions of Spectral
Emission-Absorption Data, Journal of Quantum Spectroscopic Radiation Transfer,
(1973) 14:325-337.

54

[33] Gross, L. A., and Griffiths, P. R., Spectroscopic temperature estimates by infrared
emission spectrometry, Journal of Quantitative Spectroscopy & Radiative Transfer,
(1988) 39:463-472.
[34] Soufiani, A., et al., Sensitivity of temperature and concentration measurements in
hot gases from FTIR emission spectroscopy, Journal of Quantitative Spectroscopy &
Radiative Transfer, (2002) 73:317-327.
[35] Mijovic, S., and Vuceljic, M., Comparisons Between Direct and Inverse
Approaches in Problems of Recovering the True Profile of a Spectral Line, Journal of
Quantitative Spectroscopy & Radiative Transfer, (2003) 77:79-86.
[36] Siewart, C. E., Inverse Solutions to Radiative-Transfer Problems Based on the
Binomial or the Henyey-Greenstein Scattering Law, Journal of Quantitative
Spectroscopy & Radiative Heat Transfer, (2002) 72:827-835.
[37] Silva Neto, A. J., and Ozisik, M. N., An Inverse Problem of Simultaneous
Estimation of Radiation Phase Function, Albedo, and Optical Thickness, Journal of
Quantitative Spectroscopy & Radiative Transfer, (1995) 53:397-409.
[38] Penzial, G. J., Dolin, S. A.., and Kruegle, H. A., Spectroradiometric pyrometry of
shock-heated gases by infrared emission and absorption measurements, Applied Optics,
(1966) 5:225-255.
[39] Lapworth, K. C., Allnutt, L. A., and Pendlebury, J. R., Temperature measurements
in shock-heated carbon monoxide by infrared technique, Journal of Physics D: Applied
Physics, (1970) 4:759-768.
[40] Edwards, D. H., and Phillips, D. E., Temperature measurements in detonation
waves by emission-absorption of the OH ultraviolet bands, Journal of Physics D:
Applied Physics, (1976) 9:1227-1238.
[41] Liu, L. H., and Li, B. X., Inverse radiation problem of axisymmetric turbulent
sooting free flames, Journal of Quantitative Spectroscopy & Radiative Transfer, (2002)
75:481-491.
[42] Liu, L. H., Tan, H. P., and Yu, Q. Z., Simultaneous Identification of Teperature
Profile and Wall Emissivities in One-Dimensional Semitransparent Medium By Inverse
Radiation Analysis, Numerical Heat Transfer Part A, (1999) 36:511-525.
[43] Liu, L. H., Tan, H. P., and Yu, Q. Z., Inverse radiation problem of sources and
emissivities in one-dimensional semitransparent media, International Journal of Heat
and Mass Transfer, (2001) 44:63-72.
55

[44] Lallemand, M., and Yousefian, F., Inverse Radiative Analysis of High-Resolution
Infrared Emission Data For Temperature and Species Profiles Recoveries in
Axisymmetric Semi-Transparent Media, Journal of Quantitative Spectroscopy &
Radiative Transfer, (1998) Vol. 60, No. 6:921-931.
[45] Blum, C., Ant Colony Optimization: Introduction and Recent Trends, Physics of
Life Reviews, (2005) 2:353-373.
[46] Akay, B., and Karaboga, D., A Comparative Study of Artificial Bee Colony
Algorithm, Applied Mathematics and Computation, (2009) 214:108-132.
[47] Basturk, B., and Karaboga, D., A Powerful and Efficient Algorithm for Numerical
Function Optimization: Artificial Bee Colony (ABC) Algorithm, Journal of Global
Optimization, (2007) 39:459-471.
[48] Zielonka, A., Hetmaniok, E., and Slota, D., Using the Artificial Bee Colony
Algorithm for Determining the Heat Transfer Coefficient, Man-Machine Interactions 2,
(2011) AISC 103:369-376.
[49] Gao, X. Z., Ovaska, S. J., and Wang, X., Artificial Immune Optimization Methods
and Applications A Survey, IEEE International Conference on Systems, Man and
Cybernetics, (2004) 3415-3420.
[50] Airaghi, S., et al. Optimization Based on Bacterial Chemotaxis, IEEE
Transactions on Evolutionary Computation, (2002) Vol. 6, No. 1:16-29.
[51] Cao, Y. J., Guo, C. X., and Zhao, B., Improved Particle Swarm Optimization
Algorithm for OPF Problems, IEEE 0-7803-8718-X/04 (2004)
[52] Liu, F. B., Inverse Estimation of Wall Heat Flux By Using Particle Swarm
Optimization Algorithm with Gaussian Mutation, International Journal of Thermal
Sciences, (2012) 54:62-69.
[53] Abraham, A., et al. Synergy of PSO and Bacterial Foraging Optimization A
Comparative Study on Numerical Benchmarks, Innovations in Hybrid Intelligent
Systems, (2007) 44:255-263.
[54] He X., et al., An Improved Particle Swarm Optimization Based on Bacterial
Chemotaxis, Proceedings of the 6th World Congress on Intelligent Control and
Automation, June (2006) 3193-3197.

56

[55] Birattari, M., Dorigo, M., Stutzle, T., Ant Colony Optimization: Artificial Ants as a
Computational Intelligence Technique, IEEE Computational Intelligence Magazine,
(2006) 28-39.
[56] Lee Z. J., et al., Genetic Algorithm With Ant Colony Optimization (GA-ACO) For
Multiple Sequence Alignment, Applied Soft Computing, (2008) 8:55-78.
[57] Angeline, P. J., Using selection to improve Particle Swarm Optimization, IEEE 07803-4869-9/98, (1998) 84-89.
[58] Zhan, Z., Adaptive Particle Swarm Optimization, IEEE Transaction on Systems,
Man, and Cybernetics, (2009) Vol. 39, No. 6:1362-1381.
[59] Batouche, M. C., and Talbi, H., Particle Swarm Optimization For Image
Registration, IEEE 0-7803-8482-2/04 (2004) 397-398.
[60] Clerc, M., and Kennedy, J., The Particle Swarm: Explosion, Stability, and
Convergence in a Multidimensional Complex Space, IEEE Transactions on
Evolutionary Computation, (2002) Vol. 6, No. 1:58-73.
[61] Simmons, F. S., Arnold, C.B., and Yamado, H. Y., Measurement of Temperature
Profiles in Hot Gases by Emission-Absorption Spectroscopy, NASA CR-72491, April
(1969) 1-110.

57

APPENDIX A
Matlab Particle Swarm Optimization Code

58

function particleswarm(npar,ndim,Tmin,Tmax,iter,vmin,vmax,par)
npar = 1000; %number of particles in swarm
ndim = 1;
%number of dimensions in problem
Tmin = 300;
%minimum temperature possible in Kelvin
Tmax = 3500; %maximum temperature possible in Kelvin
maxit = 100; %maximum number of iterations
vmin = 0; %scalar minimum to initialize velocities
vmax = 50; %scalar maximum to initialize velocities
c = 4.1;
%social parameter
S = c/2;
%cognitive parameter
C = 2/abs(2-c-sqrt(c*c-4*c));
%constriction factor
%initialize swarm and velocities
warning('off','all');
if(nargin < 8)
par = zeros(npar, ndim); % Position
for p=1:npar % For each Particle
for k =1:ndim % For each dimension
par(p,k) = Tmin + (Tmax-Tmin) * rand;
end
end
end
vel = zeros(npar, ndim); % Velocity
for p=1:npar % For each Particle
for k =1:ndim % For each dimension
vel(p,k) = vmin + (vmax-vmin) * rand;
end
end
%Initialize personal best values
pbestval = ones(npar) .* Inf;
pbestpos = zeros(npar,ndim);
%Initialize global best values
gbestval = Inf;
gbestpos = zeros(ndim);
%Record of best Value for plotting
bestRadiationHistory = [];
%Evaluate the Fitness of each particle done outside of this loop in a
%separate m-file
Rad = Radiation(npar,ndim,par); %Don't forget to rename this when you change
functions
%start iterations
iter = 0; %counter and also used in calculation of inertial weight
for j=1:maxit
iter = iter + 1;
%update position
for p = 1:npar
for k=1:ndim
par(p,k)= par(p,k)+vel(p,k);
if par(p,k) > Tmax
par(p,k) = Tmin + par(p,k)- Tmax;
elseif par(p,k) < Tmin
par(p,k) = Tmax + par(p,k)- Tmin;

59

end
end
end
%Evaluate Fitness
Rad = Radiation(npar,ndim,par);
for p=1:npar
%Check to see if it is a personal best. If it is, record the value and
%position
if abs(Rad(p)) < abs(pbestval(p))
pbestval(p) = Rad(p);
for k=1:ndim
pbestpos(p,k) = par(p,k);
end
end
%Check to see if it is a global best. If so, record the value and
%position
if abs(Rad(p)) < abs(gbestval)
gbestval = Rad(p);
for k = 1:ndim
gbestpos(p,k) = par(p,k);
end
end
end
bestRadiationHistory(j) = gbestval;
%update velocity
for p = 1:npar
for k = 1:ndim
w =(maxit-iter)/maxit;
r1 = randi([0,1]); %random numbers
r2 = randi([0,1]); %more random numbers
vel(p,k) = C*(w*vel(p,k) + r1 * S * (pbestpos(p,k)-par(p,k)) + r2 * S
* (gbestpos(k) - par(p,k)));
end
end
%Output global best value at current iteration
str = sprintf('Iteration: %d Best Value: %f',j,gbestval);
disp(str)
end
%Plot history of best fitness
plot(bestRadiationHistory);
format short g;
Con = constants(npar,ndim,gbestpos); %Separate function to give constants
end

60

APPENDIX B
Matlab Radiation Code

61

function Rad = Radiation(npar, ndim, par)


%THIS PARTICULAR SCRIPT IS FOR A SINGLE COMPONENT GAS ONLY
%All "table data" taken from NASA Handbook of Infrared Radiation From
Combustion
%Gases by Ludwig et al.
%Range (0,5000)
%ndim 1
%Initialize Fitness Values
Rad = zeros(npar);
m = 10; %total number of zones
z = 10; %zone you are analyzing
L = 60; %total length or width of gas column in units of cm
P = 1; %pressure, in atmospheres
omega = 3600; %wavenumber in units of cm^-1
mw = 44; %molecular weight of species
C1 = 3.7405*10^-12; %first radiation constant in units of W-cm^2
C2 = 1.43879; %second radiation constant in units of cm-K
maxiter = 100; %maximum number of iterations. Make sure this is identical to
maxit in particle swarm code
%wavenumber table for absorption coefficient
wavenumber =
[3000;3000;3000;3000;3000;3000;3000;3010;3010;3010;3010;3010;3010;3010;3020;3
020;3020;3020;3020;3020;3020;3030;3030;3030;3030;3030;3030;3030;3040;3040;304
0;3040;3040;3040;3040;3050;3050;3050;3050;3050;3050;3050;3060;3060;3060;3060;
3060;3060;3060;3070;3070;3070;3070;3070;3070;3070;3080;3080;3080;3080;3080;30
80;3080;3090;3090;3090;3090;3090;3090;3090;3100;3100;3100;3100;3100;3100;3100
;3110;3110;3110;3110;3110;3110;3110;3120;3120;3120;3120;3120;3120;3120;3130;3
130;3130;3130;3130;3130;3130;3140;3140;3140;3140;3140;3140;3140;3150;3150;315
0;3150;3150;3150;3150;3160;3160;3160;3160;3160;3160;3160;3170;3170;3170;3170;
3170;3170;3170;3180;3180;3180;3180;3180;3180;3180;3190;3190;3190;3190;3190;31
90;3190;3200;3200;3200;3200;3200;3200;3200;3210;3210;3210;3210;3210;3210;3210
;3220;3220;3220;3220;3220;3220;3220;3230;3230;3230;3230;3230;3230;3230;3240;3
240;3240;3240;3240;3240;3240;3250;3250;3250;3250;3250;3250;3250;3260;3260;326
0;3260;3260;3260;3260;3270;3270;3270;3270;3270;3270;3270;3280;3280;3280;3280;
3280;3280;3280;3290;3290;3290;3290;3290;3290;3290;3300;3300;3300;3300;3300;33
00;3300;3310;3310;3310;3310;3310;3310;3310;3320;3320;3320;3320;3320;3320;3320
;3330;3330;3330;3330;3330;3330;3330;3340;3340;3340;3340;3340;3340;3340;3350;3
350;3350;3350;3350;3350;3350;3360;3360;3360;3360;3360;3360;3360;3370;3370;337
0;3370;3370;3370;3370;3380;3380;3380;3380;3380;3380;3380;3390;3390;3390;3390;
3390;3390;3390;3400;3400;3400;3400;3400;3400;3400;3410;3410;3410;3410;3410;34
10;3410;3420;3420;3420;3420;3420;3420;3420;3430;3430;3430;3430;3430;3430;3430
;3440;3440;3440;3440;3440;3440;3440;3450;3450;3450;3450;3450;3450;3450;3460;3
460;3460;3460;3460;3460;3460;3470;3470;3470;3470;3470;3470;3470;3480;3480;348
0;3480;3480;3480;3480;3490;3490;3490;3490;3490;3490;3490;3500;3500;3500;3500;
3500;3500;3500;3510;3510;3510;3510;3510;3510;3510;3520;3520;3520;3520;3520;35
20;3520;3530;3530;3530;3530;3530;3530;3530;3540;3540;3540;3540;3540;3540;3540
;3550;3550;3550;3550;3550;3550;3550;3560;3560;3560;3560;3560;3560;3560;3565;3
565;3565;3565;3565;3565;3565;3570;3570;3570;3570;3570;3570;3570;3575;3575;357
5;3575;3575;3575;3575;3580;3580;3580;3580;3580;3580;3580;3585;3585;3585;3585;
3585;3585;3585;3590;3590;3590;3590;3590;3590;3590;3595;3595;3595;3595;3595;35
95;3595;3600;3600;3600;3600;3600;3600;3600;3605;3605;3605;3605;3605;3605;3605

62

;3610;3610;3610;3610;3610;3610;3610;3615;3615;3615;3615;3615;3615;3615;3620;3
620;3620;3620;3620;3620;3620;3625;3625;3625;3625;3625;3625;3625;3630;3630;363
0;3630;3630;3630;3630;3635;3635;3635;3635;3635;3635;3635;3640;3640;3640;3640;
3640;3640;3640;3645;3645;3645;3645;3645;3645;3645;3650;3650;3650;3650;3650;36
50;3650;3655;3655;3655;3655;3655;3655;3655;3660;3660;3660;3660;3660;3660;3660
;3665;3665;3665;3665;3665;3665;3665;3670;3670;3670;3670;3670;3670;3670;3675;3
675;3675;3675;3675;3675;3675;3680;3680;3680;3680;3680;3680;3680;3685;3685;368
5;3685;3685;3685;3685;3690;3690;3690;3690;3690;3690;3690;3695;3695;3695;3695;
3695;3695;3695;3700;3700;3700;3700;3700;3700;3700;3705;3705;3705;3705;3705;37
05;3705;3710;3710;3710;3710;3710;3710;3710;3715;3715;3715;3715;3715;3715;3715
;3720;3720;3720;3720;3720;3720;3720;3725;3725;3725;3725;3725;3725;3725;3730;3
730;3730;3730;3730;3730;3730;3735;3735;3735;3735;3735;3735;3735;3740;3740;374
0;3740;3740;3740;3740;3745;3745;3745;3745;3745;3745;3745;3750;3750;3750;3750;
3750;3750;3750;3755;3755;3755;3755;3755;3755;3755;3760;3760;3760;3760;3760;37
60;3760;3765;3765;3765;3765;3765;3765;3765;3770;3770;3770;3770;3770;3770;3770
;];
%temperature table for absorption coefficient
temperature =
[300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000

63

;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;];
%absorption coefficient table
absorptioncoeff = [0;0;0;0;0;0;1.166e-02;0;0;0;0;0;0;1.27e02;0;0;0;0;0;0;1.373e-02;0;0;0;0;0;0;1.567e-02;0;0;0;0;0;0;1.761e02;0;0;0;0;0;0;2.032e-02;0;0;0;0;0;0;2.303e-02;0;0;0;0;0;0;2.489e02;0;0;0;0;0;0;2.675e-02;0;0;0;0;0;3.399e-03;3.016e-02;0;0;0;0;0;6.798e03;3.356e-02;0;0;2.145e-10;0;0;8.29e-03;3.803e-02;0;0;4.29e-10;0;0;9.782e03;4.25e-02;0;0;1.516e-09;0;0;1.131e-02;4.59e-02;0;0;2.602e-09;0;0;1.324e02;4.929e-02;0;0;8.828e-09;0;0;1.565e-02;5.51e-02;0;0;1.505e-08;1.361e05;5.917e-04;1.806e-02;6.091e-02;0;0;4.883e-08;2.723e-05;1.183e-03;2.132e02;6.984e-02;0;0;8.26e-08;4.842e-05;1.661e-03;2.459e-02;7.878e-02;0;0;2.548e07;8.452e-05;2.267e-03;2.755e-02;8.107e-02;0;0;4.271e-07;1.446e-04;3.003e03;3.052e-02;8.336e-02;0;3.505e-20;1.246e-06;2.419e-04;3.853e-03;3.505e02;9.171e-02;0;7.01e-20;2.064e-06;3.953e-04;4.785e-03;3.958e-02;1.001e01;0;1.554e-18;4.412e-06;6.295e-04;6.05e-03;4.569e-02;1.124e-01;0;3.038e18;9.237e-06;9.745e-04;7.677e-03;5.179e-02;1.248e-01;0;6.243e-17;1.891e05;1.463e-03;9.785e-03;5.728e-02;0.1276;0;1.218e-16;3.78e-05;2.125e03;0.01225;0.06296;0.1304;0;2.302e-15;7.361e-05;2.981e03;.01519;.0752;.1414;0;4.483e-15;1.394e-04;4.03e03;.01821;0.07927;0.1524;1.1e-32;7.724e-14;2.558e-04;5.252e03;0.02185;0.08682;0.1667;2.2e-32;1.5e-13;4.542e-04;6.917e-03;2.639e02;9.94e-02;1.811e-01;8.768e-31;2.331e-12;7.774e-04;9.072e-03;3.111e02;1.071e-01;1.86e-01;3.397e-29;4.512e-12;1.279e-03;1.195e-02;3.726e02;1.179e-01;1.908e-01;1.243e-27;2.368e-11;2.017e-03;1.532e-02;4.405e02;1.334e-01;2.041e-01;4.34e-26;1.204e-10;3.041e-03;1.942e-02;5.182e02;1.425e-01;2.174e-01;1.442e-24;5.914e-10;4.378e-03;2.412e-02;5.986e02;1.495e-01;2.468e-01;4.549e-23;2.802e-09;6.029e-03;2.986e-02;7.1e02;1.785e-01;2.761e-01;1.358e-21;1.276e-08;8.331e-03;3.688e-02;8.066e02;1.763e-01;2.38e-01;3.819e-20;5.572e-08;1.155e-02;4.486e-02;9.186e02;1.851e-01;2.397e-01;1.009e-18;2.324e-07;1.586e-02;5.462e-02;1.064e01;2.063e-01;2.705e-01;2.493e-17;9.225e-07;2.104e-02;6.493e-02;1.185e01;2.116e-01;2.637e-01;5.73e-16;3.47e-06;2.806e-02;7.862e-02;1.354e01;2.256e-01;2.718e-01;1.219e-14;1.23e-05;3.617e-02;9.178e-02;1.511e01;2.471e-01;3.126e-01;2.385e-13;4.091e-05;4.683e-02;1.09e-01;1.681e01;2.516e-01;2.996e-01;4.262e-12;1.267e-04;5.915e-02;1.254e-01;1.812e01;2.463e-01;2.801e-01;6.9e-11;3.632e-04;7.424e-02;1.433e-01;2.052e-01;3.02e01;3.865e-01;1.003e-09;9.565e-04;9.206e-02;1.64e-01;2.143e-01;2.694e01;3.053e-01;1.295e-08;2.299e-03;1.112e-01;1.816e-01;2.242e-01;2.682e01;3.027e-01;1.467e-07;5.017e-03;1.351e-01;2.038e-01;2.442e-01;2.928e01;3.389e-01;5.3e-04;9.936e-03;1.548-01;2.169e-01;2.469e-01;2.819e-01;3.314e01;1.198e-05;1.799e-02;1.857e-01;2.422e-01;2.664e-01;2.988e-01;3.501e01;8.339e-05;3.103e-02;2.054e-01;2.477e-01;2.698e-01;3.137e-01;3.913e01;4.747e-04;5.29e-02;2.31e-01;2.652e-01;2.772e-01;3.192e-01;3.899e01;2.162e-03;8.412e-02;2.483e-01;2.685e-01;2.693e-01;3.006e-01;3.694e01;4.889e-02;1.228e-01;2.656e-01;2.692e-01;3.033e-01;4.05e-01;5.155e01;2.125e-02;1.684e-01;2.763e-01;2.818e-01;2.837e-01;3.358e-01;4.173e01;4.482e-02;1.912e-01;2.544e-01;2.566e-01;2.643e-01;3.353e-01;4.292e01;6.359e-02;2.163e-01;2.611e-01;2.622e-01;2.74e-01;3.508e-01;4.436e01;8.61e-02;2.537e-01;2.679e-01;2.677e-01;2.836e-01;3.662e-01;4.58e01;1.106e-01;2.716e-01;2.631e-01;2.632e-01;2.809e-01;3.684e-01;4.608e01;1.465e-01;2.648e-01;2.583e-01;2.587e-01;2.782e-01;3.705e-01;4.636e01;2.826e-01;3.578e-01;2.784e-01;2.774e-01;3.004e-01;3.965e-01;4.822e01;4.404e-01;4.281e-01;2.986e-01;2.961e-01;3.226e-01;4.225e-01;5.008e01;5.782e-01;4.56e-01;2.903e-01;2.956e-01;3.264e-01;4.277e-01;5.029e-

64

01;6.342e-01;4.255e-01;2.821e-01;2.952e-01;3.301e-01;4.33e-01;5.05e01;5.391e-01;3.292e-01;2.413e-01;2.798e-01;3.345e-01;4.521e-01;5.216e01;2.525e-01;1.74e-01;2.004e-01;2.643e-01;3.39e-01;4.712e-01;5.383e01;1.824e-01;1.063e-01;1.985e-01;2.641e-01;3.383e-01;4.662e-01;5.337e01;6.008e-01;2.321e-01;1.911e-01;2.638e-01;3.377e-01;4.613e-01;5.29e01;8.115e-01;3.494e-01;2.163e-01;2.797e-01;3.706e-01;4.948e-01;5.549e01;7.26e-01;4.134e-01;2.415e-01;2.957e-01;4.035e-01;5.283e-01;5.807e01;4.525e-01;3.977e-01;2.752e-01;3.366e-01;4.18e-01;5.218e-01;5.683e01;1.89e-01;3.13e-01;3.089e-01;3.776e-01;4.325e-01;5.154e-01;5.558e-01;4.82e02;2.013e-01;3.248e-01;4.019e-01;4.536e-01;5.254e-01;5.6e-01;7.095e03;1.127e-01;3.407e-01;4.261e-01;4.746e-01;5.354e-01;5.642e-01;3.107e03;7.624e-02;1.877e-01;4.323e-01;4.803e-01;5.375e-01;5.646e-01;7.331e03;8.834e-02;3.471e-02;4.385e-01;4.859e-01;5.397e-01;5.651e-01;1.776e02;1.29e-01;2.197e-01;4.495e-01;4.841e-01;5.302e-01;5.555e-01;4.043e02;1.881e-01;4.046e-01;4.605e-01;4.822e-01;5.207e-01;5.459e-01;8.591e02;2.671e-01;4.544e-01;4.921e-01;5.005e-01;5.277e-01;5.468e-01;1.691e01;3.634e-01;5.042e-01;5.238e-01;5.187e-01;5.346e-01;5.477e-01;3.051e01;4.691e-01;5.254e-01;5.303e-01;5.214e-01;5.388e-01;5.485e-01;4.982e01;5.696e-01;5.465e-01;5.368e-01;5.241e-01;5.429e-01;5.493e-01;7.218e01;6.423e-01;5.125e-01;5.045e-01;5.032e-01;5.34e-01;5.376e-01;8.999e01;6.584e-01;4.786e-01;4.722e-01;4.822e-01;5.252e-01;5.259e-01;9.102e01;5.888e-01;4.041e-01;4.234e-01;4.554e-01;5.101e-01;5.038e-01;6.358e01;4.169e-01;3.296e-01;3.746e-01;4.286e-01;4.95e-01;4.817e-01;6.328e02;1.545e-01;3.313e-01;3.832e-01;4.337e-01;4.8e-01;4.497e-01;6.949e01;3.365e-01;3.33e-01;3.918e-01;4.388e-01;4.649e-01;4.177e-01;1.159;5.998e01;4.776e-01;4.953e-01;4.942e-01;4.603e-01;3.845e-01;1.256;8.751e-01;6.222e01;5.988e-01;5.496e-01;4.557e-01;3.513e-01;9.516e-01;9.845e-01;6.958e01;6.468e-01;5.735e-01;4.482e-01;3.315e-01;5.092e-01;9.013e-01;7.695e01;6.947e-01;5.973e-01;4.407e-01;3.118e-01;1.869e-01;6.716e-01;6.933e01;6.351e-01;5.457e-01;3.929e-01;2.709e-01;4.535e-02;3.965e-01;6.171e01;5.755e-01;4.942e-01;3.45e-01;2.3e-01;7.247e-03;1.762e-01;4.44e-01;4.339e01;3.84e-01;2.709e-01;1.793e-01;7.296e-04;5.455e-02;2.708e-01;2.923e01;2.738e-01;1.967e-01;1.285e-01;2.915e-05;1.048e-02;1.505e-01;1.667e01;1.594e-01;1.168e-01;7.68e-02;1.079e-07;6.896e-04;3.01e-02;4.1e-02;4.508e02;3.681e-02;2.507e-02];
%create steps to enable usage of TriScatteredInterp for absorp
G = TriScatteredInterp(wavenumber,temperature,absorptioncoeff);
%wavenumber table for lined density
wavenumber2 =
[3080;3080;3080;3080;3080;3080;3080;3090;3090;3090;3090;3090;3090;3090;3100;3
100;3100;3100;3100;3100;3100;3110;3110;3110;3110;3110;3110;3110;3120;3120;312
0;3120;3120;3120;3120;3130;3130;3130;3130;3130;3130;3130;3140;3140;3140;3140;
3140;3140;3140;3150;3150;3150;3150;3150;3150;3150;3160;3160;3160;3160;3160;31
60;3160;3170;3170;3170;3170;3170;3170;3170;3180;3180;3180;3180;3180;3180;3180
;3190;3190;3190;3190;3190;3190;3190;3200;3200;3200;3200;3200;3200;3200;3210;3
210;3210;3210;3210;3210;3210;3220;3220;3220;3220;3220;3220;3220;3230;3230;323
0;3230;3230;3230;3230;3240;3240;3240;3240;3240;3240;3240;3250;3250;3250;3250;
3250;3250;3250;3260;3260;3260;3260;3260;3260;3260;3270;3270;3270;3270;3270;32
70;3270;3280;3280;3280;3280;3280;3280;3280;3290;3290;3290;3290;3290;3290;3290
;3300;3300;3300;3300;3300;3300;3300;3310;3310;3310;3310;3310;3310;3310;3320;3
320;3320;3320;3320;3320;3320;3330;3330;3330;3330;3330;3330;3330;3340;3340;334
0;3340;3340;3340;3340;3350;3350;3350;3350;3350;3350;3350;3360;3360;3360;3360;
3360;3360;3360;3370;3370;3370;3370;3370;3370;3370;3380;3380;3380;3380;3380;33
80;3380;3390;3390;3390;3390;3390;3390;3390;3400;3400;3400;3400;3400;3400;3400
;3410;3410;3410;3410;3410;3410;3410;3420;3420;3420;3420;3420;3420;3420;3430;3
430;3430;3430;3430;3430;3430;3440;3440;3440;3440;3440;3440;3440;3440;3450;345
0;3450;3450;3450;3450;3450;3460;3460;3460;3460;3460;3460;3460;3470;3470;3470;

65

3470;3470;3470;3470;3480;3480;3480;3480;3480;3480;3490;3490;3490;3490;3490;34
90;3490;3500;3500;3500;3500;3500;3500;3500;3510;3510;3510;3510;3510;3510;3510
;3520;3520;3520;3520;3520;3520;3520;3530;3530;3530;3530;3530;3530;3530;3540;3
540;3540;3540;3540;3540;3540;3550;3550;3550;3550;3550;3550;3550;3560;3560;356
0;3560;3560;3560;3560;3570;3570;3570;3570;3570;3570;3570;3580;3580;3580;3580;
3580;3580;3580;3590;3590;3590;3590;3590;3590;3590;3600;3600;3600;3600;3600;36
00;3600;3610;3610;3610;3610;3610;3610;3610;3620;3620;3620;3620;3620;3620;3620
;3630;3630;3630;3630;3630;3630;3630;3640;3640;3640;3640;3640;3640;3640;3650;3
650;3650;3650;3650;3650;3650;3660;3660;3660;3660;3660;3660;3660;3670;3670;367
0;3670;3670;3670;3670;3680;3680;3680;3680;3680;3680;3680;3690;3690;3690;3690;
3690;3690;3690;3700;3700;3700;3700;3700;3700;3700;3710;3710;3710;3710;3710;37
10;3710;3720;3720;3720;3720;3720;3720;3720;3730;3730;3730;3730;3730;3730;3730
;3740;3740;3740;3740;3740;3740;3740;3750;3750;3750;3750;3750;3750;3750;3760;3
760;3760;3760;3760;3760;3760;3770;3770;3770;3770;3770;3770;3770];
%temperature table for line density
temperature2 =
[300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;];
%line density table
linedensity =
[1.225;7.248;92.21;244;623.4;0;0;1.225;7.248;92.21;244;623.4;0;0;1.225;7.248;
92.21;244;623.4;0;0;1.225;7.248;92.21;244;623.4;0;0;1.225;7.248;92.21;244;623
.4;0;0;1.225;7.248;92.21;244;623.4;0;0;1.225;7.248;92.21;244;623.4;0;0;1.225;
7.248;92.21;244;623.4;0;0;1.225;7.287;93.36;244;623.4;0;0;1.225;7.287;93.93;2
45.7;623.4;0;0;1.225;7.325;94.51;247.5;623.4;0;0;1.225;7.325;95.66;252.7;628.
3;0;0;1.225;7.363;97.97;256.2;643.3;0;0;1.225;7.363;100.2;261.4;658.3;0;0;1.2
25;7.401;102.5;266.6;678.2;0;0;1.225;7.439;107.1;275.3;710.6;0;0;1.225;7.477;
111.8;289.3;748;0;0;1.225;7.516;117.5;306.7;797.9;0;0;1.225;7.592;123.3;324.1

66

;860.3;0;0;1.234;7.668;129;348.6;935.1;0;0;1.237;7.706;136;369.5;1022;0;0;1.2
42;7.821;145.2;397.4;1122;0;0;1.254;7.935;153.2;427;1321;0;0;1.27;8.088;164.8
;465.3;1770;0;0;1.285;8.202;176.3;508.9;2244;0;0;1.31;8.393;189;557.7;2368;0;
0;1.344;8.546;197;606.5;2443;0;0;1.37;8.775;207.4;662.3;2493;0;0;1.404;9.042;
210.9;723.3;2593;0;0;1.438;9.423;216.6;784.3;2668;0;0;1.472;9.805;220.1;793;2
817;0;0;1.506;10.22;221.3;758.2;2942;0;0;1.557;10.68;218.9;697.2;2992;0;0;1.6
08;11.29;208.6;610;2743;0;0;1.663;11.94;195.9;522.9;1745;0;0;1.736;12.66;177.
5;435.7;1097;0;0;1.804;13.54;157.9;348.6;785.4;0;0;1.872;14.49;138.3;284.1;58
6;0;0;1.957;15.45;121;231.8;433.8;0;0;2.042;16.67;107.1;191.7;331.6;0;0;2.145
;17.74;93.36;158.6;261.8;0;0;2.264;17.85;80.68;132.4;211.9;0;0;2.4;17.35;70.3
1;115;179.5;0;0;2.553;16.4;62.24;99.36;159.5;0;0;2.757;15.26;54.17;88.89;137.
1;0;0;3.064;13.73;48.41;78.43;117.2;0;0;3.166;12.01;43.79;71.46;107.2;0;0;2.8
94;10.3;40.34;64.49;97.25;0;0;2.519;8.584;38.03;61;91.01;0;0;2.111;7.02;40.91
;58.39;91.01;0;0;1.702;4.845;39.76;57.51;96;0;0;1.452;4.748;50.48;110.8;235.9
;0;0;1.07;3.652;43.26;109.1;298.8;0;0;.8408;2.817;51.51;114.2;393.1;0;0;.7643
;1.826;65.93;146.6;550.4;0;0;.7452;1.408;75.2;221.6;775.9;0;0;1.528;2.087;81.
38;276.1;1038;0;0;1.7;5.739;86.53;286.4;1100;0;0;1.547;7.304;96.83;283;1038;0
;0;.8121;6.835;80.35;276.1;912.2;0;0;.8312;6.261;77.26;262.5;796.8;0;0;.9459;
6;83.44;245.4;681.5;0;0;1.108;6.261;88.59;228.4;587.1;0;0;1.318;6.782;84.47;2
07.9;508.5;0;0;1.576;7.565;78.29;190.9;440.3;0;0;2.082;83.48;72.11;173.8;382.
7;0;0;2.962;8.974;67.99;156.8;330.2;0;0;3.641;5.542;22.74;41.36;71.76;0;0;3.7
99;5.141;17.6;37.33;62.46;0;0;2.849;4.618;10.63;32.78;53.15;0;0;];
%create steps to enable usage of TriScatteredInterp for ld
F = TriScatteredInterp(wavenumber2,temperature2,linedensity);
iters = 0; %Iteration counter start
for j = 1:maxiter
iters = iters + 1;
end
for p = 1:npar
for k = 1:ndim
if z==1
measured = .21*1.16; %measured radiance in zone
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,par(p,k)); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function
Xstar = cpl*absorp; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl;
ad = 1/Xstar * (gammad*ld*absorp)*cpl;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);

67

Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-1);
Rad(p) = measured-heat;
elseif z==2
measured = .77*1.16; %measured radiance in zone
N1 = .21*1.16; %radiance of zone 1
ac1 = .175; %ac of zone 1
ad1 = .002911; %ad of zone 1
xstar1 = 1.999; %Xstar of zone 1
tau1 = .2765; %tau of zone 1
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[qx,qy]= meshgrid(omega,par(p,k));
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
ld = F(qx,qy); %line density of zone
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function of zone
Xstar = cpl*absorp+xstar1; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl+ac1;
ad = 1/Xstar * (gammad*ld*absorp)*cpl+ad1;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);
Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-tau1)+N1;
Rad(p) = measured-heat;
elseif z==3
measured = 7.74*1.16; %measured radiance in zone
N2 = .77*1.16; %radiance of zone 2
ac2 = .2002; %ac of zone 2
ad2 = .008493; %ad of zone 2
xstar2 = 3.371; %Xstar of zone 2
tau2 = .227; %tau of zone2
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient

68

[qx,qy]= meshgrid(omega,par(p,k));
ld = F(qx,qy); %line density second lookup table needed
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function third lookup table needed
Xstar = cpl*absorp+xstar2; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl+ac2;
ad = 1/Xstar * (gammad*ld*absorp)*cpl+ad2;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);
Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-tau2)+N2;
Rad(p) = measured-heat;
elseif z==4
measured = 21.05*1.16; %measured radiance in zone
N3 = 7.74*1.16; %radiance of zone 3
ac3 = .3297; %ac of zone 3
ad3 = .02291; %ad of zone 3
xstar3 = 4.179; %Xstar of zone 3
tau3 = .1285; %tau3 of zone 3
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,par(p,k));
ld = F(qx,qy); %line density second lookup table needed
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function third lookup table needed
Xstar = cpl*absorp+xstar3; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl+ac3;
ad = 1/Xstar * (gammad*ld*absorp)*cpl+ad3;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);

69

Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-tau3)+N3;
Rad(p) = measured-heat;
elseif z==5
measured = 35.1*1.16; %measured radiance in zone
N4 = 21.05*1.16; %radiance of zone 4
ac4 = .4615; %ac of zone 4
ad4 = .04092; %ad of zone 4
xstar4 = 4.739; %Xstar of zone 4
tau4 = .0812; %tau of zone 4
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,par(p,k));
ld = F(qx,qy); %line density second lookup table needed
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function third lookup table needed
Xstar = cpl*absorp+xstar4; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl+ac4;
ad = 1/Xstar * (gammad*ld*absorp)*cpl+ad4;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);
Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-tau4)+N4;
Rad(p) = measured-heat;
elseif z==6
measured = 45*1.16; %measured radiance in zone
N5 = 35.1*1.16; %radiance of zone 5
ac5 = .5737; %ac of zone 5
ad5 = .05872; %ad of zone 5
xstar5 = 5.172; %Xstar of zone 5
tau5 = .0568; %tau of zone 5
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient

70

[qx,qy]= meshgrid(omega,par(p,k));
ld = F(qx,qy); %line density second lookup table needed
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function third lookup table needed
Xstar = cpl*absorp+xstar5; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl+ac5;
ad = 1/Xstar * (gammad*ld*absorp)*cpl+ad5;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);
Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-tau5)+N5;
Rad(p) = measured-heat;
elseif z==7
measured = 48.74*1.16; %measured radiance in zone
N6 = 45*1.16; %radiance of zone 6
ac6 = .6692; %ac of zone 6
ad6 = .0743; %ad of zone 6
xstar6 =5.584; %Xstar of zone 6
tau6 = .0412; %tau of zone 6
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,par(p,k));
ld = F(qx,qy); %line density second lookup table needed
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function third lookup table needed
Xstar = cpl*absorp+xstar6; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl+ac6;
ad = 1/Xstar * (gammad*ld*absorp)*cpl+ad6;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);

71

Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-tau6)+N6;
Rad(p) = measured-heat;
elseif z==8
measured = 49.45*1.16; %measured radiance in zone
N7 = 48.74*1.16; %radiance of zone 7
ac7 = .7429; %ac of zone 7
ad7 = .08428; %ad of zone 7
xstar7 = 6.119; %Xstar of zone 7
tau7 = .03; %tau of zone 7
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,par(p,k));
ld = F(qx,qy); %line density second lookup table needed
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function third lookup table needed
Xstar = cpl*absorp+xstar7; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl+ac7;
ad = 1/Xstar * (gammad*ld*absorp)*cpl+ad7;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);
Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-tau7)+N7;
Rad(p) = measured-heat;
elseif z==9
measured = 49.5*1.16; %measured radiance in zone
N8 = 49.45*1.16; %radiance of zone 8
ac8 = .7649; %ac of zone 8
ad8 = .08515; %ad of zone 8
xstar8 = 6.895; %Xstar of zone 8
tau8 = .0216; %tau of zone 8
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient

72

[qx,qy]= meshgrid(omega,par(p,k));
ld = F(qx,qy); %line density second lookup table needed
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function third lookup table needed
Xstar = cpl*absorp+xstar8; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl+ac8;
ad = 1/Xstar * (gammad*ld*absorp)*cpl+ad8;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);
Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-tau8)+N8;
Rad(p) = measured-heat;
else
measured = 49.51*1.16; %measured radiance in zone
N9 = 49.5*1.16; %radiance of zone 9
ac9 = .6962; %ac of zone 9
ad9 = .07603; %ad of zone 9
xstar9 = 8.031; %Xstar of zone 9
tau9 = .017; %tau of zone 9
pl = L/m; %physical pathlenght
cpl = pl*273/par(p,k)*P; %physical pathlength corrected to STP conditions
[vx,vy] = meshgrid(omega,par(p,k)); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,par(p,k));
ld = F(qx,qy); %line density second lookup table needed
Planck = (C1*omega*omega*omega/(pi*(exp(C2*omega/par(p,k))-1)))*10^6;
%Planck function third lookup table needed
Xstar = cpl*absorp+xstar9; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac = (gammaij*P*(273/par(p,k))^etaij)+gammaii*P*(273/par(p,k))^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5)*(par(p,k)/273)^0.5; %Doppler halfwidths
ac = 1/Xstar * (gammac*ld*absorp)*cpl+ac9;
ad = 1/Xstar * (gammad*ld*absorp)*cpl+ad9;
Xc = Xstar*(1+(Xstar/(4*ac)))^(-1/2);

73

Xd = 1.7*ad*(log(1+(.589*Xstar/ad)^2))^(1/2);
y = (1-(Xc/Xstar)^2)^(-2)+(1-(Xd/Xstar)^2)^(-2)-1;
X = Xstar*(1-y^(-1/2))^(1/2);
tau = exp(-X);
heat = -Planck*(tau-tau9)+N9;
Rad(p) = measured-heat;
end
end
end
end

74

APPENDIX C
Matlab Constants Code

75

function Con = constants(npar,ndim,gbestpos)


%THIS PARTICULAR SCRIPT IS FOR A SINGLE COMPONENT GAS ONLY
%Displays the temperature, Xstar, ac, ad, tau, and heat values for the
%calculated gbestpos for use in calculations of the next zone
%All "table data" taken from NASA Handbook of Infrared Radiation From
Combustion
%Gases by Ludwig et al. [19]
%Range (0,5000)
%ndim 1
m = 10; %total number of zones
z = 10; %zone you are analyzing. Make sure it is same as zone in Radiation.
L = 60; %total length or width of gas column in units of cm
P = 1; %pressure, in atmospheres
omega = 3600; %wavenumber in units of cm^-1
mw = 44; %molecular weight of species
C1 = 3.7405*10^-12; %first radiation constant in units of W-cm^2
C2 = 1.43879; %second radiation constant in units of cm-K
%wavenumber table for absorption coefficient
wavenumber =
[3000;3000;3000;3000;3000;3000;3000;3010;3010;3010;3010;3010;3010;3010;3020;3
020;3020;3020;3020;3020;3020;3030;3030;3030;3030;3030;3030;3030;3040;3040;304
0;3040;3040;3040;3040;3050;3050;3050;3050;3050;3050;3050;3060;3060;3060;3060;
3060;3060;3060;3070;3070;3070;3070;3070;3070;3070;3080;3080;3080;3080;3080;30
80;3080;3090;3090;3090;3090;3090;3090;3090;3100;3100;3100;3100;3100;3100;3100
;3110;3110;3110;3110;3110;3110;3110;3120;3120;3120;3120;3120;3120;3120;3130;3
130;3130;3130;3130;3130;3130;3140;3140;3140;3140;3140;3140;3140;3150;3150;315
0;3150;3150;3150;3150;3160;3160;3160;3160;3160;3160;3160;3170;3170;3170;3170;
3170;3170;3170;3180;3180;3180;3180;3180;3180;3180;3190;3190;3190;3190;3190;31
90;3190;3200;3200;3200;3200;3200;3200;3200;3210;3210;3210;3210;3210;3210;3210
;3220;3220;3220;3220;3220;3220;3220;3230;3230;3230;3230;3230;3230;3230;3240;3
240;3240;3240;3240;3240;3240;3250;3250;3250;3250;3250;3250;3250;3260;3260;326
0;3260;3260;3260;3260;3270;3270;3270;3270;3270;3270;3270;3280;3280;3280;3280;
3280;3280;3280;3290;3290;3290;3290;3290;3290;3290;3300;3300;3300;3300;3300;33
00;3300;3310;3310;3310;3310;3310;3310;3310;3320;3320;3320;3320;3320;3320;3320
;3330;3330;3330;3330;3330;3330;3330;3340;3340;3340;3340;3340;3340;3340;3350;3
350;3350;3350;3350;3350;3350;3360;3360;3360;3360;3360;3360;3360;3370;3370;337
0;3370;3370;3370;3370;3380;3380;3380;3380;3380;3380;3380;3390;3390;3390;3390;
3390;3390;3390;3400;3400;3400;3400;3400;3400;3400;3410;3410;3410;3410;3410;34
10;3410;3420;3420;3420;3420;3420;3420;3420;3430;3430;3430;3430;3430;3430;3430
;3440;3440;3440;3440;3440;3440;3440;3450;3450;3450;3450;3450;3450;3450;3460;3
460;3460;3460;3460;3460;3460;3470;3470;3470;3470;3470;3470;3470;3480;3480;348
0;3480;3480;3480;3480;3490;3490;3490;3490;3490;3490;3490;3500;3500;3500;3500;
3500;3500;3500;3510;3510;3510;3510;3510;3510;3510;3520;3520;3520;3520;3520;35
20;3520;3530;3530;3530;3530;3530;3530;3530;3540;3540;3540;3540;3540;3540;3540
;3550;3550;3550;3550;3550;3550;3550;3560;3560;3560;3560;3560;3560;3560;3565;3
565;3565;3565;3565;3565;3565;3570;3570;3570;3570;3570;3570;3570;3575;3575;357
5;3575;3575;3575;3575;3580;3580;3580;3580;3580;3580;3580;3585;3585;3585;3585;
3585;3585;3585;3590;3590;3590;3590;3590;3590;3590;3595;3595;3595;3595;3595;35
95;3595;3600;3600;3600;3600;3600;3600;3600;3605;3605;3605;3605;3605;3605;3605
;3610;3610;3610;3610;3610;3610;3610;3615;3615;3615;3615;3615;3615;3615;3620;3
620;3620;3620;3620;3620;3620;3625;3625;3625;3625;3625;3625;3625;3630;3630;363
0;3630;3630;3630;3630;3635;3635;3635;3635;3635;3635;3635;3640;3640;3640;3640;

76

3640;3640;3640;3645;3645;3645;3645;3645;3645;3645;3650;3650;3650;3650;3650;36
50;3650;3655;3655;3655;3655;3655;3655;3655;3660;3660;3660;3660;3660;3660;3660
;3665;3665;3665;3665;3665;3665;3665;3670;3670;3670;3670;3670;3670;3670;3675;3
675;3675;3675;3675;3675;3675;3680;3680;3680;3680;3680;3680;3680;3685;3685;368
5;3685;3685;3685;3685;3690;3690;3690;3690;3690;3690;3690;3695;3695;3695;3695;
3695;3695;3695;3700;3700;3700;3700;3700;3700;3700;3705;3705;3705;3705;3705;37
05;3705;3710;3710;3710;3710;3710;3710;3710;3715;3715;3715;3715;3715;3715;3715
;3720;3720;3720;3720;3720;3720;3720;3725;3725;3725;3725;3725;3725;3725;3730;3
730;3730;3730;3730;3730;3730;3735;3735;3735;3735;3735;3735;3735;3740;3740;374
0;3740;3740;3740;3740;3745;3745;3745;3745;3745;3745;3745;3750;3750;3750;3750;
3750;3750;3750;3755;3755;3755;3755;3755;3755;3755;3760;3760;3760;3760;3760;37
60;3760;3765;3765;3765;3765;3765;3765;3765;3770;3770;3770;3770;3770;3770;3770
;];
%temperature table for absorption coefficient
temperature =
[300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180

77

0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;];
%absorption coefficient table
absorptioncoeff = [0;0;0;0;0;0;1.166e-02;0;0;0;0;0;0;1.27e02;0;0;0;0;0;0;1.373e-02;0;0;0;0;0;0;1.567e-02;0;0;0;0;0;0;1.761e02;0;0;0;0;0;0;2.032e-02;0;0;0;0;0;0;2.303e-02;0;0;0;0;0;0;2.489e02;0;0;0;0;0;0;2.675e-02;0;0;0;0;0;3.399e-03;3.016e-02;0;0;0;0;0;6.798e03;3.356e-02;0;0;2.145e-10;0;0;8.29e-03;3.803e-02;0;0;4.29e-10;0;0;9.782e03;4.25e-02;0;0;1.516e-09;0;0;1.131e-02;4.59e-02;0;0;2.602e-09;0;0;1.324e02;4.929e-02;0;0;8.828e-09;0;0;1.565e-02;5.51e-02;0;0;1.505e-08;1.361e05;5.917e-04;1.806e-02;6.091e-02;0;0;4.883e-08;2.723e-05;1.183e-03;2.132e02;6.984e-02;0;0;8.26e-08;4.842e-05;1.661e-03;2.459e-02;7.878e-02;0;0;2.548e07;8.452e-05;2.267e-03;2.755e-02;8.107e-02;0;0;4.271e-07;1.446e-04;3.003e03;3.052e-02;8.336e-02;0;3.505e-20;1.246e-06;2.419e-04;3.853e-03;3.505e02;9.171e-02;0;7.01e-20;2.064e-06;3.953e-04;4.785e-03;3.958e-02;1.001e01;0;1.554e-18;4.412e-06;6.295e-04;6.05e-03;4.569e-02;1.124e-01;0;3.038e18;9.237e-06;9.745e-04;7.677e-03;5.179e-02;1.248e-01;0;6.243e-17;1.891e05;1.463e-03;9.785e-03;5.728e-02;0.1276;0;1.218e-16;3.78e-05;2.125e03;0.01225;0.06296;0.1304;0;2.302e-15;7.361e-05;2.981e03;.01519;.0752;.1414;0;4.483e-15;1.394e-04;4.03e03;.01821;0.07927;0.1524;1.1e-32;7.724e-14;2.558e-04;5.252e03;0.02185;0.08682;0.1667;2.2e-32;1.5e-13;4.542e-04;6.917e-03;2.639e02;9.94e-02;1.811e-01;8.768e-31;2.331e-12;7.774e-04;9.072e-03;3.111e02;1.071e-01;1.86e-01;3.397e-29;4.512e-12;1.279e-03;1.195e-02;3.726e02;1.179e-01;1.908e-01;1.243e-27;2.368e-11;2.017e-03;1.532e-02;4.405e02;1.334e-01;2.041e-01;4.34e-26;1.204e-10;3.041e-03;1.942e-02;5.182e02;1.425e-01;2.174e-01;1.442e-24;5.914e-10;4.378e-03;2.412e-02;5.986e02;1.495e-01;2.468e-01;4.549e-23;2.802e-09;6.029e-03;2.986e-02;7.1e02;1.785e-01;2.761e-01;1.358e-21;1.276e-08;8.331e-03;3.688e-02;8.066e02;1.763e-01;2.38e-01;3.819e-20;5.572e-08;1.155e-02;4.486e-02;9.186e02;1.851e-01;2.397e-01;1.009e-18;2.324e-07;1.586e-02;5.462e-02;1.064e01;2.063e-01;2.705e-01;2.493e-17;9.225e-07;2.104e-02;6.493e-02;1.185e01;2.116e-01;2.637e-01;5.73e-16;3.47e-06;2.806e-02;7.862e-02;1.354e01;2.256e-01;2.718e-01;1.219e-14;1.23e-05;3.617e-02;9.178e-02;1.511e01;2.471e-01;3.126e-01;2.385e-13;4.091e-05;4.683e-02;1.09e-01;1.681e01;2.516e-01;2.996e-01;4.262e-12;1.267e-04;5.915e-02;1.254e-01;1.812e01;2.463e-01;2.801e-01;6.9e-11;3.632e-04;7.424e-02;1.433e-01;2.052e-01;3.02e01;3.865e-01;1.003e-09;9.565e-04;9.206e-02;1.64e-01;2.143e-01;2.694e01;3.053e-01;1.295e-08;2.299e-03;1.112e-01;1.816e-01;2.242e-01;2.682e01;3.027e-01;1.467e-07;5.017e-03;1.351e-01;2.038e-01;2.442e-01;2.928e01;3.389e-01;5.3e-04;9.936e-03;1.548-01;2.169e-01;2.469e-01;2.819e-01;3.314e01;1.198e-05;1.799e-02;1.857e-01;2.422e-01;2.664e-01;2.988e-01;3.501e01;8.339e-05;3.103e-02;2.054e-01;2.477e-01;2.698e-01;3.137e-01;3.913e01;4.747e-04;5.29e-02;2.31e-01;2.652e-01;2.772e-01;3.192e-01;3.899e01;2.162e-03;8.412e-02;2.483e-01;2.685e-01;2.693e-01;3.006e-01;3.694e01;4.889e-02;1.228e-01;2.656e-01;2.692e-01;3.033e-01;4.05e-01;5.155e01;2.125e-02;1.684e-01;2.763e-01;2.818e-01;2.837e-01;3.358e-01;4.173e01;4.482e-02;1.912e-01;2.544e-01;2.566e-01;2.643e-01;3.353e-01;4.292e01;6.359e-02;2.163e-01;2.611e-01;2.622e-01;2.74e-01;3.508e-01;4.436e01;8.61e-02;2.537e-01;2.679e-01;2.677e-01;2.836e-01;3.662e-01;4.58e01;1.106e-01;2.716e-01;2.631e-01;2.632e-01;2.809e-01;3.684e-01;4.608e01;1.465e-01;2.648e-01;2.583e-01;2.587e-01;2.782e-01;3.705e-01;4.636e01;2.826e-01;3.578e-01;2.784e-01;2.774e-01;3.004e-01;3.965e-01;4.822e01;4.404e-01;4.281e-01;2.986e-01;2.961e-01;3.226e-01;4.225e-01;5.008e01;5.782e-01;4.56e-01;2.903e-01;2.956e-01;3.264e-01;4.277e-01;5.029e01;6.342e-01;4.255e-01;2.821e-01;2.952e-01;3.301e-01;4.33e-01;5.05e01;5.391e-01;3.292e-01;2.413e-01;2.798e-01;3.345e-01;4.521e-01;5.216e-

78

01;2.525e-01;1.74e-01;2.004e-01;2.643e-01;3.39e-01;4.712e-01;5.383e01;1.824e-01;1.063e-01;1.985e-01;2.641e-01;3.383e-01;4.662e-01;5.337e01;6.008e-01;2.321e-01;1.911e-01;2.638e-01;3.377e-01;4.613e-01;5.29e01;8.115e-01;3.494e-01;2.163e-01;2.797e-01;3.706e-01;4.948e-01;5.549e01;7.26e-01;4.134e-01;2.415e-01;2.957e-01;4.035e-01;5.283e-01;5.807e01;4.525e-01;3.977e-01;2.752e-01;3.366e-01;4.18e-01;5.218e-01;5.683e01;1.89e-01;3.13e-01;3.089e-01;3.776e-01;4.325e-01;5.154e-01;5.558e-01;4.82e02;2.013e-01;3.248e-01;4.019e-01;4.536e-01;5.254e-01;5.6e-01;7.095e03;1.127e-01;3.407e-01;4.261e-01;4.746e-01;5.354e-01;5.642e-01;3.107e03;7.624e-02;1.877e-01;4.323e-01;4.803e-01;5.375e-01;5.646e-01;7.331e03;8.834e-02;3.471e-02;4.385e-01;4.859e-01;5.397e-01;5.651e-01;1.776e02;1.29e-01;2.197e-01;4.495e-01;4.841e-01;5.302e-01;5.555e-01;4.043e02;1.881e-01;4.046e-01;4.605e-01;4.822e-01;5.207e-01;5.459e-01;8.591e02;2.671e-01;4.544e-01;4.921e-01;5.005e-01;5.277e-01;5.468e-01;1.691e01;3.634e-01;5.042e-01;5.238e-01;5.187e-01;5.346e-01;5.477e-01;3.051e01;4.691e-01;5.254e-01;5.303e-01;5.214e-01;5.388e-01;5.485e-01;4.982e01;5.696e-01;5.465e-01;5.368e-01;5.241e-01;5.429e-01;5.493e-01;7.218e01;6.423e-01;5.125e-01;5.045e-01;5.032e-01;5.34e-01;5.376e-01;8.999e01;6.584e-01;4.786e-01;4.722e-01;4.822e-01;5.252e-01;5.259e-01;9.102e01;5.888e-01;4.041e-01;4.234e-01;4.554e-01;5.101e-01;5.038e-01;6.358e01;4.169e-01;3.296e-01;3.746e-01;4.286e-01;4.95e-01;4.817e-01;6.328e02;1.545e-01;3.313e-01;3.832e-01;4.337e-01;4.8e-01;4.497e-01;6.949e01;3.365e-01;3.33e-01;3.918e-01;4.388e-01;4.649e-01;4.177e-01;1.159;5.998e01;4.776e-01;4.953e-01;4.942e-01;4.603e-01;3.845e-01;1.256;8.751e-01;6.222e01;5.988e-01;5.496e-01;4.557e-01;3.513e-01;9.516e-01;9.845e-01;6.958e01;6.468e-01;5.735e-01;4.482e-01;3.315e-01;5.092e-01;9.013e-01;7.695e01;6.947e-01;5.973e-01;4.407e-01;3.118e-01;1.869e-01;6.716e-01;6.933e01;6.351e-01;5.457e-01;3.929e-01;2.709e-01;4.535e-02;3.965e-01;6.171e01;5.755e-01;4.942e-01;3.45e-01;2.3e-01;7.247e-03;1.762e-01;4.44e-01;4.339e01;3.84e-01;2.709e-01;1.793e-01;7.296e-04;5.455e-02;2.708e-01;2.923e01;2.738e-01;1.967e-01;1.285e-01;2.915e-05;1.048e-02;1.505e-01;1.667e01;1.594e-01;1.168e-01;7.68e-02;1.079e-07;6.896e-04;3.01e-02;4.1e-02;4.508e02;3.681e-02;2.507e-02];
%create steps to enable usage of TriScatteredInterp for absorp
G = TriScatteredInterp(wavenumber,temperature,absorptioncoeff);
%wavenumber table for lined density
wavenumber2 =
[3080;3080;3080;3080;3080;3080;3080;3090;3090;3090;3090;3090;3090;3090;3100;3
100;3100;3100;3100;3100;3100;3110;3110;3110;3110;3110;3110;3110;3120;3120;312
0;3120;3120;3120;3120;3130;3130;3130;3130;3130;3130;3130;3140;3140;3140;3140;
3140;3140;3140;3150;3150;3150;3150;3150;3150;3150;3160;3160;3160;3160;3160;31
60;3160;3170;3170;3170;3170;3170;3170;3170;3180;3180;3180;3180;3180;3180;3180
;3190;3190;3190;3190;3190;3190;3190;3200;3200;3200;3200;3200;3200;3200;3210;3
210;3210;3210;3210;3210;3210;3220;3220;3220;3220;3220;3220;3220;3230;3230;323
0;3230;3230;3230;3230;3240;3240;3240;3240;3240;3240;3240;3250;3250;3250;3250;
3250;3250;3250;3260;3260;3260;3260;3260;3260;3260;3270;3270;3270;3270;3270;32
70;3270;3280;3280;3280;3280;3280;3280;3280;3290;3290;3290;3290;3290;3290;3290
;3300;3300;3300;3300;3300;3300;3300;3310;3310;3310;3310;3310;3310;3310;3320;3
320;3320;3320;3320;3320;3320;3330;3330;3330;3330;3330;3330;3330;3340;3340;334
0;3340;3340;3340;3340;3350;3350;3350;3350;3350;3350;3350;3360;3360;3360;3360;
3360;3360;3360;3370;3370;3370;3370;3370;3370;3370;3380;3380;3380;3380;3380;33
80;3380;3390;3390;3390;3390;3390;3390;3390;3400;3400;3400;3400;3400;3400;3400
;3410;3410;3410;3410;3410;3410;3410;3420;3420;3420;3420;3420;3420;3420;3430;3
430;3430;3430;3430;3430;3430;3440;3440;3440;3440;3440;3440;3440;3440;3450;345
0;3450;3450;3450;3450;3450;3460;3460;3460;3460;3460;3460;3460;3470;3470;3470;
3470;3470;3470;3470;3480;3480;3480;3480;3480;3480;3490;3490;3490;3490;3490;34
90;3490;3500;3500;3500;3500;3500;3500;3500;3510;3510;3510;3510;3510;3510;3510

79

;3520;3520;3520;3520;3520;3520;3520;3530;3530;3530;3530;3530;3530;3530;3540;3
540;3540;3540;3540;3540;3540;3550;3550;3550;3550;3550;3550;3550;3560;3560;356
0;3560;3560;3560;3560;3570;3570;3570;3570;3570;3570;3570;3580;3580;3580;3580;
3580;3580;3580;3590;3590;3590;3590;3590;3590;3590;3600;3600;3600;3600;3600;36
00;3600;3610;3610;3610;3610;3610;3610;3610;3620;3620;3620;3620;3620;3620;3620
;3630;3630;3630;3630;3630;3630;3630;3640;3640;3640;3640;3640;3640;3640;3650;3
650;3650;3650;3650;3650;3650;3660;3660;3660;3660;3660;3660;3660;3670;3670;367
0;3670;3670;3670;3670;3680;3680;3680;3680;3680;3680;3680;3690;3690;3690;3690;
3690;3690;3690;3700;3700;3700;3700;3700;3700;3700;3710;3710;3710;3710;3710;37
10;3710;3720;3720;3720;3720;3720;3720;3720;3730;3730;3730;3730;3730;3730;3730
;3740;3740;3740;3740;3740;3740;3740;3750;3750;3750;3750;3750;3750;3750;3760;3
760;3760;3760;3760;3760;3760;3770;3770;3770;3770;3770;3770;3770];
%temperature table for line density
temperature2 =
[300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;12
00;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;180
0;2400;3000;300;600;1200;1500;1800;2400;3000;300;600;1200;1500;1800;2400;3000
;];
%line density table
linedensity =
[1.225;7.248;92.21;244;623.4;0;0;1.225;7.248;92.21;244;623.4;0;0;1.225;7.248;
92.21;244;623.4;0;0;1.225;7.248;92.21;244;623.4;0;0;1.225;7.248;92.21;244;623
.4;0;0;1.225;7.248;92.21;244;623.4;0;0;1.225;7.248;92.21;244;623.4;0;0;1.225;
7.248;92.21;244;623.4;0;0;1.225;7.287;93.36;244;623.4;0;0;1.225;7.287;93.93;2
45.7;623.4;0;0;1.225;7.325;94.51;247.5;623.4;0;0;1.225;7.325;95.66;252.7;628.
3;0;0;1.225;7.363;97.97;256.2;643.3;0;0;1.225;7.363;100.2;261.4;658.3;0;0;1.2
25;7.401;102.5;266.6;678.2;0;0;1.225;7.439;107.1;275.3;710.6;0;0;1.225;7.477;
111.8;289.3;748;0;0;1.225;7.516;117.5;306.7;797.9;0;0;1.225;7.592;123.3;324.1
;860.3;0;0;1.234;7.668;129;348.6;935.1;0;0;1.237;7.706;136;369.5;1022;0;0;1.2
42;7.821;145.2;397.4;1122;0;0;1.254;7.935;153.2;427;1321;0;0;1.27;8.088;164.8

80

;465.3;1770;0;0;1.285;8.202;176.3;508.9;2244;0;0;1.31;8.393;189;557.7;2368;0;
0;1.344;8.546;197;606.5;2443;0;0;1.37;8.775;207.4;662.3;2493;0;0;1.404;9.042;
210.9;723.3;2593;0;0;1.438;9.423;216.6;784.3;2668;0;0;1.472;9.805;220.1;793;2
817;0;0;1.506;10.22;221.3;758.2;2942;0;0;1.557;10.68;218.9;697.2;2992;0;0;1.6
08;11.29;208.6;610;2743;0;0;1.663;11.94;195.9;522.9;1745;0;0;1.736;12.66;177.
5;435.7;1097;0;0;1.804;13.54;157.9;348.6;785.4;0;0;1.872;14.49;138.3;284.1;58
6;0;0;1.957;15.45;121;231.8;433.8;0;0;2.042;16.67;107.1;191.7;331.6;0;0;2.145
;17.74;93.36;158.6;261.8;0;0;2.264;17.85;80.68;132.4;211.9;0;0;2.4;17.35;70.3
1;115;179.5;0;0;2.553;16.4;62.24;99.36;159.5;0;0;2.757;15.26;54.17;88.89;137.
1;0;0;3.064;13.73;48.41;78.43;117.2;0;0;3.166;12.01;43.79;71.46;107.2;0;0;2.8
94;10.3;40.34;64.49;97.25;0;0;2.519;8.584;38.03;61;91.01;0;0;2.111;7.02;40.91
;58.39;91.01;0;0;1.702;4.845;39.76;57.51;96;0;0;1.452;4.748;50.48;110.8;235.9
;0;0;1.07;3.652;43.26;109.1;298.8;0;0;.8408;2.817;51.51;114.2;393.1;0;0;.7643
;1.826;65.93;146.6;550.4;0;0;.7452;1.408;75.2;221.6;775.9;0;0;1.528;2.087;81.
38;276.1;1038;0;0;1.7;5.739;86.53;286.4;1100;0;0;1.547;7.304;96.83;283;1038;0
;0;.8121;6.835;80.35;276.1;912.2;0;0;.8312;6.261;77.26;262.5;796.8;0;0;.9459;
6;83.44;245.4;681.5;0;0;1.108;6.261;88.59;228.4;587.1;0;0;1.318;6.782;84.47;2
07.9;508.5;0;0;1.576;7.565;78.29;190.9;440.3;0;0;2.082;83.48;72.11;173.8;382.
7;0;0;2.962;8.974;67.99;156.8;330.2;0;0;3.641;5.542;22.74;41.36;71.76;0;0;3.7
99;5.141;17.6;37.33;62.46;0;0;2.849;4.618;10.63;32.78;53.15;0;0;];
%create steps to enable usage of TriScatteredInterp for ld
F = TriScatteredInterp(wavenumber2,temperature2,linedensity);
if z==1
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);
heat = -Planck.*(tau-1);
elseif z==2
N1 = .21*1.16; %radiance of zone 1

81

ac1 = .175; %ac of zone 1


ad1 = .002911; %ad of zone 1
xstar1 = 1.999; %Xstar of zone 1
tau1 = .2765; %tau of zone 1
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp+xstar1; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl+ac1;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl+ad1;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);
heat = -Planck.*(tau-tau1)+N1;
elseif z==3
N2 = .77*1.16; %radiance of zone 2
ac2 = .2002; %ac of zone 2
ad2 = .008493; %ad of zone 2
xstar2 = 3.371; %Xstar of zone 2
tau2 = .227; %tau of zone 2
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp+xstar2; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions

82

etaij = 0.5; %temperature correction of half-width of species i by


species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl+ac2;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl+ad2;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);
heat = -Planck.*(tau-tau2)+N2;
elseif z==4
N3 = 7.74*1.16; %radiance of zone 3
ac3 = .3297; %ac of zone 3
ad3 = .02291; %ad of zone 3
xstar3 = 4.179; %Xstar of zone 3
tau3 = .1285; %tau of zone 3
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp+xstar3; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl+ac3;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl+ad3;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);
heat = -Planck.*(tau-tau3)+N3;
elseif z==5

83

N4 = 21.05*1.16; %radiance of zone 4


ac4 = .4615; %ac of zone 4
ad4 = .04092; %ad of zone 4
xstar4 = 4.739; %Xstar of zone 4
tau4 = .0812; %tau of zone 4
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp+xstar4; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl+ac4;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl+ad4;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);
heat = -Planck.*(tau-tau4)+N4;
elseif z==6
N5 = 35.1*1.16; %radiance of zone 5
ac5 = .5737; %ac of zone 5
ad5 = .05872; %ad of zone 5
xstar5 = 5.172; %Xstar of zone 5
tau5 = .0568; %tau of zone 5
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp+xstar5; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions

84

etaij = 0.5; %temperature correction of half-width of species i by


species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl+ac5;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl+ad5;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);
heat = -Planck.*(tau-tau5)+N5;
elseif z==7
N6 = 45*1.16; %radiance of zone 6
ac6 = .6692; %ac of zone 6
ad6 = .0743; %ad of zone 6
xstar6 = 5.584; %Xstar of zone 6
tau6 = .0412; %tau of zone 6
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp+xstar6; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl+ac6;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl+ad6;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);
heat = -Planck.*(tau-tau6)+N6;
elseif z==8

85

N7 = 48.74*1.16; %radiance of zone 7


ac7 = .7429; %ac of zone 7
ad7 = .08428; %ad of zone 7
xstar7 = 6.119; %Xstar of zone 7
tau7 = .03; %tau of zone 7
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp+xstar7; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl+ac7;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl+ad7;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);
heat = -Planck.*(tau-tau7)+N7;
elseif z==9
N8 = 49.45*1.16; %radiance of zone 8
ac8 = .7649; %ac of zone 8
ad8 = .08515; %ad of zone 8
xstar8 = 6.895; %Xstar of zone 8
tau8 = .0213; %tau of zone 8
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp+xstar8; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions

86

etaij = 0.5; %temperature correction of half-width of species i by


species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl+ac8;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl+ad8;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);
heat = -Planck.*(tau-tau8)+N8;
else
N9 = 49.5*1.16; %radiance of zone 9
ac9 = .6962; %ac of zone 9
ad9 = .07603; %ad of zone 9
xstar9 = 8.031; %Xstar of zone 9
tau9 = .017; %tau of zone 9
pl = L/m; %physical pathlenght
cpl = pl*273./gbestpos*P; %physical pathlength corrected to STP
conditions
[vx,vy] = meshgrid(omega,gbestpos); %interpolation step for absorption
coefficient
absorp = G(vx,vy);%first lookup table needed here for absorption
coefficient
%absorp = .5368;
%ld = 2.27;
[qx,qy]= meshgrid(omega,gbestpos); %interpolation step for line density
ld = F(qx,qy); %line density
Planck = (C1.*omega.*omega.*omega./(pi.*(exp(C2*omega./gbestpos)1))).*10^6; %Planck function
Xstar = cpl.*absorp + xstar9; %linear limit of optical depth
gammaij = 0.09; %self-broadening of radiating species in nonresonant
collisions
etaij = 0.5; %temperature correction of half-width of species i by
species j
gammaii = 0.01; %self-broadening of radiating species in resonant
collisions
etaii = 1; %temperature correction of half-width of species i by itself
gammac =
(gammaij*P*(273./gbestpos).^etaij)+gammaii*P*(273./gbestpos).^etaii;
%collision half-widths
gammad = 0.00000594*omega/(mw^0.5).*(gbestpos./273).^0.5; %Doppler halfwidths
ac = 1./Xstar .* (gammac.*ld.*absorp).*cpl+ac9;
ad = 1./Xstar .* (gammad.*ld.*absorp).*cpl+ad9;
Xc = Xstar.*(1+(Xstar./(4.*ac))).^(-1/2);
Xd = 1.7.*ad.*(log(1+(.589.*Xstar./ad).^2)).^(1/2);
y = (1-(Xc./Xstar).^2).^(-2)+(1-(Xd./Xstar).^2).^(-2)-1;
X = Xstar.*(1-y.^(-1/2)).^(1/2);
tau = exp(-X);

87

heat = -Planck.*(tau-tau9)+N9;
end
Con = [gbestpos Xstar ac ad tau heat] %Diaplays information needed to move to
next zone as well as the temperature of each zone.
end

88

Вам также может понравиться