* OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation...

164
PL-TR-92-3042R AD-A264 004l PL-Th-- APPLICATION OF THE SAHA EQUATION, TO HIGH * TEMPERATURE 6000K) ROCKET EXHAUST Robert T. Nachtrieb Phillips Laboratory OLAC-PLIRKFE Edwards AFB, California 93524-7680 March 1993 * OTIC FECT E Final Report (Second Edition)SP .593 .3 1~93 07814 06 PHILLIPS LABORATORY Propulsion Directorate * ~ AIR FORCE MATERIEL COMMAND 4AO EDWARDS AIR FORCE BASE CA 93524-5000

Transcript of * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation...

Page 1: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

PL-TR-92-3042R AD-A264 004l PL-Th--

APPLICATION OF THE SAHA EQUATION, TO HIGH* TEMPERATURE (Ž 6000K) ROCKET EXHAUST

Robert T. Nachtrieb

Phillips LaboratoryOLAC-PLIRKFEEdwards AFB, California 93524-7680

March 1993

* OTICFECT E

Final Report (Second Edition)SP .593

.3 1~93 07814

06

PHILLIPS LABORATORYPropulsion Directorate

* ~ AIR FORCE MATERIEL COMMAND4AO EDWARDS AIR FORCE BASE CA 93524-5000

Page 2: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

NOTICE

When U.S. Government drawings, specifications, or other data are used for any purpose otherthan a definitely related G )vernment procurement operation, the fact that the Governmentmay have formulated, furnished, or in any way supplied the said drawings, specifications, orother data, is not to be regarded by implication or otherwise, or in any way licensing the holderor any other person or corporation, or conveying any rights or permission to manufacture, useor sell any patented invention that may be related thereto.

FOREWORD

This final report was submitted by the OLAC PL/RKFE Branch, at the Phillips Laboratory,Edwards AFB CA 93524-7680. OLAC PL Project Manager was Franklin B. Mead

This report has been reviewed and is approved for release and distribution in accordancewith the distribution statement on the cover and on the SF Form 298.

FRANKLIN B. MEAD STEPHEN L. RODGERS -

Project Manager Chief, Emerging Technologies Branch

LEONARD C. BROLINE, Lt Col, USAF RANNEY G. ADAMS

Director, Public Affairs DirectorFundamental Technologies Division

Page 3: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

1iii form Approved

REPORT DOCUMENTATION PAGE I 0MB oo o004-088uk iiK io~- o din fo m- otto omomor ,fo ae oi~tq or0"1eC-f3 - -q1,t 10%Wi~ h 4 04 ý

HolIm,...) ,~,, .. ~ )t loma lo ,nn. ý fl, w.qmetiuný tot redwi~n'g this b,.u nto enf ~t t 4 upo,at-0, .q'-d "-p..."s 1~,~ 1 .tfýOSH,,~i'.,.,ri. toe '204 4.$nq o.I VA 2120-4102 and to I" Office of M tiVt, ,nt pdo iki qet P p•eV ¢.k Re wtoW PSCjft t (0 IC4 0 1661. OWI .h-togtO n 1,1 ?V1,rj

"I. AGENCY USE ONLY (Leave blank) [. REPORT DATE 3. REPORT TYPE AND DATES COWVF•Fn

MARCH 1993 FINAL FEBRUARY 19934. TITLE AND SUBTITLE 5, FUNDING NUMBERS

Application of the SAHA Equation to High Temperature( > 6000 K ) Rocket Exhaust. PE: 62302F

6. AUTHOR(S) PR: 3058S TA: 009

Robert T. Nachtrieb

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION

Phillips Laboratory REPORT NUMBER

OLAC-PL/RKFE PL-TR-92-3042REdwards AFB, California 93524-7680I9. SPONSORING /MONITORING AGENCY NAME(S) ANO AODRESS(ES) 10. SPONSORING / MONITORING

AGENCY REPORT NUMBER

11. SUPPLEMENTARY NOTES

O COSATI CODE: 21/08

12a. DISTRIBUTION / AVAILABILITY STATEMENT 12b. DISTRIBUTION CODE

Approved For Public Release, Distribution is Unlimited

113. ABSTRACT (Maximum 200 words)

Using the SAHA equations and spectroscopic constants, the computer program in this report calculates thespecies populations of diatomic molecules, neutrals, ions, and electrons in a plasma. The code considers theequilibrium of a two-elements, chemically reacting plasma, by calculating the partition function for each species.By rederiving theoretically, as the JANNAF tables do, the thermodynamic properties of a rocket propellant, butusing extended excitation levels, the program can estimate (above 6000 K) performance of advanced propulsionconcepts.This second edition code described here considers in addition to mixtures of carbon (C), hydrogen (H), nitrogen(N), and oxygen (0), the species of argon (Ar), up through Cv, H11, Ni,, Ov, and Arv, any diatomic combinationof these elements, both neutral and singly ionized. The user can enter in spectroscopic data for his own elements.Program results agree with JANNAF tables at 6000 K, for dominant species; output graphs of nitrogen speciesdensities ( 300 K to 30,000 K ) and air species mole fractions ( 3000 K to 10,000 K ) match published data.The second edition also has the additional feature of being able to calculate rocket performance based upon theinput of a specific quantity ofenergy when running the code. This Is especially valuable for calculating the hightemperature performance of laser, fusion, and antiproton thermal propulsion systems which add heat to aworking fluid or propellant.

14. SUBJECT TERMS I1. NUMBER OF PAGES

SAHA Equations; Interplanetary Missions; Spectroscopy Constants _ 157Thermodynamic Properties of Rocket Propellants; Fortran Code 16, PRICE CODE

117. SCRTCLSIIAIN 1.SECURITY CLASSIFICATION 19. SECURITY CLASSIFICATION 20. LIMITATION OF ABSTRACTSF ECURITYCASFCTO I. Of THIS PAGE OF ABSTRACT

Unclassified Unclassified I Unclassifie SARNSN /540J-01280-5500 Standard Form 298 ýRev 2-89)

i/29l0o

Page 4: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* Contents

1 INTRODUCTION 1

2 THEORY 22.1 Saha Equation ................................... 22.2 Thermodynamic Functions ............................ 62.3 Rocket Applications ............................... 9

3 USER'S MANUAL 113.1 Starting Up ...................... .............. 113.2 Example: Carbon Dioxide, One Temperature .............. .3.3 Example: Carbon Dioxide, Multiple Temperatures ............... 183.4 Example: Nitrogen, Multiple Temperatures ................... 213.5 Example: Specified Absorbed Power ....................... 223.6 Example: New Element .............................. 253.7 Benchmarking the Code ............................. 28

REFERENCES 35

A FORTRAN Source Code 37A.1 ab.for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38A .2 startup.for ... ... ........... ........ ... .. ...... 44A .3 getx.for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51A .4 getxy.for . . . . . .. . . . . . . .. . . . . . .. . . . . . . . . . . . . . . . 52A .5 newx.for .. . . . . .. .. . . .. . .. . .. .. . . .. . .. .. . . . .. . 53A.6 newxy.for ..................................... 56A .7 opun.for . .. . . .. .. . .. .. .. . . . . .. .. . . . .. . .. . . ... 58A.8 cloze.for . . . . ... .. . . ... . . .. . .. . . .. .. .. . .. . .. . . 59A.9 getgu.for ............... ....... .... ... .... .... 60A .10 saha.for . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 61A .11 zl.for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66A .12 z2.for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68A .13 thcrnil.for ... .. . . . .. . .. . ... . .. . .. . .. . . . . . . . ... 69A.14 therm 2.for .................................... 70A .15 therm e.for . .. ... ... . .. . . .. . . . . . .. . . . . . .. . . .. . . 71A .16 rhsl.for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72A .17 rhs2.for .. . .. . .. .. .. .. . .. .. . .. . .. . . . . . . .. . . ... 73A .18 gesl.for . .. .. .. .. .. . . .. . . . . . ... . . .. . . . . ... . .. . 74A.19 itery.for . . . .. .. ... . . . ... . .. .. .. . .. . . .. .. .. . . . . 76A .20 getyh.for ....... ................... ... . ....... 77A .21 getye.for .. . . . .. ... . . . .. .. . .. .. . . . . . . . . .. . . . .. 78A.22 getwyh.for .................................... 79

iii

Page 5: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.23 balance.for .................................... 80A.24 nuy.for ......... ...................................... 82A.25 resl.for ......... ...................................... 84A.26 res2.for ............................................... 85A.27 gas.for ......... ...................................... 86A.28 rocket.for ............................................. 88

A.29 output.for ......... .................................... 89

A.30 opunhdr.for ........ ................................... 93A.31 filename.for ........ ................................... 95

A.32 specshow.for ........................................... 96

A.32 zlshow.for ......... .................................... 97A.34 z2show.for ......... .................................... 98A.35 shutdown.for ........................................... 99

A.36 format.fo: . .......................................... 101

B Input Files 102B.1 abx.in ......... ...................................... 103B.2 abxy.in ......... ...................................... 104B.3 ar-0.in ........ ...................................... 105

B.4 ar-l.in ........ ...................................... 110

B.5 ar-2.in ......... ...................................... 113B.6 ar-3.in .......... ...................................... 11613.7 ar-4.in ......... ...................................... 117B.8 c-0.in ............................................... 118

B.9 c-l.in. ................................................ 121B.10 c-2.in ............................................... 123

B.11 c-3.in ......... ....................................... 126B.12 c-4.in ............................................... 127B.13 h-O.in ............................................... 128B.14 h-l.in ............................................... 129B.15 n-0.in ............................................... 130B.16 n-l.ii .......... ....................................... 134B.17 n-2.im. ................................................ 137B.18 zi-3.iii. .......................... ....................................... . !... 140B.19 o-0.in. ............................................... 142B.20 o-l.in ............................................... 144B.21 o-2.in ............................................... 148B.22 o-3.in. ............................................... 152B.23 o-4.in ............................................... 155

iv

Page 6: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* List of Tables

I Particle density comparision between Selph's and author's codes for CO2 , at6000 K and one atmosphere .................................. 33

2 Thermodynamic properties comparison between JANNAF tables and author'sprogram, for some nitrogen species .............................. 34

List of Figures

I Maximum Absorbed Thermal Power and Ideal Rocket Jet Power vs. ChamberTemperature, CO 2, P = 1 atm. Upper curve represents Absorbed ThermalPower ................................................. 24

2 Equilibrium chemical composition of nitrogen plasma at atmospheric pressure. 303 Equilibrium chemical composition of nitrogen plasma at atmospheric pressure.

(Cainbel, p).138, used without permission) ..... ................... 314 Mole fraction equilibrium chemical composition of air at one atmosphere pres-

sure ................................................ 32b Mole fraction equilibrium chemical composition of air at sea-level density.(Cambel,

p.86, used without permission) ................................ 32

Accesion For

NTIS CRA&IDTIC TABU.;annouticedJustitication ...........

B y ..... ......... ............. . . .Dist ibutioll I

Availability Codes

Avail and ' or'Dist Special

"t-

*v

Page 7: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

AcknowledgmentsI thank Drs. George Miley (U. Illinois) and Franklin Mead (Phillips Lab) for advising

me at school and at work. I also thank Dr. Jack Nachamkin (Phillips Lab) for showingme patience while I "rediscovered" the methods he originally suggested. I prcpared thisdocument with IiTEX.

vi

Page 8: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* 1. INTRODUCTION

Interplanetary missions will need rockets with high specific impulse and high specific power.Nuclear fusion, the power source of the Sun, could power a rocket for these interplanetarymissions. [1J-[81 While a voyage to Mars, for example, would take almost a year withchemical propulsion, a fusion-powered rocket could get there in months. The hightemperature of fusion plasmas (already found in experimental fusion reactor concepts) wouldgive Isp'S of 1000's of seconds. The large energy release from fusion reactions would givethe necessary specific power.

If the rocket could pick up more propellant when it arrived at Mars, it would not need tocarry out propellant for the voyage back, This would reduce the overall mass of the inflightrocket, increase the thrust-to-weight ratio, and reduce transit time. A source of suchpropellant is the Martian atmosphere, which is 95% CO2.

The JANAF Thermodynamic Tables [91 give, up to 6000K& the enthalpy, entropy, and heatcapacity of several elements and molecules. However, fusion plasmas have temperatures inthe 100's of keV (109 K). By rederiving theoretically, as the JANAF tables do, thetheromodynamic properties of the fusion rocket propellant, but using extended excitationlevels, we can estimate rocket performance above 6000 K.

At high temperatures, as molecules in the gas dissociate into their atomic components,chemistry simplifies. Although probability increases with temperature that a molecule willoccupy a higher excited state, the number of molecules decreases with temperature. Oncemost of the molecules have dissociated, the remaining molecules have little effect on thethermodynamic properties of the total gas.

At temperatures below 6000 K, the number of chemicals to consider is overwhelming.Computer codes exist, such as Selph's "ISP Code"[101, that first identify chemicals present

at a given temperature and pressure, and then interpolate JANAF table data to find theirpartial densities at equilibrium. From this they calculate the total gas thermodynamicproperties.

The code described here considers: mixture of argon (Ar), carbon (C), hydrogen (H),nitrogen (N), and oxygen (0), up through Arv, Cv, H11, N,v, and Ov; any diatomiccombinations of these elements, both neutral and singly ionized. The user can enter inspectroscopic data for his own elements. Program results agree with Selph's code at 6000K, for dominant species, output graphs of nitrogen species densities ( 3000 K to 30,000 K)and air species mole fractions ( 3000 K to 10,000 K ) match Cambel[ 111.The second edition also has the additional feature of being able to calculate rocketperformance based upon the input of a specific quantity of energy when running the code.This is especially valuable for calculating the high temperature performance of laser, fusion,and antiproton thermal propulsion system which add heat to a working fluid or propellant.

@1

Page 9: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

2 THEORY

2.1 Saha Equation

Mass Action. Assume diatomic molecules, A2 , which dissociate into atoms, A. At equi-librium, write the dissociation reaction

A2 "--- 2A -UD,A,, (1)

where utD,A2 represents the dissociation energy of the reaction. According to the law of massaction [12], write the equilibrium constant of the reaction in terms of the inventories, N, ofthe individual species.

KA2 = A (2)

Partition Function. The total energy of a particle consists of its translational andinternal energies. Neglect nuclear excitation, and assume separable rotational, vibrational,and electronic energies, to write the particle Hamiltonian, 7W,

Riot= 74tr + 7+ +rof + ib + 9iel. (3)

For a particle partition function, write[13]

Zm, = ZtrZ.otZ&ibZ.I, (4)

where

Z11 = 2rm-)/ 2 (kT) 3/ 2V, (5)

Ze,, = _gexp(•# , (6)

Z,., T (7)

z,, T e-(8)

and m represents the particle mass; h represents Planck's constant; k represents Boltzmann'sconstant; T represents the gas temperature; V represents the gas volume; ui representsthe energy of the ith electronic excitation state; gi = 2J + 1 represents the degeneracy(multiplicity) of the ith electronic excitation state; J represents the total angular momentumquantum number; e1o9 represents the characteristic temperature for rotation of the groundstate (electronic) of the molecule, and

8ir2IkT (9)

2

Page 10: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

where I represents the moment of inertia of the molecule; 0,,ib represents the characteristic

temperature for vibration of the ground state (electronic) of the molecule, and

hv (0eVTb = hi' (10)

where v represents the vibration frequency of the molecule.

Electronic excitation energies, ui, and the degeneracies, gh, come from spectroscopic

data[14]. Similarly, find ero and 0 vib for diatomic moleculesa in Hubr k Herzberg[16].Atomic species have no vibrational or rotational energy, so that

Z, ot = Z,,ib = I (atomic species). (-4)

In terms of the total partition function, write the reaction equilibrium constant in Eq.(2)as 2hKA2 = Aexp ( A) (12)

S•ZAex \ T-

Ideal Gas. Assume an ideal gas (a better approximation as more molecules dissociate),

PV = NkT, (13)

and substitute V into Eq.(5):

Zt= (27rm) 3 / 2 (kT)5 / 2 N, (14)

where N represents the total number of particles in the gas, specifically "heavy" particles,

Nh, (molecules, atoms, ions) and electrons, N,.

N = Nh + ±N,. (15)

Normalize all species particle inventories to the total number of nuclei, No, present in the

gas, and define the nuclear fractions (similar to Cambel[ll ]):

YA3 2NA, (16)No'

YA NA (17)

Nh and (18)

Ye (19)

Using Eqs.(lC)-(19) in Eqs.(2) and (12) gives the first Saha equation:

Y2 2r)/231 5/2=A T2 3/2 (kT) Z,,,A UD,A, (20)

YA 2 ((Yh + Ye) \Ye 1 mA2 I P (ZlZrtZv.ib)A, \ 'kT

3

Page 11: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

using the component partition functions for the total partition lunctions, and simplifying 0the translational partition function for A2 and A. Note that by taking mA, = mA + mA,

the second right-hand-side term (in parentheses) becomes the reduced mass of the particles.Also note that, for a given temperature and pressure, the value of the right-hana-side ofEq.(20) is known (abbreviated R).

Ionization. Now consider ionization as well as dissociation. At equilibrium,

A+j - A+j+' + e- - u1 ,, (21)

where j + 1 represents the degree of ionization and ujj represents the energy of the jthionization. Equate the two forms of the reaction equilibrium constant to write

Ai+1 Ye _ 2w0 3/2 (T 5/2 Z~,,IA+,+ 1ti

YA+j(Yh + Ye) =P ZeI,A+j C k(

Chemical Reactions. Now consider a chemical reaction between clemcnts A and B thatforms the compound AB. At equilibrium,

AB A + B - URAB, (23)

and so

YAYB (2,r 3/2 mAmD 3/2 (kT) 5/ 2 Zel,AZeI, p (--J?'AB (24)YAB(Yh + Y.) \h 2 U7 A + mB/ P (ZCIZ,.otZVib)A_ kT .

If the compound AB ionizes,

AB - AB+ + e- - U1,AIJ, (25)

andYAB+YM ('2irmý )3/2 (kT)5 / 2 (ZerZrotZvib)AU÷ (- A) (26)

YAB(Yh + Y5) h2 P (Ze1ZroZib)AD e kT ) *

Saha Equations. Solve the following set of non-linear, coupled, algebraic equations:

YA+Ye = RA1, (27)YA+(Yh + YJ)

YA+(Yhe _I = RA2, (28)YA Y.+ Ye)

1JA+3Ye = RA3, (29)YA+2 (Yh + Y,)

YA+4ye = R14, (30)YA+3 (Yh + Y.)

4

Page 12: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

=A RAo, (1YA2 (1h + (31)

1/4 RA7, (32)1/A, (1h +1c

1/8+ Y9 = R1,(33)

1/8(1h + Y.)1/8+2 Ye = R82, (34)

1/8+ (1/h + ,e)

1/8+2 (1h +1/e) = - ,(5

1/8+41/. = RV4, (6YvY+a(Yh +

(36)

2

YBa (Yh + (37)

ý L = Ra7, (38)lila (?Jh + 1c

1/AU = Y RAVI, (39)!/AB(h+ )

1/A D =Y RA 92, (40)

A/ = /A + YA+ +YA+ + YA+3 + YA+4 +YA + YA+ + (41)1/8 + Y8+ + ?JD+2 + !1B4 + IJB+' + I/Ba + YB,+ +

1/AD + YAB+,

Ye = 1/A+ + 2 yA+a + 3 yA+3 + 41/A+' + yA4 + (42)1/8+ + 2yjB+a + 3yB~+3 4Y+41/ + YBne +

3/O,A = 1/A + YA+ + YA+3 + 3/A+3 + 1/A+' + 2yA2 + 2yA + 1/AD + YAD+, (43)YO,B = 1/B + 1/8+ + YVt+' + 1/i+3 + /8+4 + 21/Ba + 2 yuBk + 1/AD + YAB+, (44)

1 = YO,A + YO., (45)

where the R (for "RHS", right-h,.nd-side) represent the known functions of temperature andpressure, and 1/O,A and 1/0,B represent the stoichiometric fractions of elements A and B.

With solved E~qs.(27)-(45), the mole fraction of the kth species becomesk NVOYk A (46)

N NO1h + Y.) (/h + y'),(6

Similarly, the partial density of the kth species becomes

Nk-Ny, P /k -P (7

5

Page 13: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

2.2 Thermodynamic Functions

Sum the energies in translation, excitation, vibration, electronic excitation, dissociation,ionization, and chemical reactions to get the total energy, U, of the gas. Thus,

U = U1, + Urot + Uvib + U, + Uo + UI + Ug. (48)

Sum the internal energy of the gas and the thermal excitation to get the enthalpy of the gas,H:

:U+PV. (49)

Divide H by n = NINA,,, the number of moles, where NA. is Avagadro's number, to get themolar enthalpy, h:

h = H- (50)

,U= NA,, -+ NA.kT,

substiting PV = NkT into the second term. Divide the gas energy by the numbcr of particlesto get the average particle energy,

UU = Y(51)

= fit, +iUib + i4.9 + fid + UD + fiD + iRa.

Examine each of the average energies separately.Each of the three degrees of freedom of translation has kT/2, and so the average trans-

lational energy, ii,, becomes- 3Ugr = UkT. (52)

Assume that the average rotational and vibrational energies for diatomic molecules havekT each, a valid approximation at high temperatures.

fiUp = fivib = kT. (53)

Find the average electronic excitation energy, ue1, from

,del = • uigi exp(-ui/kT) (54)e ,l gi exp(-ui/kT) '

_ i, uigi exp(-ui/kT)

Zel

Find the average dissociation, ionization, &nd reaction energies:

RD = UD, (55)fit = u1 , and (56)UR = UR. (57)

6

Page 14: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

Recognize that NAAk = R = 8.314 J/mol, the gas constant, so the enthalpy becomes

h RT 5 + (2) + ile + uo + uI - (U) (58)

Atomic species do not have the inner terms in parentheses, since they have neither rotationalnor vibration energies, nor have reacted chemically to form a compound.

Define the constant pressure heat capacity, c,

S= 0 hi (59)

= R (' + (2)) + NA,-iu, .

Recall the definition of iig from Eq.(55), to find the rightmost term:

7 0 (E0 uig, exp(-uj/kT)(,a,= ,(60)1 0

- ~Z T uigi exp(-ui/kT) -

j, uigi exp(-ui/kT) .Sz'2, OT Z.,

=g, exp(-ui/kT)

E, uigi exp(-u,/kT) , uBigi exp(-u,/kT)'•

ZeI Ze I'

Therefore, write the heat capacity

cp=1R + (2) + kT 2 (61)

Express a difference in entropy by[16]

s• -s= 1-4-CT -- Rln P' (62)

Operate on cp, in Eq.(61), to evaluate the first right-hand-side term:

I T-2 dT 5 \T T2 a dTcp f = y R (-+ (2)) In#- + NAI c"5jU (63)

* 7

Page 15: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

/T3 a_ dT d (64)S =__)- i, (64)

Te Tj

Note that

,T Ze , gi exp(-uj/kT)m, (65)e9(1/T-)--•' = (I/T).

= gi exp(--u,/kT) (U) M1

T Ei- uig, exp(-ui/kT)m,i

kSo

fiieId( = k kf,(J. IT) d() (66)f Ztd T = GkJ1

--- k / dZ j

I "

Substitute all the terms back into the original equation to get

82-1=+R + (2) n + inP21. (67)

For convenience, take state 1 at standard temperature and pressure (STP: T = 298.15 K,P = 1 atm).

Gas Thermodynamic Properties. Equations (58),(61), and (67) give formulae for theenthalpy, heat capacity, and entropy difference for individual species present in the gas. Toget the entropy, heat capacity, and entropy for the entire gas, sum the contributions fromeach species. For example, write the gas enthalpy

hgas hi Yi (8, (yh. +"' (68)

where hi represents the enthalpy of the ith species, and Yi/(Yh + Ye) represents the molefraction of the ith species. Find gas heat capacity and enthalpy difference in a similarmanner.

Absorbed Thermal Power To calculate the maximum absorbed thermal power, assumethat the working fluid (propellant) initially has no cnthalpy, so ho = 0. The maximumabsorbed thermal power, Pab,, becomes

"Pab, = riLhh,,, (69)

where rh represents the mass flow rate of the propellant.

8

Page 16: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* 2.3 Rocket Applications

To estimate rocket performance, make several assumptions [18]:

1. Homogeneous propellant does not vary in composition throughout the rocket chamberand nozzle.

2. The propellant obeys the perfect gas laws.

3. The propellant flows adiabatically.

4. The propellant flows steadily; expansion occurs isentropically, without shocks.

5. Exhaust gases have axially directed velocity.

6. Nozzle expansion does not change the chemical equilibrium established in the chamber("frozen flow").

7. Propellant contains gaseous species only.

The diatomic species do not exacly follow the ideal gas assumptions, since they havedegrees of freedom in rotation and vibration. At high temperatures, as the diatomic speciesdissociate, the ideal gas assumption improves. As the nozzle expands and the temperatureand pressure decrease, the dissociation/ionization equilibrium changes. However, assumethat expansion occurs quickly enough that the equilibrium at the exit remains unchangedfrom the chamber, and that the expansion occurs isentropically (reversibly). Use the frozenflow approximation, rather than calculate the equilibrium conditions at both the chamberand exit, since the Saha equations do not give correct answers at very low pressures.'

Since the expansion occurs isentropically,

Th- ( =Pe (70)

where y = 5/3 = c,,/c,, for an ideal gas. The heat capacity for an ideal gas remains constantat c% = R5/2, so conservation of energy yields

1 2(I _ .1,2) = h, , - h, (71)2

= CP(T, - T).

Assume that the axial velocity of the propellant in the chamber, v, is small compared tothe exit velocity, v.., to solve for the exit velocity:

Vex = F2c(T,,, -T, (72)

'The Saba equations describe equilibrium brought about from collisions. At low pressures, fewer collisionsoccur, and equilbrium occurs by way of longer-range interactions ("coronal equilibrium"). This projectconsidered only Saha equilibrium.

* 9

Page 17: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

= R ex- ( ) 2 /5].

Convert R from J/K/mol to J/K/kg by dividing R by the average molecular weight, M"W,

where --_ =oAMWA + yOBMWB (73)

(Yh + Y.) '

to get

1 _ ( Pe \2/51V.. •5 _T R 1 T P-// (74)

The exit velocity gives thrust, F, specific impulse, Ip, and jet power, Pjes:

F = h., (75)

I., = L-.-, and (76)g

Pijc, = 12 mve*• (77)

100

Page 18: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* 3 USER'S MANUAL

This section tells how to use the code, what the input parameters mean, what techniques workbest for the desired results, where to look for output, and how to create new input elements. Ifthe user has trouble, the author receives internet email at the address nachtriebtuiuc, edu,or US mail care of the Phillips Laboratory.

3.1 Starting Up

By making a directory on the hard-drive to which all the program files may be copied, theuser can keep input and output files separate from other programs, and can keep track ofthe output files the program creates. To do so, at the prompt (something like C: \>), type:

C:\> md sahaC:\> copy a:*.* c:\sahaC:\> cd \sahaC:\SAHA>

These commands make a directory named SARA, copy the program files from floppy to thenew directory, and then change into the new directory.

To run the code, type the program name, ab:

C:\SAHA> ab

Several examples might prove helpful for demonstrating how to operate the code.

3.2 Example: Carbon Dioxide, One Temperature

A few lines of introduction greet the user, after which the program prompts the user toindicate which two elements he wishes the program to work with.

Program: AB.FOR, ver. 1.3; Author: R.Nachtrieb, Jan 93;OLAC-PL/RKFE Edwards AFB CA 93523-5000internet email: nachtrieb~uiuc.edu

Ar, C, H, N, 0Which two (2) elements to use?(C ,a ]

The user types the letters corresponding to the symbols of the elements he wishes toconsider. The program suggests four elements: carbon, hydrogen, nitrogen, and oxygen,as indicated by C, H, N, 0. In hard brackets, the program displays the current (default)setting. If the user wants to use the default settings, he simply presses <Enter>. Otherwise,

Page 19: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

he can type in two element symbols, separated by either a space or a comma. Assume that

the user accepts the default elements and presses <Enter>.Once the user has entered in his selections, the program echoes back the selection. Note

that the program is case sensitive, so, for example, it does not recognize n as nitrogen; theuser should use N for nitrogen.

Using C ,0 ,CO

Stoichiometric Proportions of C .0 ?E 1.O00E+O0, 2.OOOE+O0]

The program then asks the user for the relative proportions of each element. For example,if the user wished to analyze carbon dioxide, the user could indicate that there was one partof carbon for two parts of oxygen. Note that this program does not consider polyatomicmolecules, only diatomic; but the user can approximate gases like C02 by giving the samestoichiometric proportions as CO2.

Proportions of C ,0 1.OOOE+00 2.OOOE+00

Chamber, exit pressures (atm)?1 .00E+O0o, O.O00E+O03

The program prompts the user for the chamber pressure, in atmospheres, to use in theSaha equations. The exit pressure is used to calculate ideal rocket performance. At lowpressures, the Saha equations no longer give the correct equilibrium spccies distribution,since collisions between gas molecules occur infrequently. Thus, while the program may giveanswers for chamber pressures below 10-1 atm, the user should not trust them. The programdoes not invoke the Saha equations to calculate equilibrium conditions at the nozzle exit, sothe user may enter zero pressure (vacuum) for the exit.

pressl.press2 (atm) 1.OOOE+O0 O.OOOE+O0

Specify Temperature (T) or Absorbed Power (P)?

rT)

The program asks the user either to specify the chamber temperature and calculate the

absorbed power, or to specify the absorbed power and calculate the chamber temperature.The program actually uses the chamber temperature as an indcpendcit variable and calcu-lates the absorbed power. When the users specifies a desired absorbed power, the programvaries the chamber temperature until the calculated absorbed power matches the desired ab-sorbed power. A later example describes specifying the absorbed power. For this example,choose to specify the chamber temperature, T.

12

Page 20: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. T

Chamber temperature range: templ(K),temp2(K),howmany?( 6.000E+03, 3.000E+04, 1]

The program asks the user for the temperature range to consider. If the user wishes toconsider a single temperature, lie types in the low and high temperatures of the temperaturerange, and then types a 1. The program checks to see how many temperatures the userwants to consider: if the user has entered in a 1, the program ignores the second (high)temperature and considers only the first. Thus, to consider a gas with temperature 6000 K,the user types 6000, followed by a space, another temperature (any number will do, sincethe program ignores it), and then a 1.

The program can run for temperatures below 6000 K. However, since it does not considerpolyatomic molecules, the program looses accuracy the further below 6000 K the user specifiesthe temperature. Below 6000 K, the user should use Selph's "Isp" code.

tempi(K),temp2(M),hovmany 6.000E+03 3.OOOE+04 I

View loop progress: inner,middle,outer?C 20, 20, 20]

The numbers that the user enters tell the program how many loop iterations the programshould count before printing a progress message to the screen. On personal computers, theSaha equations may take a long time to converge, especially if the computer does not havea numeric co-processor. To reassure the user that the program runs properly, the programprints convergance factors to the screen, with the number of times the program loops hasiterated. Using fast computers, printing out to the screen every loop slows down the program;but using slow computers, the user can't tell if the program works or not, since the programtakes a long time to show signs of activity.

Sugestions. The first time the user runs the program, try entering 20 20 20. If theprogram seems to iterate the numbers as fast as it can, that is, the program does not pausebetween progress updates, try increasing the numbers to, say, 100 100 20. The first twonumbers need not be greater than 100, since the loops usually converge in fewer than 100interations.

The programn is "done" when the final residual (sum of all the albsolutc values of thedifferences between the left-hand-sides and the right-hand-sides of the Saha equations) dropsbelow e, where e = 10'. When the outer loop residual gets down around 10-6, it startsbouncing around. If the residual doesn't drop below e within a specified number of outerloop iterations (the last of the three numbers the user types), the program stops. Usually20 outer loop iterations suffices.

Note that only the final of the three numbers affects the accuracy of the program results.In all cases, the loop residuals must drop below e. However, if the program can't quite getthe outer loop residual below E, but comes close, the user can stop calculations after, say, 20iterations.

* 13

Page 21: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

seein,seemid.maxout 20 20 20

mass flow rate (kg/s)?f 1.oooE+00o

Finally, the program asks the user for the mass flow rate. The program uses the massflow rate to determine the thrust an ideal rocket nozzle produces.

After reading the mass flow rate, the program has all the information it needs to run asingle temperature case. It echoes back the information, and then starts to work. First itreads in spectroscopic data from disk.

mdot: 1

Getting data from file C-.O.inGetting data from file CO.inGetting data from file Cl2.inGetting data from file C_3.inGetting data from file C-..inGetting data from file C_4.inGetting data from file 0.1inGetting data from file Ol2.inGetting data from file 0_3.inGetting data from file 034.in

Then the program starts to work on solving the Saha equations. It writes to the screenwhat temperature (in K) and pressure (now in pascals, P: it considers. It also writes sixcolumns of numbers, which tell the number of loop iterations and the residuals for the threeprogram loops.

temp(K), pressl(Pa) 6.OOOE+03 1.013E+05in.loop wyhX-yOX mid.loop wyh-1 out.loop residual

2.OOOE+01 2.546E-07

When the program has finished with a temperature, it prints out the maximum absorbedthermal power and the jet power, thrust, and specific impulse that an ideal rocket wouldproduce. The program also tells which file to examine to get the complete information itcalculated.

Pabs, Pjet (W) 2.541E+06 5.556E+06Thrust (N),Isp(s) 3.333E+03 3.399E+02

Look for output in file (CO.out )Press <Enter> to exit program...

14

Page 22: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

Note that for the last example, the jet power exceeds the maximum absorbed thermalpower. This counterintuitive result comes from assumptions made for the ideal rocket. Athigher chamber temperatures the maximum absorbed thermal power exceeds the jet power,as it should.

Single-Temperature Output File. We can print a hardcopy of the output file, CO. out,by typing at the MS-DOS prompt:

C:\SAHA> type co.out > prn

However, after several runs, this may amount to a large stack of paper. An easy way to viewthe program on the screen uscs the "Browse" function of Frailey's DCOM program (or anASCII text editor).

The first few lines of the output file echo back the users input.

Using C ,0 ,COStoichiometric Proportions of C ,0

[ 3.333E-01, 6.667E-01]chamber, exit pressures (atm)

C 1.013E+05, O.OOOE+00]Temperature range: templ(K),temp2(K),howmany[ 6.OOOE+03, 3.OOOE+04, 1)

mass flow rate (ka/s)t 1.O00E+O00

Next, the file contains the partition functions for all species considered in the program.Partition functions for atomic species appear in the first five columns, in increasing orderof ionization. The sixth and seventh columns contain partition functions for homonucleardiatomic species, also in order of increasing charge. The three rows of data contain theelectronic (labeled el at the far left), rotational (rot), and vibrational (vib) partition func-tions, respectively. (Note that the rotational and vibrational partition functions for theatomic species have 1. OOOE+00.)

Partition function data for the heteronuclear, diatomic molecule follow the elementalpartition function data. Only the diatomic columns contain data, in the same clectronic,rotational, and vibrational row order.

Partition Function: Catomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

el 9.377E+00 5.939E+00 1.O00E+00 2.OOOE+O0 1.000E+O0 8.794E+01 5.570E+01vib 1.OOOE+O0 1.OOOE+O0 1.OOOE+0O 1.OOOE+O0 1.OOOE+0O 2.292E+03 2.515E+03rot 1.OOOE+O0 1.000E+00 1.000E+0O0 1.O00E+O0 1.O00E+O0 2.249E+00 3.090E+00

15

Page 23: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

Partition Function: 0atomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

el 8.947E+00 4.016E+00 8.604E+00 5.646E+00 1.OOOE+O0 8.005E+01 3.594E+01vib 1.OOOE+O0 I.OOOE+O0 1.OOOE+0O 1.OOOE+O0 1.OOOE+00 2.886E+03 2.466E+03rot 1.OOOE+00 1.000E+00 1.OOOE+O0 1.OOOE+O0 1.OOOE+O0 2.640E+00 2.190E+00

Partition Function: COatomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +i +2 +3 +4 neutral +1

el 8.390E+01 4.540E+01vib 3.227E+01 1.073E+02rot 2.844E+00 3.185E+03

The output file contains the right-hand-sides of the Saha equations, found in Eqs.(27)-(45).

Right-hand-sides of Saha Equationatomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

C 1.998E-07 5.122E-19 O.OOOE+O0 O.OOOE+O0 O.OOOE+O0 1.240E+00 6.017E-080 1.502E-09 5.827E-27 O.OOOE+O0 O.OOOE+O0 O.OOOE+O0 1.083E+01 2.434E-08CO 1.782E-04 8.278E-10

The solution to the Saha equations gives the nuclear fractions, that is, the species inven-tory divided by the total number of nuclei.

Nuclear fractions,yatomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

C 1.265E-04 6.198E-07 7.789E-21 O.OOOE+O0 O.OOOE+O0 9.868E-09 2.914E-110 3.068E-01 1.131E-05 1.616E-27 O.OOOE+O0 O.OOOE+O0 1.331E-02 7.944E-06CO 3.332E-01 6.767E-06

yh,yeyh+ye,beta 6.535E-01 2.664E-05 6.535E-01 4.076E-05

Dividing the nuclear fractions by the sumn of the electron fraction and the heavy fraction,yh+ye, gives the mole fractions.

Mole fractionsy/(yh+ye)atomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

C 1.935E-04 9.484E-07 1.192E-20 O.OOOE+O0 O.OOOE+O0 1.510E-08 4.458E-110 4.695E-01 1.730E-05 2.473E-27 O.OOOE+O0 O.OOOE+O0 2.036E-02 1.216E-05CO 5.099E-01 1.036E-05e- 4.076E-05

16

Page 24: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

The output file contains the densities of the species, per cubic meter.

Species densities (m'-3)atomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

C 2.367E+20 1.16"E+18 1.458E+34 O.OOOE+O0 O.OOOE+O0 1.847E+16 5.453E+130 5.743E+23 2.117E+19 3.025E-03 O.OOOE+O0 O.OOOE+O0 2.490E+22 1.487E+19CO 6.236E+23 1.267E+19e- 4.986E+19

One finds the molar heats of formation of the species by adding half the dissociationenergy to the ionization energies, less the reaction energy. The output file lists heats ofreaction for the species; subsequently, the enthalpies listed include the heats of reaction togive "absolute" enthalpy. The output file also lists the total gas enthalpy.

Heat of formation (3/mol)atomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

C 2.996E+05 1.299E+06 3.462E+06 7.710E+06 1.343E+07 O.OOOE+O0 1.167E+060 2.465E+05 1.455E+06 4.574E+06 9.449E+06 1.632E+07 O.OOOE+00 1.158E+06CO -S.152E+05 8.356E+05

* Enthalpies (J/mol)atomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

C 4.305E+05 1.512E+06 3.864E+06 8.483E+06 1.471E+07 2.369E+05 1.399E+060 3.745E+05 1.686E+06 5.080E+06 1.038E+07 1.785E+07 2.310E+05 1.387E+06CO -2.812E+05 -2.850E+05e- 1.247E+05CO gas 3.727E+04

Thc output file also contains species and gas heat capacities and entropy differences (fromSTP).

Heat capacities (C.p) (J/K/mol)atomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

C 2.318E+01 2.084E+01 2.083E+01 2.079E+01 2.079E+01 4.169E+01 3.971E+010 2.227E+01 2.223E+01 2.166E+01 2.080E+01 2.079E+01 4.024E+01 4.028E+01CO 4.100E+01 4.OOOE+01e- 2.079E+01CO gas 3.219E+01

* 17

Page 25: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

Entropy diff (from STP) (J/K/mol)atomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

C 2.318E+01 2.084E+01 2.083E+01 2.079E+01 2.079E+01 4.169E+01 3.971E+010 2.227E+01 2.223E+01 2.166E+01 2.080E+01 2.079E+01 4.024E+01 4.028E+01CO 4.100E+01 4.OOOE+01e- 6.240E+01CO gas 9.313E+01

Finally, the output file lists the rocket performance.

Thrust(N),Isp(s) 3.333E+03 3.399E+02Pabs, Pjet (W) 2.541E+06 5.556E+06

The program stores the user's input parameters in file AB. in, and offers the parametersas defaults (in hard brackets) the next time the user runs the program.

3.3 Example: Carbon Dioxide, Multiple Temperatures

To examine multiple temperatures, the user enters in data in much the same way as for asingle temperature. Once again, run the program,

C:\SAHA> ab

and provide the program with the information it requests:

Program: AB.FOR, ver. 1.3; Author: R.Nachtrieb, Jan 93;OLAC-PL/RKFE Edwards AFB CA 93523-5000internet email: nachtriebtuiuc.edu

Ar, C, H, N, 0Which two (2) elements to use?[CC ,0 1Using C ,0 ,CO

Stoichiometric Proportions of C ,0 ?[ 1.OOOE+O0, 2.OOOE+0O]Proportions of C ,0 1.OOOE+00 2.OOOE+00

Chamber, exit pressures (atm)?C I.OOOE+O0, O.OOOE+0])pressl,press2 (atm) 1.OOOE+O0 O.OOOE+00

18

Page 26: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

Specify Temperature (T) or Absorbed Power (P)?[T]TChamber temperature range: templ(K) ,temp2(K),howmany?[ 6.OOOE+03, 3.OOOE+04, 1]

Now the user, instead of selecting only one temperature, inputs the temperature rangehe wishes to consider, and the number of divisions within that temperature range. If theuser enters in 2 for howmany divisions, the program considers the lower and upper bounds;if the user enters 3, the program considers the lower and upper bounds, and a temperaturemidway between the two, and so on.

Try entering in

6e3 30e3 3

The program echoes back the user's selection, and then prompts for a new input:

templ(K),temp2(K),howmany 6.OOOE+03 3.OOOE+04 3

Print density (1) or mole fraction (2) ?[W)

When the user selects more than one temperature for the program to consider, the programoutputs information in a different way: instead of writing all information to one file, theprogram write specific information to many files. This makes it easy for the user to importa file of, say, species densities vs. temperature into a graphing program. In this way, theuser simply looks at the particular file to see enthalpy, heat capacity, entropy, mole fraction,density, or rocket performance. Unfortunately, MS-DOS limits the number of files a user(actually, the program) can have open at one time. Thus the user must choose whether tomake files that contain species densities, or to make files that contain species mole fractions.Note that if the user wants buth density and mole fraction, he can run the program twice,and specify density the first time and mole fraction the second time.

The rest of the inputs follow the single temperature example.

de:-.smol [1]

View loop progress: inner,middle,outer?[ 100, 100, 20]seein,seemid,maxout 100 100 20

mass flow rate (kg/s)?[ 1.OOOE+00]mdot: 1

19

Page 27: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

After the user has input the information, the program reads atomic spectra data frominput files, and starts to work.

Getting data from file CO.inGetting data from file C-A.inGetting data from file C_2.inGetting data from file C_3.inGetting data from file C_4.inGetting data from file OO.inGetting data from file Ol.inGetting data from file 0_2.inGetting data from file O_3.inGetting data from file O_4.in

Since the program now considers multiple temperatures, it gives, for each temperature,the pressure, progress updates for the loop calculations, and rocket performance.

temp(K), pressl(Pa) 6.OOOE+03 1.013E+05in.loop wyhX-yOX mid.loop wyh-I out.loop residual

2.OOOE+01 2.546E-07Pabs, Pjet (W) 2.541E+06 5.556E+06Thrust(N),Isp(s) 3.333E+03 3.399E+02

temp(K), pressl(Pa) 1.800E+04 1.013E+05in.loop wyhX-yOX mid.loop wyh-I ou .lcop residual

2.OOOE+01 1.126E-06Pabs, Pjet (W) 7.476E+07 4.561E+07Thrust(N),Isp(s) 9.551E+03 9.740E,02

temp(K), pressl(Pa) 3.OOOE+04 1.013E+05in.loop wyhX-yOX mid.loop wyh-1 out.loop residual

2.OOE+01 1.859E-06Pabs, Pjet (W) 1.166E+08 9.779E+07Thrust(N),Isp(s) 1.398E+04 1.426E+03

Finally, the program tells the user which files to examine for the output data. Notethat the filenames follow mnemonic convention: to see a file containing maximum absorbedthermal power, jet power, rocket thrust, and specific impulse as a function of chambertemperature, see file CO.rkt. out; for carbon species densities, see fiue C-den. out, and soon.

Look for output in files:(C.eth.out )(Oeth.out )

20

Page 28: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

(COeth.out )(CCp.out )(OCp.out )(COCp.out )(C.etr.out )(O.etr.out )(CO-etr.out )(C-den.out )(O.den.out )(CO.den.out )(CO.rkt.out )Press <Enter> to exit program...

Multiple-Temperature Output Files. When the users selects multiple temperatures,the output files created contain data in columns. For example, the file C0_rkt. out containsrocket performance data, as a function of temperature:

CO rocket performance parameterstemp(K) Pabs(W) Pjet(W) thrust(N) Isp(s)6.OOOE+03 2.541E+06 5.556E+06 3.333E+03 3.399E+021.800E+04 7.476E+07 4.561E+07 9.SS1E+03 9.740E+023.OOOE+04 1.166E+08 9.779E+07 1.398E+04 1.426E+03

The program creates three output files for density (or mole fraction), enthalpy, hcatcapacity, and entropy. Thus, file C-den. out contains the desities of all the carbon atomicspecies, the homonuclear diatomic carbon species, and the total electron density. Similarly,file O-den. out contains density for oxygen species, and the total electron density. The fileCOden. out contains density of carbon monoxide species, and the total electron density. Theprogram writes the same total electron densities to each file as a safety check: if the userplots all the densities on the same graph, discrepancies in electron density alert the user toan error (for example, plotting a file from a different program run).

3.4 Example: Nitrogen, Multiple Temperatures

Suppose the user wants to consider a single element, say nitrogen. Run the program, andafter it asks for the elements to consider,

Ar, C, H, N, 0Which two (2) elements to use?[C ,0 ]

enter in

NN

* 21

Page 29: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

The program echoes back the users selection, and asks for the stoichiometric proportions. 0Using N ,N NN

Stoichiometric Proportions of N ,N ?C 1.OOOE+00, 2.OOOE+O0]

At this point, the user can enter any proportions he desires, since both species are the same.However, a much better way exists:

Hint. When considering only one element, type 0 for one of the proportions. This speedsup the code considerably, since it no longer has to consider "heteronuclear" diatomic species.Try

10

after which the program responds,

Proportions of N ,N O.OOOE+O0 1.OOOE+O0

After this, the program functions as before.

3.5 Example: Specified Absorbed Power

Now run the program again, but this time specify a maximum absorbed power instead of achamber temperature.

Ar, C, H. N, 0Which two (2) elements to use?[C ,0 ]Using C ,0 ,CO

Stoichiometric Proportions of C ,0 ?[ 1.OOOE+O0, 2.OOOE+0]1Proportions of C ,0 I.OOOE+00 2.000E+00

Chamber, exit pressures (atm)?[ 1.OOOE+O0, O.OOOE+O0]pressl,press2 (atm) 1.OOOE+O0 O.OOOE+O0

Specify Temperature (T) or Absorbed Power (P)?[T) PP

The program then does not ask which temperature range to examine, but goes directlyto the loop progress and mass flow rate inputs.

22 0

Page 30: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

View loop progress: innermiddleouter?C 100, 100, 20)seein,seemidomaxout 100 100 20

mass flow rate (kg/s)?C 1.OOOE+00]mdot: 1

The program then gets the input data files and calculates the lower and upper boundson the maximum absorbed thermal power.

Getting data from file CO.inGetting data from file C.1.inGetting data from file C.2.inGetting data from file C.3.inGetting data from file CC4inGetting data from file 0_0.inGetting data from file 0.-.inGetting data from file 0_2.inGetting data from file O.3.inGetting data from file O.4.inGetting lower absorbed-power bound...

S2.000E+01 2.546E-07

Getting upper absorbed-power bound...2.OOOE+01 1.859E-06

Pmin,Pmax (W) 2.541E+06 1.166E+08

The program results have boen verified for pressure P = 1 atm between temperatureT = 6000 K and T = 30000 K. The program thus takes T = 6000 K and T = 30000 K asthe temperature bounds and assumes valid results within those bounds. Using the chemicalcomposition of the propellant and the mass flow rate, the program calculatcs the maximumabsorbed thermal powers at T = 6000 K and T = 30000 K and displays them to the user.The program then asks the user for the desired absorbed thermal power, Pwant. The desiredthermial power must be between the absorbed thermal powers calculated at the boundrytemperatures.

What power to absorb? (W) le7resP epsP temp out.loop residual6.476E+00 1.OOOE-02 1.800E+04 2.OOOE+01 1.126E-063.243E+00 1.OOOE-02 1.200E+04 2.OOOE+01 6.323E-079.781E-01 1.OOOE-02 9.OOOE+03 2.OOOE+01 2.923E-072.619E-01 1.O00E-02 7.500E+03 2.OOOE+01 3.184E-072.144E-01 1.OOOE-02 8.250E+03 2.OOOE+01 2.725E-07

* 23

Page 31: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

6.200E-02 1.OOOE-02 7.875E+03 2.OOOE+01 1.333E-076.580E-02 1.000E-02 8.063E+03 2.00OE+01 3.229E-076.543E-04 1.000E-02 7.969E+03 2.OOOE+01 1.179E-07

Pvant,Pabs,temp 1.000E+07 9.993E+06 7.969E+03Pabs, Pjet (W) 9.993E+06 7.808E+06Thrust(N),Isp(s) 3.952E+03 4.030E+02

The program then searches for the temperature at which the calculated absorbed thermalpower matches the desired absorbed thermal power, to within 1%. The program displaysprogress of decrease in the residuals and the search temperatures. If the user enters a desiredabsorbed power, Pwant, outside the boundries specified by the absorbed thermal powers atT = 6000 K and T = 30000 K, the program returns the user to the beginning of the datainput.

Since the program iterates several temperatures to match the calculated absorbed thermalpower to the desired absorbed thermal power, it asks for only one desired power. However,the absorbed thermal power and the chamber temperature have a one-to-one correspondence.The user can plot the absorbed thermal power and jet power as a function of temperature,as in Fig. I and find the temperature corresponding to the desired absorbed thermal power.

1.25e+08 _

1.OOe+08

7.50e+07

. 5.00e+07

2.50e+07

05000 10000 15000 20000 25000 30000

Chamber Temperature (K)

Figure 1: Maximum Absorbed Thermal Power and Ideal Rocket Jet Power vs. ChamberTcmpcrature, C02, P = 1 atm. Upper curve represents Absorbed Thermal Power.

24

Page 32: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

0 3.6 Example: New Element

Suppose the user wants to run the program with an element the program doesn't yet recog-nize. The program provides a way for the user to enter the information the program needsto run, and save that information to the input files.

The user runs the program, and enters in the elements he wishes to consider, C and Pa.2

Ar, C, H, N, 0

Which tuo (2) elements to use?[N ,N I C Pn

Oops! Couldn't find Pn in file (ABX.in)Make a new element? (l=yes)W1]

The file ABX. in contains input information about the elements the program recognizes, andthe homonuclear diatomic molecules formed by those elements; specifically, the programlooks in ABX. in for the highest ionization state and the mass of the atomic species, for dis-sociation and ionization energy of the homonuclear diatomic molecule, and for characteristictemperatures of rotation and vibration. The program looks through the input file ABX. infor the element Pn, but doesn't find it. It then asks the user if he wants to define a newelement, and provide its characteristic information. If the user says no (0), the program asks

0 the user for two new elements. If the user says yes (1), the program continues.

Let's make a new element...

Highest atomic state (1+highest ionization state)?(01

The highest atomic state refers to the highest ionization level to be considered by the pro-gram. State 1 means the program considers only the neutral atom; state 2 means the programconsiders the neutral atom and the first ionized atom, and so on. Without modification, theprogram considers up to state 5, four ionizations.

The program then asks for the element molecular weight (in anu), the dissociation andioniziation energies of the honinuclear diatomic molecule (in eV). If the diatomic moleculedoes not form, enter a large, negative dissociation energy, say UD = -50 eV, and a large,postive ionization energy, say ul = 50 eV. This convinces the program the "diatomic"molecule very readily dissociates, i.e. does not form, and cannot ionize (since it does notexist).

ist: [0)

Atomic mass (amu)?2Pandamonium

* 25

Page 33: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

[ 1.000E+O00,W: [ 1.OOOE+O0]

Dissociation energy of diatomic, homonuclear molecule (eV) ?[ -5.-00E+01]uD: C -S.OOOE+O1]

Ionization energy of diatomic, homonuclear molecule (eV) ?[ S.OOOE+O1]uI: [ S.OOOE+O1]

Next the program asks for the characteristic temperatures of rotation and vibration forthe neutral and singly ionized homonuclear diatomic molecule, at the ground electronic state.These can be found in Huber & Herzberg [151 for many diatomic molecules. If no diatomicmolecule exists, the characteristic temperatures must still be non-zero, since the programdivides by them to get the rotational and vibrational partition functions.

Characteristic temperatures, at ground electronicstate (K) ?Neutral: Rotation, Vibration; Singly Ionized: Rotation, Vibration[ 1.000E+00 1.OCOE+00 1.000E+00 1.000E+00]

The program then summarizes the information just typed in about the element and asksif it meets the users satisfaction. If not, the user has the opportunity to re-enter it; if so, theuser can append the new clement to the file ABX. in, so the element will be "known" by theprogorrn the next time the clement is used.

charT: C 1.OOOE+00 1.000E+00 1.OOOE+00 1.O00E+O0]

Summary:Highest atomic state (1+highest ionization state)[0]Atomic mass (amu)C 1.O00E+00JDissociation energy of diatomic, homonuclear molecule (eV)[ -5.OOOE+01]Ionization energy of diatomic, homonuclear molecule (eV)[ 5.O00E+01]Characteristic temperatures, at ground electronicstate (K)Neutral: Rotation, Vibration; Singly Ionized: Rotation, Vibration[ 1.OOOE+0O 1.OOOE+O0 1.OOOE+00 1.OOOE+000Is everything ok? (l=okother=redo)(I]

Good. Append data to file (ABX.in)? (O=noo1=yes)(0]

26

Page 34: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

Next, the program searches through the file ABXY. in for the compound formed by thetwo chosen elements. File ABXY. in contains energies of dissociation and ionization, andcharacteristic temperatures for rotation and vibration, for heteronuclear diatomic molecules.If the program cannot find that compound, it prompts the user for the requisite information.

Will not append data to file...

Oops! Couldn't find CPn in file (ABXY.in)Make a new compound? (l=yes)[Il

Let's make a new compound...

Reaction energy of diatomic, heteronuclear molecule (eV) ?[ -5.OOOE+O1]

RAB: [ -5.OOOE+OI]

Ionization energy of diatomic, heteronuclear molecule (eV) ?[ 5.OOOE+O1]

IAB: I 5.OOOE+O1]

Characteristic temperatures, at ground electronicstate (K) ?Neutral: Rotation, Vibration; Singly Ionized: Rotation, Vibration[ 1.OOOE+O0 1.OOOE+O0 1.OOOE+O0 1.O00E+O01

As for the homonuclear diatomic molecule, if the two elements form no compound, theuser enters a zero reaction energy. The characteristic temperatures for rotation and vibrationmust be non-zero, though.

The program then summarizes the information, asks if it is satisfactory, and offers toappend the new information to the file ABXY. in.

TAB: [ 1.OOOE+O0 1.OOOE+O0 1.OOOE+O0 1.OOOE+O0]

Reaction energy of diatomic, heteronuclear molecule (eV)I -5.OOOE+O1]Ionization energy of diatomic, heteronuclear molecule (eV)[ 5.OOOE+OI]Characteristic temperatures, at ground electronicstate (K)Neutral: Rotation, Vibration; Singly Ionized: Rotation, VibrationI 1.OOOE+O0 1.OOOE+O0 1.OOOE+O0 1.O00E+O00Is everything ok? (1=okother=redo)

* 27

Page 35: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

I1l 0Good. Append data to file (ABXY.in)? (Ono.l=yes)[o]

Finally, the program has information it needs about the atomic and molecular species,and so it contiues with the rest of the user input.

Will not append data to file...Using C 'PnCPn

Stoichiometric Proportions of C ,Pn?[ O.OOOE+OO, i.O00E+O00

Atomic Spectra Input. The program reads the atomic spectra data in from files ondisk, which must adhere to this naming convention:

filename = (element)_(charge).in

where (element) represents for the element symbol, and (charge) represents the charge ofthe atom. For example, if the user wanted to examine Pn up to the fifth ionization state, hewould need to enter data into four files, named Pn_0. in through Pn_4. in.

Each file contains data in the following fashion: the first line contains the ionizationenergy of the atom, in inverse centimeters. Subsequent lines contain pairs of numbers: thedegeneracy (dimensionless) and the electronic excitation energy, also in inverse centimeters.The electronic excitation energies increase up to the ionization energy level. The last linecontains two negative numbers, to flag the computer to stop reading degeneracy, energy levelpairs. The user can find degeneracies and electronic exitation levels for atomic species inMoore[14].

3.7 Benchmarking the Code

Internal Checks. The user can try to fool the code by entering two identical elementswith nou-zero total nuwlear fractions. For example, say the user enters nitrogen and nitrogen.

Using N ,N ,NNStoichiometric Proportions of N N

[ 5.'OOE-01, 5.000E-O1

The program does not recognize that these two elements are different. Call the twoelements N and N'. If the program works properly, the program should predict the samethermodynamic properties fcr elements N and N', since they really are the same. Also, theprogram should predict equal quantities of the diatomic molecules N2, N' 2, and NN'. Theoutput file NN . out, partially listed here, shows that the program predicts correctly.

28

Page 36: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

Partition Function: Natomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

el 4.105E+00 8.937E+00 5.836E+00 1.O0OE+O0 O.OOOE+O0 1.685E+01 3.669E+01vib 1.OOOE+O0 1.OOOE+O0 1.OOOE+00 1.OOOE+O0 O.OOOE+O0 2.087E+03 2.159E+03rot 1.OOOE+O0 i.OOOE+O0 1.OOOE+00 I.OOOE+O0 O.OOOE+O0 1.768E+00 1.890E+00

Partition Function: Natomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

el 4.105E+00 8.937E+00 5.836E+00 1.OOOE+O0 O.OOOE+O0 1.685E+01 3.669E+01vib 1.OOOE+O0 1.OOOE+O0 1.OOOE+O0 i.OOOE+O0 O.OOOE+O0 2.087E+03 2.159E+03rot 1.OOOE+O0 1.OOOE+O0 1.OOOE+O0 1.OOOE+O0 O.OOOE+O0 1.768E+00 1.890E+00

Partition Function: NNatomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

el 1.685E+01 3.669E+01vib 2.408E+01 1.037E+02rot 2.779E+00 3.175E+03

Right-hand-sides of Saha Equationatomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

N 1.204E-09 8.032E-23 O.OOOE+O0 O.OOOE+O0 O.OOOE+O0 2.319E-03 2.114E-10N 1.204E-09 8.032E-23 O.OOOE+O0 O.OOOE+O0 O.JOOE+O0 2.319E-03 2.114E-10NN 2.319E-03 2.114E-10

Nuclear fractions,yatomic, atomic, atomic, atomic, atomic, diatomic, diatomic,neutral +1 +2 +3 +4 neutral +1

N 1.390E-02 1.027E-06 5.069E-24 O.OOOE+O0 O.OOOE+00 1.620E-01 2.104E-06N 1.390E-02 1.027E-06 5.069E-24 O.OOOE+O0 O.OOOE+O0 1.620E-01 2.104E-06NN 1.620E-01 2.104E-06yh,ye,yh+ye,beta 5.139E-01 8.367E-06 5.139E-01 1.628E-05

Nitrogen Density Compare the density vs. temperature profiles of nitrogen, at oneatmosphere pressure, in Figures (2) and (3)[11, p.138] They follow each other closely, exceptCainbel does not consider the N+ species.

Air Mole Fraction Compare the mole fraction vs. temperature profiles of air (80%nitrogen, 20% oxygen), at one atmosphere pressure, in Figures (4) and (5)[11, p.861 Cambel

* 29

Page 37: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

1023

10

0

NZ+

I to 15 20 25 30

TemPsraure (1000 K)

Figure 2: Equilibrium chemical composition of nitrogen plasma at atmospheric pressure.

30

Page 38: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

loll R

101

.to1 15 21) 25 30

Tumqutuft r. OK x 10-

Figure 3: Equilibrium chemical composition of nitrogen plasma at atmospheric pressure.(Cambel, p.138, used without permission)

0 31

Page 39: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

considers species that this program does not: N20, N20, 0-. These species effect theelectron density, so the program results for electron density do not match well with Cambel,even at 10,000 K. The dominant species at 10,000 K, N, 0, and N2 , match within 10% orso. However, Cambel keeps the density constant at the sea-level value, while the programkeeps the pressure constant at one atmosphere.

100

0

Ta.preo-. (K

I0-$ ,

40GM OW0 800 10000

Uneporsture (K)

Figure 4: Mole fraction equilibrium chemical composition of air at one atmospbere pressure.

A@I1" r- O 0

to-o

Tempnatum, "K

Figure 5: Mole fraction e~quilibrium chemical composition of air at sea-level density.(Cambel,

p.86, used without permission)

Carbon Dioxide The user should use Seiph's "Isp" Code for chamber temperatures below

6000 K. Seiph's code considers all chemical reactions and all relavant species. However, theJANNAF tables stop at 6000 K, so at temperatures above 6000 K, Selph holds the heat

32

Page 40: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

capacity of the gas constant and extrapolates. The author's program calculates theoreticallythe equilibrium state function using the Saha Equation, but neglects polyatomic molecules.At temperatures much above 6000 K, this assumption becomes minor, as almost all of themolecules have dissociated.

Table (1) compares the dominant species densities predicted by Selph's and the author'scodes, for one part carbon and two parts oxygen, at 6000 K chamber temperature andone atmosphere chamber pressure pressure. Note that the dominant species are close, butdiscrepancies arise to give around 10% difference (for example, atomic carbon, diatomicoxygen, and carbon dioxide). Also note that at 6000 K, there Selph predicts less than 1%CO 2.

Table 1: Particle density comparision between Selph's and author's codes for C0 2, at 6000K and one atmosphere._______

Selph, "Isp" Author, "AB"

(m-3) (m-3)O 6.1E+23 5.7E+23CO 5.9E+23 6.2E-23C 1.OE+22 2.3E+2002 8.OE+20 2.4E+22CO 2 2.2E+20 0.OE+00

Thermodynamic Functions Table 2 compares thermodynamic properties for nitrogenspecies N, N+, and N2, using the JANNAF tables and the author's code. Results matchclosely for atomic species, but differ slightly for diatomic species.

* 33

Page 41: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

Table 2: Thermodynamic properties comparison between JANNAF tables and author's pro-gramn, for some nitro n specieb.

JANNAF AuthorN cp, T = 3000 K (J/mol/K) 20.98 20.96

cp,T = 6000 K (J/mol/K) 25.54 25.52As, 6000 K, 3000 K (J/rool) 15.63 15.62Ah, 6000 K, 3000 K (kJ/mol) 68.42 68.40

N+ cp, T = 3000 K (J/mol/K) 20.97 20.96c, T = 6000 K (J/mol/K) 22.39 22.37As, 6000 K, 3000 K (J/tnol) 14.95 14.93Ah, 6000 K, 3000 K (kJ/mol) 64.95 65.00

N2 cp, T = 3000 K (J/mol/K) 37.05 37.74cp,T = 6000 K (J/mol/K) 38.30 43.42As, 6000 K, 3000 K (J/mol) 26.11 28.38Ah, 6000 K, 3000 K (kJ/mol) 113.20 124.20

34

Page 42: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

References

[1] Bussard, R.W., and DeLpuer, R.D., Nuclear Rocket Propulsion, McGraw-Hill, 1958

[2] Chapman, R., Miley, G.H., Kernbichler, W., and Heindler, M., "Fusion Space Propul-sion with a Field Reversed Configuration", Fusion Technology 15 (1989), Lagrange:American Nuclear Society, pp. 1154-1159

[3] Haloulakos, V.E., and Bourque, R.F., Fusion Propulsion Study. AL-TR-89-005, EdwardsAir Force Base: Astronautics Laboratory Technical Services Office, 1989

[4] Reinmann, John J., "Fusion Rocket Concepts", Advanced Propulsion Concepts (SixthSymposium, Niagra Falls NY, May 4-6, 1971), National Aeronautics and Space Admin-istration Technical Memorandum X-67826

[5] Yang, T.F., Miller, R.H., Wenzel, K.W., Krueger, W.A., Chang, F.R., "A Tandem Mir-ror Plasma Source for a Hybrid Plume Plasma Propulsion Concept", Electric Propulsion(18th AIAA/DGLR/JSASS International Conference, Alexandria VA, Sep.30-Oct.2,1985)

[6] Bussard, Robert W., "Fusion as Electric Propulsion", Journal of Propulsion and Power.Vol. 6, No. 5, Sep.-Oct. 1990, Washington D.C.: American Institute of Aeronautics andAstronautics, pp.567-574

[7] Roth, J. Reece, "Space Applications of Fusion Energy", Fusion Technology. Vol. 15(1989), Lagrange: American Nuclear Society, pp. 1375-1394

[8] Sargent, M.G., "A Comparision of Magnetic Confinement Fusion (MCF) and IntertialConfinement Fusion (ICF) for Spacecraft Propulsion", JPL D-5878 Oct. 1988, Pasadena:Jet Propulsion Laboratory

[9] JANAF Thermochemical Tables, The Dow Chemical C( pany, Midland, MI,1960,1961,1963,1966,1977

[10] Selph, C., personal conversations, Phillips Laboratory, Jun-Aug 1992

[11] Cambcl, Ali Bulent, Plasma Physics and Magnetofluid-Mechanics, New York: McGrawHill, 1963?

[12] Barrow, Gordon M., Physical Chemistry, New York: McGraw Hill, 1966

[13] McQuarrie, D.A., Statistical Mechanics, New York: Harper & Row, 1976

[14] Moore, Charlotte E, Atomic Energy Levels, Washington DC: NSRDS-NBS 35, 1971

(15] Huber, K.P., and Hcrzbcrg, G., Spectra of Diatomic Molecules, New York: Van NostrandReinhold, 1979

S 35

Page 43: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

(16] Vincenti, Walter G., and Kruger, Charles H. Jr., Introduction to Physical Gas Dynamics,

New York: Krieger Publishing, 1975

(17] Zemansky, Mark W., Heat and Thermodynamics, New York: McGraw Hill, 1957

[18] Sutton, George P., Rocket Propulsion Elements, New York: John Wiley and Sons, 1963,pp. 37-83

36

Page 44: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* A FORTRAN Source Code

* 37

Page 45: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.1 ablfor

PROGRAM AB

IMPLICIT REAL*8 (a-h,l-z)CHARACTER chA*2, chB*2 .name*4,TorP*1INTEGER istA, istB,seein~seemid~maxout densmol.howmanyREAL*8&pronso,press2,temp,templ ,temp2,delt,&MWA.DA2,IA2,TA2(4) ,ionA(5) ,guA(5,200,2),&MWBDB2,1B2,TB2(4) ,ionB(5) ,giB(5,200,2),&ZOA(7,3) ,ZA(7,3) ,ubarA(7) ,uubA(7) .rhsAC7) ,yOA~yA(7).&ZOB(7.3) ,ZBC7,3) ,ubarB(7) ,uubB(7) .rhsBC7) .yOB,yB(7),&enthAC?) ,entrA(7) ,CpA(7),&enthB(7) .eatrB(7) ,CpB(7),&RAB, IAB,TAB (4),&ZOAB(2,3) .ZAB(2,3) ,ubarABC2) ,uubAB(2) ,rhsAB(2) ,yAB(2),&enthAB(7) .entrAB(7) ,CpABC7) ,entheCpe~entre~ye~yh,beta,&enthal,heatcp,entrop,mfAC7) ,mfB(7) ,IAB(2),kdenA(7) ,denB(7) ,denAB(2) ,dirA(7) ,dirB(7) ,dirAB(2),&mdot, Pabs,Pjet ,thrust, IspDATA tmp0 /2.981SE2/INCLUDE format for

901 FORMAT (5x,'in.loop',3x,'vyhX-yOX',3x,'mid.loop',6x,'wyh-1'.&3x,'out.loop',3x,'residual')

C

WRITE(*,*)'Program: AB.FOR, ver. 1.3; Author: 1k'R.Nachtrieb, Jan 93;'WRITE(*,*)'OLAC-PL/RKFE Edwards AFB CA 93523-5000'WRITE(*,*) 'internet email: nachtrieb~uiuc.edu'WRITE(*, *)WRITE(*,*)

c----startup function gets temperatures, pressures, spectroscopicc----data from user and files90 CALL startup(

&pressi ,press2.TorP,templ,temp2,howmany,&chA~istA,MWA,DA2,IA2,TA2,guA,ionA,yOA,kchB, istB,MWBDB2, 1B2,TB2,guB,ioziB,yOB,&name,RAB,IAB,TAB,seein,seemid,maxout,mdot,densmol)

c----get partition functions at STP, for later use in entropy differenceCALL ZI(tmpO,istA,guA,TA2,ionA,ZOA,ubarA~uubA)CALL Z1(tmpO.istB~guBTB2,ionB.ZOB,ubarB,uubB)CALL Z2(tmpa,ZOA~ubarA .uubA,ZOB,ubarB ,uubb,TAB ,ZOAB ,ubarAB ,uubAB)

38

Page 46: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

c-e--ither search for P(T)=Pvant or increment tempertureIF (TorP.EQ.IP') THEN

c -------define temperature boundsTmin=6e3Tmax=30e3Tlo-TminThi=TmaxresP~le7epsP~le-2

c -------define lover absorbed power boundWRITE(*1 *)'Getting lover absorbed-power bound...'WRITE(*,*)t emp=TminCALL sahaC

& pressl,temp~istA~istB,seein~eeemid,maxout,& MWA,DA2,IA2,TA2,ionA~guA.& MWB,DB2,IB2,TB2,ionB.guB.& ZOA,ZA,uba~rA,uubA,rhsA~yOA~yA,& ZOB,ZB,uba~rB,uubB,rhsS,yOB,yB,& enthA~entrA,CpA,& enthB,entrB,CpB,& RABIAB,TAB,ZOABZAB,ubarAB.uubAB,rhsAB,yAB,& enthAB,entrAB,CpAB,enthe.Cpe,entre,ye,yh,beta)

CALL gas(& pressi,temp,& DA2,IA2,ionA,yA~enthA,CpA~entrA,& DB2,IB2,ionB,yB,enthB.CpB,entrB,& name,RAB,IAB~yAB~enthAB,CpAB,entrAB,enthe,Cpe~entre,& enthal,heatcp,entrop~mfA,mfB,mfAB,denA,denB,denAa.& dirA,dirB,dirAB)

Pabs=enthal*mdot*1e3/ (YOA*MWA+YOB*MWB) ! W

Pmin=Pabsc -------define lower absorbed power bound

WRITE(*,*)'Getting upper absorbed-power bound...'WRITE(*, *)temp=TmaxCALL sahaC

& pressl,temp,istA,istB,seein,seemid~maxout,& MWA,DA2,1A2,TA2,ionA,guA,& MWB,DB2,1B2,TB2,ionB,guB,& ZOA,ZA,ubarA~uubA,rhsA,yOA~yA,& ZOB,ZB,ubarB,uubB,rhsB,yOB~yB,

39

Page 47: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

& enthA,entrA,CpA.& enthB~entrB,CpB,& RABIAB,TAB,ZOABZAB,ubarAB,uubAB,rhsAB~yAB,& euthAB~entrAB,CpAB,euthe.Cpe~entre,ye,yh~beta)

CALL gas(&presul.temp,&DA2,1A2,iouA,yA,enthACpA,entrA,&DB2,IB2,iouB,yB,enthB,CpB~entrB,

k nazne,RAB, IAB,yAB,enthAB,CpAB~eutrAB ,entheCpe, entre,& *uthal,heatcp~entrop,mfA,mfB,IfAB,denA,den8.denAB,& dirA,dirB~dirAB)

Pabs~enthal*mdot*le3/ CYOA*NWA+yOB*MWB) !WPmax=PabsWRITE(*, *)WRITE(*,'(A11P2(E11.3))')' Pmin,Pmax (W)',Pmin,PmaxWRITE(*,*)'What power to absorb? MWREADC*,*)Pwant

c -------check if requested power within power boundsIF (Pwant.LT.Pmin) THENWRITEC*,*)'Sorry, requested power too low'WRITE(*,*)'Try decreasing the mass flow rate'WRITE(*, *)GOTO 90

ELSEIF CPwant.GT.Pmax) THENWRITE(*,*)'Sorry, requested power too high'WRITE(*,*)'Try increasing the mass flow rate'WRITE(*,*)GOTO 90

ENDIFc -------perform temperature search

WRITE(*.*)' resP epsP temp',; out.loop residual'WRITE(*.*)DO WHILE (resP.GT.epsP)

IF (Pabs.LT.Pwant) THENTlo~temptempO0.5*(temp+Thi)ELSEIF (Pwant.LT.Pabs) THENThi~temp

tempO0.S* (Tlo+temp)END IF

CALL saha(

400

Page 48: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

& prouseltemp,istA,istBaseein~seemid~maxout,& KWADA2,IA2,TA2,ionA,guA,& KWBDB2,IB2.TB2.ionB,guB,& ZOA,ZA,ubarA,uubA~rheA,yOA~yA.& ZOB,ZB~ubarB~uubB,rhoB~yOB~yB,& enthk~entrA.CpA,& euthB.entrB,CpB,& RAB,IABTABZOAB,ZAB,ubarAB,uubAB,rhuAB,yAB,& enthAB, entrABCpAB. euthe .Cpe, entre ,ye, yh,beta)

CALL gas(& presel,temp,& DA2,1A2,ionA,yA,enthA,CpA,entrA,& DB2,IB2,ionB,yB~enthB,CpB.eutrB,& name,RAB, IAB,yAB,enthAB.CpAB,eutrAB,enthe,Cpe~entre,& euthal ,heatcp,entrop~mfA~mfB,ufAB,deDA,denB~deUAB.& dirA,dirB~dirAB)

Pabs=enthal*mdot*le3/(YOA*MWA+YOB*MWB) !WresP=DABS( (Pabs-Pwant)/Pwant)

993 FORMAT('+',1P3(E11.3))WRITE(*, 993)resP,epsP,tempWRITE(*,~*)

ENDDO

WRITE(*.*)WRITE(*.'(A,1P3(E11.3))')' Pwant,Pabs~temp',PvantPabs~temphovmany=iitemp=1

------------ calculate ideal rocket performanceCALL rocket(

& yOA,y08,MWA,MWB,ye ,yh,temp~pressl~press2,mdot,& thrust,Isp,Pjet)

CALL output(I yOA,yOB,templtemp2,howmany,press1,presa2,mdot~temp. itemp,& chA,ZA~rhsA,yA,enthA,CpA,entrA,& chB,ZB~rhsB,yB,enthB,CpB,entrB,& name,ZAB,rhsAB,yAB~enthAB,CpAB,entrAB,entheCpe,entre,& enthalhbeatcp,entrop~mfAImB,iufAB.denA~denB,denAB,& dirA~dirB,dirAB,Pabs,Pjet,thrust,Isp,densmol)

WRITE(*,*)ELSEIF (TrP.EQ.'T') THEN

delt=O.IF (howmany .NE. 1) delt=(temp2-templ)/DFLOAT(howmany-1)temp~templ

0 41

Page 49: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

DO 100 itemp=l,howmanySWRITE(*, 192)' temp(K), pressl(Pa)' ,temp,presulWRITE(* .901)WRITE(*.*)

c -------- get equilibrium molecule/atom/ion fractions using partition functionCALL saliaC

& pressi,temp~istA~istB,seein,seemid~maxout.& MWA,DA2,1A2,TA2,ionA,guA,& MWB.DB2.1B2,TB2,iouB~guB,& ZOA,ZA~ubarA,uubA,rhsA~yOA~yA.& ZOB.ZB,ubarB,uubB~rhoB,yOB~yB.& enthA,entrA,CpA,k enthB,entrB,CpB,& RAB. lAB 9TAB.ZOAB,ZAB,ubarAB ,uubAB,rhsAB,yAB,& enthAB~entrAB.CpAB,entheCpe, eutre.ye,yh~beta)

c ---------calculate ideal rocket performanceCALL rocket(

& yOA,yOB,MWA,MWB,ye ,yh,temp,pressl ,press2,mdot.& thrust.Isp,Pjet)

c ---------get thermodynamic properties of the gasCALL gas(

& pressl,temp,& DA2,IA2.ionA,yA,enthA,CpA~entrA,& DB2,IB2,ionB~yB,enthB,CpB~entr8,& name,RAB, IAB,yAB,enthAB,CpAB~entrAB,entheCpe,entre,& enthal,heatcp,entrop,mfA,mfB,mfAB,denA,denB,denAB,& dirA,dirB,dirAB)

c --- --calculate maximum absorbed powerPabs=enthal*mdot*1e3/(yOA*MWA~yOB*MWB) !

c ---------(J/mol) (kg/a) (g/kg)/(g/mol)=Wc ---------write all accumulated data to file for later digestion

CALL output(C& yOA.yOB,templ~temp2.howmany,pressl,press2,mdot~temp~itemp,a chA,ZA,rhsA,yA,enthA,CpA~entrA,& chB,ZB,rhsB,yB,enthB,CpB,entrB,& name,ZAB,rhsAB,yAB,enthAB,CpAB,entrAB,enthe,Cpe~entre,& enthal,heatcp,entrop,mtA,mfB,mfAB,denA,denB,denAB,& dirA,dirB,dirABPabs,Pjet,thrust,Isp~densmol)

temp~temp+delt100 CONTINUEc -------close all open files, tell user which files to examine for output

42

Page 50: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

ENDIFCALL shutdown(hovmanychA chBname.denumol)END Imain AB

INCLUDE STARTUP.FORINCLUDE GETX.FORINCLUDE GETXY.FORINCLUDE NEWX.FORINCLUDE NEWXY.FORINCLUDE FILENAME.FORINCLUDE OPUN.FORINCLUDE CLOZE.FORINCLUDE GETGU.FORINCLUDE Z1.FORINCLUDE Z2.FORINCLUDE SAHA.FORINCLUDE RHS1.FORINCLUDE RHS2.FORINCLUDE THERM1.FORINCLUDE THERM2.FORINCLUDE THERME.FORINCLUDE GES1.FORINCLUDE ITERY.FORINCLUDE GETYE.FORINCLUDE GETYH.FORINCLUDE BALANCE.FORINCLUDE NUY.FORINCLUDE GETWYH.FORINCLUDE RES1.FORINCLUDE RES2.FORINCLUDE ROCKET.FORINCLUDE OUTPUT.FORINCLUDE GAS.FORINCLUDE SPECSHOW.FORINCLUDE Z1SHOW.FORINCLUDE Z2SHOW.FORINCLUDE OPUNHDR.FORINCLUDE SHUTDOWN.FOR

* 43

Page 51: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.2 startuplfor

SUBROUTINE startup (&preBss,preBs2,TorP~templ ,temp2,howmany,kchA, istA.MWA,DA2, 1A2,TA2,guA. ionA,yOA,kchB, istB,NWBDB2, 1B2,TB2,guB, ion8,yOB,kname,RAB,IAB,TAB,seein,seemid,maxout,mdot,densmol)CHARACTER chA*2,chB*2,chdum*2,name*4,TorP*IINTEGER

&istA,kistB,&seein,seemid, maxout,densmol,howmanyREAL*8 pressl1,press2,templ ,temp2,

&MWA,DA2,1A2,TA2(4) ,guA(5,200,2) ,ioiAC5) ,yOA,&MWB,DB2, 1B2,TB2(4) ,guB(S,200.2) ,ionB(5) ,yOB,&RAB, IAB,TAB(4)CHARACTER str*30IMPLICIT REAL*8 (a-h,l-z)INCLUDE format forvATA atm /0.101325e6/

c---Read in default inputs (stored from last run; if no file AB.in exists---- i.e., first time the program is run, program goes to label 100 and

c----starts with the ''hard-wired"' defaults.c----User can select default by pressing <Enter>, or enter his own selection.c---After entering data, choices are written to file AB.in for next time.

OPEN (UNIT=1, FILE='AB.IN')READ(1 ,* ,ERR=100,END=100) chA, chBREAD(1 ,*,ERR=100,END=100)yOA,yOBREAD(1,*,ERR=100,END=100)pressl ,press2READ(1 ,*,ERR=100,END=100)TorPREAD(1,*,ERR=100,END=100)templ ,teiup2,howmanyREAD(1, *, ERR=100,END=100)densmolREAD(1,*,ERR=100,END=100)seein,seemid~maxoutREAD (1, * ,ERR=100 ,END=100)mdotGOTO 200

100 CONTINUEchA='C'chB='0'y0A=1.y0B=2.press1=1.press2O0.

440

Page 52: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

TorP='T'templ=6e3temp2=30e3howmany=1densmol=1seein=20seemid=20maxout=20mdot=1.

200 CONTINUEc ----- get element choices; case sensitive (thinks lower case is a newc ----- element, and prompts user for element data300 WRITE(*,*)'Ar, C, H, N, 0'

WRITE(*,*)'Which two (2) elements to use?'WRITE(*,)'(,' '[,A,''A "') '')')chAchB

READ(*,'(A)')strIF (str.NE.' ') READ(str,*)chA,chBIF (chA.GT.chB) THEN

chdum=chAchA=chBchB=chdum

ENDIFOPEN (UNIT=IO, FILE='ABX.in',STATUS='old')

c ----- look in file ABX.in for information about generic unknown elementc -.... 'X". where X is letter user typed. If cannot find "X'', in filec ----- ABX.in, get bomb!=O, and user has to either provide informationc ----- about element X, or select new elements (start over).c ----- When data is satisfactorily known about X, data is assigned to (now)c ----- known element "A'', which the rest of the program uses. Processc ----- repeats for unknown X -- > known B

CALL getX(chAistAoMWADA2,IA2,TA2,bomb)IF (bomb.NE.O.) THEN

iok=lWRITE(*,*)WRITE(*,*)'Oops! Couldn"t find ',chA,' in file (ABX.in)'WRITE(*,*)'Make a new element? (l=yes)'WRITE(*,'(" [',Ii,"1")')iokREAD(*,'(A)')strIF (str.NE.' ') READ(str,*)iokIF (iok.EQ.1) THEN

c --------- get the info about unknown element "X''. When finished, userc --------- has option of appending new element data to file ABX.in, so

45

Page 53: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

c ---------element is '"known"' next time program is run.CALL newX(chA, istA ,MWAJDA2. 1A2 ,TA2)

ELSEREWIND(UNIT=10)GOTO 300

ENDIFENDIFREWIND(UNIT=10)CALL getX(chB, istB,MWB,DB2, 1B2,TB2,bomb)IF Cbomb.NE.0.) THENiok=lWRITE(*,*)WRITEC*,*)'Oops! Couldn''t find ',cbB,1 in file (ABX.in)'WRITE(*.*)'Makce a new element? (i-yes)'WRITE(*,)()) ['',Ii.''J'')3)iokREAD(*, '(A)')strIF (str.NE.' ') READ(str,*)iokIF (iok.EQ.1) THENCALL newX(chB,istB,MWBDB2,IB2,TB2)

ELSE

GOTO 300ENDIF

ENDIFCLOSE(UNIT=10)IF ((chA(2:2).EQ.' ').AND.(chBC2:2).EQ.' ')) THENname=chA(1: i)//chB(1: 1)

ELSEIF (chA(2:2).EQ.' ') THENname=chA(1: i)//chB

ELSEIF (chB(2:2)..EQ.' ') THENname=chA//chB(1:1)

ELSEname=chA//chB

ENDIFOPEN (UNIT=1O, FILE='ABXY.in' 1STATUS=1old')CALL getXY (name, FAB, IAB,TAB,bobIF (bomb.NE.0.) THENi ok~ 1WRITE(*, *)WRITE(*,*)'Oops! Couldn''t find ',name,' in file (ABXY.in)'WRITE(*,*)'Make a new compound? (1=yes)'WRITE(*,'('' E'',Ii,"') '))iokREADC*, '(A)')str

46S

Page 54: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

IF (str.NE.' ') READ(str,*)iokIF (iok.EQ.I.) THEN

CALL newXY(naine RAB, lAB STAB)ELSE

GOTO 300ENDIF

ENDIFCLOSE(UNIT=1O)WRITE(*, '(A) ')'+Using 'I/chA//', '/chB//#, 'I/nameWRITE(*, *)

c- ----get ratios of element A:B (parts of A vs. parts of B). Convertsc-------- to fractions of nuclei.

WRITE(*,*) 'Stoichiometric Proportions of '//chA//', '//chBI/'?'WRITE(*,'('' C'',1PE11.3,'', '',IPE11.3,''J '')')yOA,YOBREAD(*, '(A) ')strIF (str.NE.' ') READ(str,*)yOA,yOBWRITE(*,192) '+Proportioas of '//chA//', '//chB~yOA,yOBIF(CchA.EQ.chB).AND.(yOB.EQ.0.)) THEN

yOA=O.yOB~l.

ENDIFWRITE(*,*)

c----Chamber pressure used for Saha eqs. Exit pressure used forc----ideal rocket calculations.

WRITE(*,*) 'Chamber, exit pressures (atm)?'

READ(*, '(A)')strIF (str.NE.' 1) READ(str,*)pressl,press2WRITE(*,192) '4pressl,press2 (atm)' ,pressl,press2WRITE(*.*)

c -~----User specifies temperature (calculates absorbed power) orc----users specifies absorbed power (searches for corresponding temp)500 WRITE(*,*)'Specify Temperature (T or Absorbed Power MP?

WRITE(*,)("' ['',A,"'] ')')TorPREAD(*, '(A)')strIF (str.NE.' ') READ(str,*)TorPIF ((TorP.EQ.'p').OR.(TorP.EO.'P')) THENTorP='P'

ELSEIF ((TorP.EQW't').OR.(TorP.EQ.'T')) THENTorP='T'

ELSEWRITE(*,*)'What the ... Try again!'

* 47

Page 55: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

GOTO 500ENDIF

501 FORMAT(+',A)WRITE(*,501)TorPIF (TorP.EQ.'T') THEN

c ------- get chamber temperature range (independent variable iterated)c ------- If howmany=1, program operates on first tempature only, regardlessc ------- of upper temperature.

WRITE(*,*)'Chamb.r temperature range:& 'tempi(K),temp2(K),howmany?'

WRITE(*,'("' '',IPE11.3,"',"',1PE11 3,,",''I5,"' )& tempi,temp2,howmany

READ(*,'(A)')strIF (str.NE.' ') READ(str,*)templ,temp2,howmanyWRITE(*,'(A,1P2(1PE11.3),IS)')

& '+templ(K),temp2(K),howmany',templtemp2,howmanyENDIF

c ----- all interesting information is printed to file if running onlyc ----- one temperature; if multiple temperatures are run, program printsc--...output data to separate files; due to file limitations of MS-DOS,c ----- user has to choose between molefraction and density outputs. Sigh...

IF (howmany.GT.1) THENWRITE(*,*)WRITE(*,*)'Print density (1) or mole fraction (2) ?'

WRITE(*,'(' ['',II,'') ')')densmolREAD(*,'(A)')strIF (str.NE.' ') READ(str,*)densmolWRITE(*2'(''+densmol [',Ii"] "1)')densmol

E",IFWRITE(*,*)

c ----- On personal computers, saha equations may take a long time to converge,c--...especially if no numeric co-processor is used. To entertain the user,c ----- and reassure them that the program is running (instead of hanging),c ----- variaules seein,seemid, and maxout count the number of times the inner,c ----- middle, and outer nested while loops proceed before pooping out to thec ----- screen the loop count and the convergance. If the computer is fast,c ----- printing out to the screen every loop really slows the program down;c ----- but if the computer is slow, the user can't tell if the program isc -v--- working or not.c ----- Sugesstions: fast machines, set seein,seemidmaxout=100,100,20c ----- slow machines, seeinseemid,maxout=20,20,20.c ----- The program is "done" when the final residual (sum of all the

48

Page 56: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

c ----- absolute values of the saha equation lhs-rhs) is less than epsilon.c ----- where epsilon=le-7. When the outer loop residual gets down aroundc ----- le-6. it starts bouncing around. Ie-6 is still pretty small, so ifc ----- the program isn't done before maxout outer loops, the program stops.

WRITE(*,*)'View loop progress: innermiddle,outer?'WRITE(*,'("[,I ", 14""4,] )'

&seein,seemid,maxoutREAD(*,'(A)')strIF (str.NE.' ') READ(str,*)seeinseemidmaxoutWRITE(*,113)'+seeinseemidmaxout', seeinseemidmaxoutWRITE(*,*)

c--...for rocket stuffWRITE(*,*)'mass flow rate (kg/s)?'WRITE,(*,'()) ['),IPEII.3,11] ")I)mdot

READ(*,'(A)')strIF (str.NE.' ') READ(str,*)mdotWRITE(*.111)'+mdot:',mdotWRITE(*,*)REWIND(UNIT=l)

c--...write info to file AB.in for next time defaultsWRITE(1,*)chA,' ',chBWRITE(1,*)yOA,yOBWRITE(I,*)pressl,press2WRITE(i,*)TorPWRITE(1,*)tempi,temp2,howmanyWRITE(1,*)densmolWRITE(1,*)seein,seemid,maxoutWRITE(1,*)mdotCLOSE(UNIT=I)

c ----- convert atm's to Pa'spressl=pressl*atmpress2=press2*atmtotal=yOA+yOByOA=yOA/totalyOB=yOB/total

c ----- open appropriate data files and get atomic spectroscopic data;c ----- load spectroscopic data into array name "gull: g for degeneracy,c ----- u for electronic excitation energy level; ionization energies,c ----- in cm'-i, go into array "ion"

CALL opun(chA,istA)CALL getgu(istA,chA,guA,ionA)CALL cloze

49

Page 57: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

CALL opun(chBistB) 0CALL getgu(istBchBguBoionB)CALL clozeEND !subroutine startup

0

50

Page 58: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.3 getx.for

c--get data from file ABX.in (unit 10) for unknown element X:c--using element name (ch), gets highest element state to consider, i.e.c--highest ionization level + 1 (ist). gets molecular weight (MW, inc--g/mol), gets disso-Ation (uD) and ionization (uI) energies of thec--diatomichomonuclear molecule, in eV, and gets the characteristicc--temperatures of rotation and vibration for the neutral and singlyc--ionized diatomic molecule (in K). If cannot find ch in the file,c--sets bomb to non-zero, which flags the program outside this routine.

SUBROUTINE getX(&ch,ist,MW,uD,u I,charT,bomb)

CHARACTER*2 ch,readchINTEGER istREAL*8 MW,uDuIcharT(4),bombbomb=O.READ(10,*)READ(1O,*.ERR=100,END=100)readch,ist,MW,uD,uI,charTDO WHILE (readch.NE.ch)

READ(10*,ERR=100,END=100)readchistMWuD,uIcharTENDDORETURN

100 bomb=l.END

Page 59: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.4 getxy.for

c--using the diatomic molecule name, composed of the compressed.c--concatenated element names, in alphabetical order, subroutine looksc--in file ABXY.in for information about the molecule. Gets: reactionc--(RAB) and ionization (IAB) energy of diatomic, heteronuclearc--molecule, and the characteristic temperatures for rotation andc--vibration for the neutral and singly ionized molecule (both at groundc--electronic state). If cannot find info, bomb!1=. If molecule isc--pseudo-heteronuclear, e.g. it looks for diatomic nitrogen, evenc--though N2 is homonuclear, homonuclear info is returned.

SUBROUTINE getXY(knameRABIAB,TAB,bomb)

CHARACTER*4 name,readnameREAL*8 RAB,IAB,TAB(4),bombbomb=O.READ(1O,*)READ(1O,*,ERR=100,END=100)readnameRABIABTABDO WHILE (readname.NE.name)

READ(1O,*.ERR=1OOEND=1OO)readnameRABIABTABENDDORETURN

100 bomb=l.END

52

Page 60: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

0 A.5 newx.for

c--Prumpts user for information about new elements. Asks forc--information that would otherwise be found in file ABX.in. Afterc--completion, gives user opportunity to append new element info to filec--ABX.in, so next time the information will be found. Gets highestc--ionization state (ist), molecular weight (MW), dissocation (uD) andc--ionization (uW) energies of diatomic homonuclear molecule, in eV, andc--characteristic temperatures of rotation and vibration, at the groundc-electronic state, of the neutral and singly ionized diatomic molecule.

SUBROUTINE newX(&ch,ist,MW,uD,uIcharT)

CHARACTER ch*2,str*30INTEGER istREAL*8 MW,uD,uI,charT(4),iok

10 WRITE(*,*)'Let''s make a new element...'ist=OMW=1.uD=-50.uI=50.charT(1)=1.charT(2)=l.charT(3)=l.charT(4)=1.WRITE(*,*)WRITE(*,*)'Highest atomic state (1+highest ionization state)?WRITE(*.'()) [",II,"]"1)2)ist

READ(*,'(A)')strIF (str.NE.' ') READ(stro*)istWRITE(*,'("+ist: [J1#II ""10)1)ist

WRITE(*,*)WRITE(*0*)'Atomic mass (amu)?WRITE(*,#'(I' [",1PE11.3,'']"')')NWREAD(*,'CA)')strIF (str.NE.' ') READ(str,*)MWWRITE(*,'("+MW: ["',1PE11.3,"]" ')')MWWRITE(*,*)WRITE(*,*)'Dissociation energy of diatomic, homonuclear 'V/

&'molecule (eV) ?'WRITE(*,'(" ["'1PE11.3,"j")')uDREAD(*,'(A)')strIF (str.NE.' ') READ(str,*)uD

0 53

Page 61: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

WRITE(*,'Q',+uD: P'',1PE1i.3,1''J')')uDWRITE(*,*WRITE(*,*)'Ionization energy of diatomic, bomonuclear 1//k'molecule (eV) ?IWRITE(*,)(" ('',1PE11.3,''J'')')uIREAD(*, 'CA) ')strIF (str.NE.' ') READ(str,*)uIWRITE(*,'(''+uI: (1''.PE11.3,''J '')')uIWRITE(*,*)WRITE(*,*) 'Characteristic temperatures, at ground electronic'//&'state (K ?IWRITEC*,*)'Neutral: Rotation, Vibration; Singly Ionized: Ik'Rotation, Vibration'WRITE(*,)(#$ E'',1P4E11.3),'']'')'charTREAD(*. '(A) ')strIF (str.NE.' 1) READ(str,*)charTWRITE(*.'(''+charT: ('',1P4(E11.3),''J')')charTWRITE(*, *)WRITE(*,*) 'Summary:'WRITE(*,*)'Highest atomic state (1+highest ionization state)

WRITE(*,*)'Atomic mass Camu)'

WRITE(*,*)'Dissociation energy of diatomic, homonuclear 1//&'molecule (eV)'WRITE(*,'("' E',1PE11.3,''1) '))uDWRITE(*,*)'Iouization energy of diatomic, homonuclear '1//

k'molecule (eV)IWRITE(*,'()' ['',1PE11.3. ''J ')')uIWRITE(*,*)'Characteristic temperatures, at ground electronic'//k'state MK)WRITE(*.*)'Neutral: Rotation, Vibration; Singly Ionized: '1//

&'Rotation, Vibration'WRITEC*.'('' P'',1P4(E11.3),''] '')')charTiok:I.WRITE(*,*) 'Is everything ok? (1=ok,other~redo)'

READ(*, '(A) ')strIF (str.NE.' ') READ(str,*)iokIF (iok.NE.1) GOTO 10iok=0

WRITE(*,*)'Good. Append data to file (ABX.in)? (O~no,l~yes)'

54

Page 62: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

WRITE(*,'("' f1,I1,J))#9iokREADC*, '(A) ')strIF (str.IE.' 1) READ(str.*)iokIF (iok.EQ.1) THENWRITE(*,*)'Appending data to file (ABX.in). ...WRITE(lO, '(A,12.1P7CE11..3))') ch~ist,KW,uD,uI~charT

ELSEWRITE(*,*)'Will not append data to file...'

END IFEND !subroutine newX

55

Page 63: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.6 newxy.for

c--Asks user for information about unknown compound. Gets reactionc--(RAB) and ionization (lAB) energy of heteronuclear diatomic molecule,c--in eV. Also gets characteristic temperatures of rotation andc--vibration, at the ground electronic state, of the diatomic neutralc--and singly ionized molecule. User can append data to end of inputc--file ABXY.in to save typing data in again next time.

SUBROUTINE nevXY(kname,RAB,IABTAB)

CHARACTER name*4,str*30REAL*8 RAB,IAB,TAB(4)WRITE(*,*)

10 WRITE(*,*)'Let''s make a new compound...'RAB=-50.IAB=50.TABC1)=1.TAB(2)=I.TAB(3)f=l.TAB(4)=1.WRITE(*,*)WRITE(*,*)'Reaction energy of diatomic, heteronuclear '//

&'molecule (eV) ?'WRITE(*,'()' ['",IPE11.3,"]P)')RABREAD(*,' (A) ')strIF (str.NE.' ') READ(str,*)RABWRITE(*,'("+RAB: ['",1PE11.3,"]"J')')RABWRITE(*,*)WRITE(*,*)'Ionization energy of diatomic, heteronuclear '//

&'molecule (eV) 7'WRITE(*,)'( ['',1PE11.3,'])'')')IAB

READ(*,'(A)')strIF (str.NE.' ') READ(str,*)IABWRITE(*,'("+IAB: ["',1PEi1.3,"]"'')')IABWRITE(*,*)WRITE(*,*)'Characteristic temperatures, at ground electronic'//

&'state (K) ?WRITE(*,*)'Neutral: Rotation, Vibration; Singly Ionized: '//

&'Rotation, Vibration'WRITE(*,'(" [(',1P4(E11.3),"]"J')')TABREAD(*.'(A)')strIF (str.NE.' ') READ(str,*)TAB

56

Page 64: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

WRITE(*,'(''+TAB: ['',1P4(E11.3),''J'')')TABiok-lWRITE(* ,*WRITE(*,*)'Reaction energy of diatomic, heteronuclear I

&,molecule (ev)IWRITE(*,)(') P ',IPE11.3,P'1"')1)RABWRITE(*,*)*Ionization energy of diatomic, heteronuclenr '1//

&'molecule (eV)IWRITE(*,I('' ['',I.PE11.3.''J ''))1)A3WRITE(*, *) 'Characteristic temperatures,. at groipd *.3Sj'IR4G 'I

&'state (K)WRITEC*.*)'Neutral: Rotation, Vibration; Singly Ionized: I& 'Rotation, Vibration'WRITE(*,'()) ('',1P4(Eli.3),$;3)1')')TABWRITEC*, *) '15 everything ok? (1=ok~otheraredo)'WRITE(*,'&' E'',Ii.'']1')1')iokREAD(*, '(A) ')strIF (str.NE.' ') READ(str.*)iokIF (iok.NE.1) GOTO 10iok=OWRITE(*,*)'Good. Append data to file (ABXY.in)? (O=no,l~yes)'WRITE(*,)()) ['',I1.') ')')')iokREAD(*,'(A)')strIF Cstr.NE.' 1) READ(str,*)iokIF (iok.EQ.1) THENWRITE(*,*)'Appending data to file (ABXY.in) ...'WRITE(10. '(A,1P6(E11.3)) ')name,RAB,IAB,TAB

ELSEWRITE(*,*)'Will not append data to file ...'

END IFEND

0 57

Page 65: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.7 opun.forc--open the necessary files to get the atomic spectra data. The namingc--convention is as follows: the input file names start with ch (removedc--of spaces), have an underscore ('."), and then an number, 0-4,c--which corresponds to the charge on the atom. Charge +4 correspondsc--to ist=5, e.g. C.V, carbon ionized four times.

SUBROUTINE opun(kchist)

CHARACTER ch*2.filenum*l,filename*12INTEGER iDO 10 i=O,ist-1

WRITE(filenum,'(II)')iOPEN(UNIT=1O+i,

k FILE=filename(ch,'.'//filenum//'.in'),k STATUS='OLD')

10 CONTINUEEND !subroutine opun

58*****************

58

Page 66: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.8 cloze.for

c--close all the opened files

SUBROUTINE dlozeCLOSECUNIT=1O)CLOSE(UNIT=11)CLOSE(UNIT=12)CLOSE(UNIT=13')CLOSE(UNIT=14)END !subroutine opun

0 59

Page 67: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.9 getgu.for

c--necessary files are already opened, so reads from files unit=1Oc--through unit=iO+ist-1 to get the ionization energy of the atom, inc--cm'-1, and the (degeneracy, energy level) pairs (energy levels alsoc--in cm^-1). Ionization energies stored in array "ion", andc--degeneracy, level pairs stored in array "gull. For example.c--guA(5,200,2) stores the 200x2 (g,u) pairs for the 6 species ofc--element A.

SUBROUTINE getgu(kistchgu,ion)

INTEGER istCHARACTER ch*2,filenum*l.filename*12REAL*8 gu(5o200,2),ion(5)INTEGER i,j,kIMPLICIT REAL*8 (a-h,l-z)DO 100 i=1,5

DO 100 j=1,200DO 100 k=1,2

100 gu(i,j,k)=O.DO 200 i=list

WRITE(filenum,l(Ii)')i-1WRITE(*,*)'Getting data from file '//

& filename(ch,'_'//filenum//'.in')idisk=9+iREAD(idisk,*) ion(i)j=0READ(idisk,*) degen,englevDO WHILE (degen.GT.O.)

j=j+lgu(i,jl)=degengu(i,j,2)=englevREAD(idisk,*) degenenglev

ENDDO200 CONTINUE

END !subroutine getgu

60

Page 68: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.10 saha.for

c--The meat of the program. Subroutine has 3 nested while loops, onec--of which is hidden in SUBROUTINE balance. Outer loop updatesc--electron and heavy fractional densities (ye, yh), and betac--(beta~ye/(yh+ye)). Mliddle loop holds ye~yh,beta constant, butc--updates heteronuclear reaction products AB, AB+. Inner loops updatec--atomic and homonuclear diatomic species. (See SUBROUTINE balance forc--inner loops.)

SUBROUTINE saha(&pressl,temp,istA~istB,seeiu,seemid,maxout,&MWA,DA2,1A2,TA2, ionA~guA,&MWB,DB2.IB2,TB2,ionB,guB,&ZOA,ZA,ubarA ,uubA,rhsA,yOA,yA,&ZOB,ZB,ubarB,uubB,rhsB,yOB,yB,&enthA,entrA,CpA,&enthB,entrB,CpB,&RAB, IAB,TABZOAB,ZAB,ubarAB,uubAB,rhsAB,yAB,kenthAB,entrAB,CpAB, enthe.Cpe, entre ,ye, yh ,beta)IMPLICIT REAL*8 (a-h,l-z)INTEGER istA, istB, seen, seemid,maxoutREAL*8 pressi~,temp,

&MWA,DA2,1A2,TA2(4) , onA(5) guA(S,200,2),&MWB,DB2, IB2,TB2(4),*ionB(5) ,guB(5,200,2),&ZOA(7,3),ZA(7,3),ubarA(7),uubA(7),rhsA(7),yOA,yA(7),&ZOB(7,3) ,ZB(7,3) ,ubarB(7) ,uubB(7) ,rhsB(7) ,yOB~yB(7),&enthA (7) ,entrA(7) ,CpA(7),&enthB (7) ,entrB(7) ,CpB(7),&RAB,IAB,TAB(4),&ZOAB(2,3) ,ZABC2,3) ,ubarAB(2) ,uubA8(2) ,rhsAB(2) ,yAB(2),&enthAB(7) ,entrAB(7) ,CpAB(7),

&ye,yh~betaC local variables for subroutine saha

INTEGER i,imid,iout,ityA.ityBREAL*8

&epsilon, chi,ymin,&yeA,yhA,resA,kyeB,yhB,resB,&resAB,Yyh,residualDATA epsilon,chi,ymin /1.E-7,O.5,1-E-26/

c-------- get the partition functions for species of A,B, and AB for thec----given temperature and pressure.

* 61

Page 69: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

CALL Zl(temp,istA,guA.TA2.ionA,ZA,ubarA,uubA)CALL ZI(tempistB,guB,TB2,ionB,ZB.ubarBuubB)CALL Z2(tempZA,ubarAuubAZB.ubarB,uubb,TAB.ZAB,ubarAB,uubAB)

c ----- get the right-hand-sides (rhs) of the saha equations (R-i in thec ----- report), which are specified for a given temperature and pressure.

CALL rhsl(temp~pressl,istAionAZA,DA2,IA2,MWAorhsA)CALL rhsi(temp,pressl,istBionB,ZBDB2,IB2,MWB,rhsB)CALL rhs2(temppressl,ZA,ZBZABoRABIAB,MWAMWB,rhsAB)

c ----- get thermodynamic properties for the individual species; dependc ----- only on temp, press, partition functions, and ubar, uub; can getc ----- whole gas thermodynamic properties later by taking the weightedc ----- average thermodynamic properites, where the weights are the molec ----- fractions.

CALL therml(temp,pressl,DA2,IA2,ionAZAZOA,ubarA,uubA,&enthACpA,entrA)

CALL therml(temppresslDB2,IB2,ionBZB,ZOB,ubarB,uubB,&enthB,CpB,entrB)

CALL therm2(temp,pressl,DA2,DB2,RAB,IAB,ZAB,ZOAB,&ubarAB uubABenthAB,CpAB,entrAB)

CALL therme(temp,pressl,enthe,Cpeentre)DO 200 i=i,7

yA(i)=O.yB(i)=O.

200 CONTINUEDO 300 i=1,2

yAB(i)=O.300 CONTINUEc ----- guess (''ges'') the initial values of the atomic and homonuclearc ----- atomic species fractions by assuming that (1) elements A,B canc--...mix, but do not react chemically, (2) a given element has twoc ----- dominant species present at any one time, all others beingc ----- negligibly (sp?) small. For a single element, or for mixtures,c ----- this method will give the right answer to about 5%, and zippyc ----- quick too! But chemical reactions between A and B require lessc ----- elegant methods...

CALL gesl(rhsA,yOA,yA)CALL gesi(rhsB,yOByB)

c--...itery finds the dominant species in an element, and sets thec ----- variably ity to that species position in the element array. Inc ----- subsequent calculations, operations are perfoimed using thatc ----- species as the ''row pivot". This reduces numerical error,c ----- which means the set of equations converges more quickly to a good

62

Page 70: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

c ----- answer.CALL itery(yAityA)CALL itery(yB,ityB)

c ----- functions that get the sum of the atomic fractions for thec - ''.. heavy" fraction (yh), and the weighted average atomicc ----- fractions for th, electron fraction (ye), where the weights arec-- -----the species charges. At this point in the program, this is justc--...our first guess at ye,yh,and beta.

CALL getye(yAyeA)CALL getye(yB,yeB)CALL getyh(yAyhA)CALL getyh(yB,yhB)ye=yeA+yeB+yAB(2)yh=yhA+yhB+yAB(I)+yAB(2)beta=ye/(yh+ye)

c ----- calculate the maximum possible fraction of species AB, as if allc ----- of one species or another combined to form the compound; maximumc ----- is modified by the rhsAB, which sort of indicates how much thec ----- species AB dissociates as the temperature increases.

ymaxAB=O.S-DSQRT(O.25-yOA*yOB/(l.+rhsAB(1)))iout=Oresidual=l.

c ----- outer while loop: finished when either (1) residual<epsilon, uhichc--...means the y's we have satisfies the system of equations nicely,c ----- or (2) the loop has tried maxout times to converge, and hasn'tc ----- done it yet, and so probably won't. maxout is definable by thec ----- user in the input section: maxout=20 works well, and reasonablyc--...balances speed vs. efficiency. This loop balances charge.

DO WHILE ((residual.GT.epsilon).AND.(iout.LT.maxout))yeO=yeyhO=yhimid=O

c ------- reinitialize the upper and lower bounds for yAByhiAB=ymaxAByloAB=O.wyh=-l.

c ------- middle while loop: is done when the weighted sum of the heavyc ------- atomic fractions (wyh) is within epsilon of 1, where thec ------- weights are the number of nuclei in the molecule (2 forc ------- diatomic, 1 for atomic). This is essentially the conservationc ------- of mass equation. Within this loop. charge is held temporarilyc ------- constant.

0 63

Page 71: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

DO WHILE (DABS(wyh-1.).GT.epsilon)yABO=yAB(1)

c --------- inner loop(s), one each for the elements A and B: is done whenc --------- the weighted sum of the atomic fractions (sum of elementc --------- nuclei) is within epsilon of the total atomic fraction, yO;c --------- This is essentially conservation of mass for each element.

CALL balance(yeyh,beta,epsilon,chi,ymin,yABoseein,& yOAyAityArhsA)

CALL balance(ye,yh,beta,epsilonchiymin,yAB,seein,& yOBoyBityBrhsB)

c --------- done with inner loops, so now update yAB, yAB+,c -- under-relaxing using bisection method. Converges quickly forc --------- monotonic functions.

yAB(1)=yA(1)*yB(1)/(yh+ye)/rhsAB(1)yABi=yAB(1)IF (yAB1.GT.yABO) THEN

yloAB=yABOyAB(1)=(l.-chi)*yABO+chi*yhiAB

ELSEIF (yAB1.LT.yABO) THENyhiAB=yABOyAB(1)=(i.-chi)*yABO+chi*yloAB

ENDIFIF (ye.EQ.O.) THEN

yAB(2)=OELSEIF (ye.GT.O.) THEN

yAB(2)=yAB(1)*rhsAB(2)/betaENDIF

c --------- get new weighted sums of heavies for middle loop checkCALL getwyh(yA,yAB,wyhA)CALL getwyh(yB,yAB,wyhB)wyh=wyhA+wyhBimid=imid+l

922 FORMAT ('+',22x,1P2(E11.3))c --------- the progress-o-meter

IF (mod(imid,seemid).EQ.O) THENWRITE(*,922)imid,wyh-1.

ENDIFENDDO

c -get new electron, heavy fractions for the outer loop checkCALL getye(yA,yeA)CALL getye(yB,yeB)CALL getyh(yA,yhA)

64

Page 72: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

CALL getyh(yB,yhB)ye~yeA+yeB+yAB (2)yh~yhA+yhB+yAB l) +yAB (2)yel.=yeyhl~yh

c -------update electron, heavy density fractions by under-relaxing,c -------using bisection method. Again, beat for monotonic functionsc -------(such as ye have).

ye=( . -chi)*yeQ+chi*yelyh(l . -chi)*yhO+chi*yhlbet a-ye/ (yh+ye)

c----------get partial and total residuals for outer loop checkCALL resl(yOA~yA~rhsA~yAB,ye,yh~beta~resA)CALL resl(yOB~yB,rhsB,yAB,ye,yh,beta~resB)CALL res2(yA,yB,yAB,rhsAB~ye~yh,beta,resAB)res idual=resA+resB+resABiout~iout+l

944 FORMAT ('+',44x,1P2(Ell.3))c -------are we almost there?

WRITE(*, 944) jout, residualENDDOEND !subroutine saha

Page 73: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.11 zl.for

c--Make the partition function for the element, given the atomic spectrac--data in arrays gu and ion, and the temperature. Also calculates thec--average electronic excitation energy level, ubar, and the averagec--squared energy excitation energy level, uub (short for (u*u)bar).c--These are useful later in calculateing thermodynamic properties, suchc--as heat capacity. Array ZA(7,3), holds, for example, partitionc-function data for the 7 states (atomic neutral, atomic +1,...+4,c--diatomic neutral, diatomic +1) of element A, for electronic,c--rotational, and vibrational excitation (Zrot and Zvib =1 for atomicc--species). Electronic partition functions for diatomic species arec--approximated by appropriately averaged atomic partition functions.c--For example, Zel,A2+ \approx (ZelA)*(ZelA+). Remember, partitionc--functions multiply, not add.

SUBROUTINE Z1(&temp,istgu,charTionZ,ubaruub)

INTEGER istREAL*8 temp,gu(S,200,2),charT(4),ion(5),Z(7,3),ubar(7),uub(7)INTEGER ijIMPLICIT REAL*8 (a-h,l-z)tempinv=1.4387/temp 0DO 100 i=1,7

DO 100 j=1,3100 Z(i,j)=O

DO 200 i=l,istsumm=O.sumu=O.sumuu=O.j=1DO WHILE (gu(ij,1).GT.0.)

term = 0.IF((gu(ij,2)*tempinv.LT.70.)

& .AND.(gu(i,j,2).LT.ion(i)-temp/1.4387))& term=gu(i,j,1)*DEXP(-gu(i,j,2)*tempinv)

summ =summ +termsumu =sumu +term*gu(i,j,2)sumuu=sumuu+term*gu(ioj,2)*gu(i,j,2)j=j+l

ENDDOZ(i,1)=summZ(i,2)=1.

66

Page 74: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

Z~i.3)iii.ubax( i)=suuu/swum

20 uub(i)-suiruu/sumiu20 CONTINUE

Z(6,i)=Z(1,1)*Z(1.1)Z(6,2)=temp/charT(1)Z (6 ,3)=temp/charT (2)ubar(6)=ubar(l)+ubar(1)uub(6)=uub(1)-ubarC1)*ubarO.)+uub(l)-ubar(l)*ubar(l)Z(7,I)=Z(1, i)*Z(2, 1)ZC7 ,2)=temp/charT (3)Z (7,3) =temp/charT(4)ubar(7)=ubar(l)+ubar(2)uub (7)=uub( ) -ubar~i) *ubar(1)+uub(2) -ubar(2) *ubar(2)END !subroutine Z

* 67

Page 75: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.12 z2.for

c--Gets partition functions for diatomic species (hence the 2 in Z2).c--Approximates the electronic partition function by appropriatelyc--average atomic partition functions. For example, ZelAB+ is anc--average betveen Zel,A, Zel,B+, ZelA+. and Zel.B. Although this isc--not rigorously correct, it gets in the ballpark; I don't worry tooc--much about diatomic species since (1) this code is meant to be run atc--high temperatures, where there aren't many diatom~ic species, and (2)c--Selph's Isp code doEcs a great (and better, too) job at lowerc--temperatures. Also gets averaged ubar and (u*u)bar for diatomicc--species. Note that of ZA=ZB, ZAB=ZA2=ZB2, as should be. Thus,c--entering in two identical species does not confuse the code.

SUBROUTINE Z2(&temp,ZA ,ubarA,uubA,ZB,ubarB,uubb,TAB, ZAB ,ubarAB, uubAB)REAL*8 temp.

&ZA(7,3) ,ubarA(7) ,uubA(7),&ZB(7,3) ,ubarB(7) ,uubB(7),&TAB(4) ,ZAB(2,3) ,ubarAB(2) ,uubAB(2)IMPLICIT REAL*8 (a-h,l-z)ZABC1 ,1)=ZA(1 ,1)*ZB(1, 1)ZAB(1.,2)=temp/TAB(1ZAB(1 ,2)=temp/TAB(2)ubarAB ,1)=ubarA(1)+ubarB(1uubAB(t)=uubA(1)-ubarA(1)*ubarA(1)+uubB(l) -ubarB(1)*ubarB(1)ZAB(2, t)=0.S*(ZB(2,1)*ZA(1 ,1)+ZAC2,1)*ZB(i .1))ZAB(2, 2)=tempITAB(3)ZAB(2, 3)=tempITAB(4)ubarAB (2)0O. *(ubarA(1)+ubarA(2)+ubarB(1)+ubarB(2))uubAB(2)0O.5*(

&uubA(l)-ubarA(i)*ubarA(1)+uubB(1)-ubarB(1)*ubarB(1)+&uubA(2)-ubarA(2)*ubarA(2)+uubB(2)-ubarB(2)*ubarB(2))END s3ubroutine Z2

68

Page 76: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*A.13 tem~o

c--gets the thermodynamic functions (enthalpy, heat capacity, andc--entropy difference from STP) for an element's species, and sticksc--them in arrays enth(7), Cp(7), and entiý7). Us-!s the element'sc--partion functions at STP (ZO) and the current T,P (Z). See Theoryc--in paper for derivation of thermodynamic functions.

SUBROUTINE thermlCktemp~pressl,uD,uI,ion,Z,ZO,ubar,uub~enth,Cp,entr)REAL*8 temp~pressl,uD,ionC5),Z(7,3).Z0C7,3),ubar(7),uub(7),

&enth(7) ,Cp(7) ,entr(7)INTEGER iIMPLICIT REAL*8 (a-h,l-z)DATA gasR,cminv,atm/8.31439,8.06S49E3,O. 101325e6/DATA tmpO /2.981SE2/tempinv=1 .4387/tempdisionO .5*uD*cminvDO 100 i=1,5IF (Zi,1).EQ.0) THENenth(iW=O.Cp(i)0O.entr(i)=0.

ELSEenth(i)=gasR*temp* (2. 5+(dision+ubar(i))*tempinv)Cp(i)=gasR*(2.5+(uub(i)-ubar(i)*ubar(i))*tempinv*tempinv)entr(i)=gasR*(2.5*DLOG(temp/tmp0)+ubar(i)*tempinv+

& DLOG(Z(i,l)/ZO(i,1))-DLOG(pressi/atm))dision~dision+ion(i)

ENDIF100 CONTINUE

entb (6)=gasR*temp* (4. 5+ubar (6) *tempinv)Cp(6)=gasR*(4 .5+(uub(6)-ubar(6)*ubar(6) )*tempinv*tempinv)entrC6)=gasR*(4 . *DLOG(temp/tmpO)+ubarC6)*tempinv+

&DLOG(Z(6,1)/ZO(6,1))-DLOG(press 1/atm))enth(7)=gasR*temp*(4 5+GiI*cminv+ubarC7))*tempinv)Cp(7)=gasR*(4 .5+(uub(7)-ubar(7)*ubar(7) )*tempinv*tempinv)entr(7)=gasR*(4.5*DLOG(teinp/tmpO)+ubar(7)*tempinv+

&DLOG(Z(7,1)/ZO(7,1))-DLOG(pressl/atm))END

* 69

Page 77: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.14 therm2.for

c--calculates the thermodynamic functions (h~c-.p,s-sO) for thec--heteronuclear diatomic species. Sticks them in arrays enthAB(2),c--CpAB(2), and entrAB(2).

SUBROUTINE therm2(&temp~pre~ss,DA2,DB2,RAB, IAB,ZAB,ZOAB,tubarAB,uubAB,enthAB.CpAB .entrAB)REAL*8 temp,presui,DA2,DB2,RA8,ZAB(2,3)3 ZOABC2,3),

kubarAB(2) .uubAB(2) .enthAB(2) ,CpAB(2).entrAB(2)IMPLICIT REAL*8 (a-h,l-z)DATA gasR~cminv,atm/8.31439,8.O6549E3.o.1o1325e6/DATA tmpO /2.9815E2/tempinv=1..4387/tempdision=(O 5* (DA2+DB2) -RAB) *cmjnventhAB(1)=gasR*temp*(4.5+Cdision~ubarAB(l))*tempinv)CpAB(1)=gasR*(4 .5+CuubAB(1)-ubarAB(1)*ubarAB(l) )*tempinv*tempinv)entrAB(1)=gasa*(4 S*DLOG (temp/tmpO)+ubaxAB(1)*tempinv+

&DLOG(ZABO.,1)/ZOAB(1.I.))-DLOG(pressl/atm))dision=(O 5*(DA2+DB2)-RAB+IAB)*cminventhAB(2)=gasa*temp*C4.5+(dision+ubarAB(2) )*tempinv)CpAB(2)=gasR*C4. 5+(uubAB(2)-ubarAB(2) *ubarAB(2) )*tempinv*tempinv)eutrAB(2)=gasR*(4. 5*DLOG~temp/tmpO)+ubarAB(2)*tempinv+&DLOG(ZAB(2,1)/ZOAB(2,1))-DLOG(pressi/atm))

END

70

Page 78: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*A.15 tem~o

c--get thermodynamic functions (h,c-.p,s-sO) for electrons.

SUBROUTINE therme (ktemp,pressl ,entheCp~euitre)REAL*8 temp. press1,euth*, Cpe,enitroIMPLICIT REAL*8 (a-h,1-z)DATA gast, atm/B .31439,0. 101325e6/DATA tmpO /2.9815E2/enthe=2 .5*gasR*tempCpe=2. 5*gasRentre=gasa*(2 .5*DLOO(temp/tmpO)-DLflG(pressl/atm))END

Page 79: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A-16 rhsllfor

c--gets the right-hand-sides (rho) of the Saba equation for use in thec--nuclear fraction (y) calculations. See paper theory for derivations.c--Say there are the neutral atomic species. 4 ionized atomic species,c--and the two diatomic species: 7 species per element. We only need 6c--equations, and therefore 6 rha's, to solve for these 7 species,c--since the seventh equation is conservation of mass. Therefore, forc--the 7 species we have, rhs(5) will be left empty (0), and rhs(6) andc--rhs(7) correspond to the diatomic species equations. If we only goc--up to A+3, then rhs(4) and rhs(5) will be empty.

SUBROUTINE rhsl(ktemp,pressl,ist, ion,Z,uD,uI,MW,rhs)INTEGER istREAL*8 temp,pressl,ion(5),Z(7,3),uD,uIMW,rhs(7)INTEGER iIMPLICIT REAL*8 (a-h,l-z)DATA coefD,coefI,K..eV /2.59466E3,3.33381E-2,11604.85/tempinv=1 .4387/temptempre~temp*temp*DSQRT(temp) /pressIDO 100 i=1.7

100 rhs(i)=0.DO 200 i=1,ist-iboltz0O.IF (ion(i)*tempinv.LT.70.) boltz=DEXP(-ion(i)*tempinv)rhs(i)=coefI*Z(i+1,1)/Z(i,l)*boltz*tempre

200 CONTINUEmu=MW* MW! (NW+MW)boltz=0.IF (uD*K-.eV/temp .LT.70.) boltz=DEXP(-uD*K-.eV/temp)rhs (6)=coefD*mu*DSQRT(mu) *boltz*tempre*

&Z(1, 1)*Z(1,1)/&Z(6, 1)/Z(6,2)/Z(6,3)bolt z0.IF CuI*K-.eV/temp.LT.70.) boltz=DEXP(-uI*K-.eV/temp)rha (7)=coefl*boltz*tempre*

&Z(7, 1)*Z(7,2)*Z(7,3)/&Z(6,1)/Z(6,2)/Z(6,3)END !subroutine rhsl

72

Page 80: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*A.17 hlo

c--gets right-hand-sides of Saha equations for diatomic, heteronuclearc--species. See paper theory for derivation.

SUBROUTINE rhs2(&temp~pressl,ZA,ZB,ZABRAB,IABMWA,MWB,rI1SAB)ktEAL*8 temp~pressl,ZA(7,3).ZB(7,3).ZAB(2,3).RAB,IAB,

&MWA.MWB~rhsAB(2)IMPLICIT REAL*8 (a-h.1-z)DATA coefD,coefI,K-.eV /2.59466E3,3.33381E-2,11604.85/tempre~temp*temp*DSQRT(temp) /pressIboltz=O.IF (RAB*K-.eV/temp.LT.70.) boltz=DEXPC-RAB*K-.eV/temp)muAB=MWA*MWB/ (MWA+MWB)rhsAB(1)=coefD*muAB*DSQRT(muAB) *boltz*tempre*

&ZA(1, 1)*ZB(1 ,1)/&ZAB(1. 1)/ZAB(1 ,2)/ZAB(1 .3)boltz=O.IF (IAB*K...eV/temp.LT.70.) boltz=DEXPC-IAB*K-eV/temp)rhsAB (2)=coef I*boltz*tempre*

&ZAB(2, 1)*ZAB(2,2)*ZAB(2,3)/&ZAB(1,1)/ZAB(1,2)/ZAB(1,3)END !subroutine rhs2

73

Page 81: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.18 gesl.for

c--guesses (hence "ges") the initial species distribution for singlec--(hence ''"1) element, based on the assumption that only two speciesc--dominate at at TP. This assumption linearizes the otherwise veryc--nonlinear equations, and gives the right answer to within 5% for ac--single element, or for an inert (no chemical reactions) mixture ofc--multiple elements. Lickity split.c--The conditions for checking which two species are dominant arec--these: say we're examining N_+I, N-+2, and N-+3 (abbrv. Ni, N2, N3)c--The switchover point from considering NlN2 to considering N2,N3c--comes when there are equal concentrations of N1 and N3. Using this,c--the fact than Ni+N2+N3=N-heavy, and the fact thatc--Ni+2N2+3N3=N.electrons all give simple relations for the crossoverc--points; what makes the crossover points unique for an element arec--the values of the right-hand-sides of the Saha equations, whichc--depend on the molecular weight, partition functions, etc.

SUBROUTINE gesl(&rhs,yO,y)

REAL*8 rhs(7),yO,y(7)IMPLICIT REAL*8 (a-h,l-z)IF (rhs(6)*rhs(1).LT.ie-3) THEN 0

y(i)=yO*DSQRT(rhs(6)/(4.+rhs(6)))y(6)=yO-y(1)

ELSEIF (rhs(i)*rhs(2).LT.O.25) THENy(2)=yO/DSQRT(i+rhs(i))y(1)=yO-y(2)

ELSEIF (rhs(2)*rhs(3).LT.O.44) THENy(3)=yO*(-O.5+DSQRT(O.25+2.*rhs(2)/(i.+rhs(2))))y( 2 )=yO-y( 3 )

ELSEIF (rhs(2)*rhs(3).GE.O.44) THENy(4)=yO*(-l.+DSQRT(l.+3.*rhs(3)/(l.+rhs(3))))y(3)=yO-y(4)

ENDIFCALL getye(y,ye)IF (ye.EQ.O.) THEN

y(2)=y(i)*rhs(i)+DSQRT(y(i)*y(1)*rhs(i)*rhs(i)+& y(1)*rhs(1)*(y(1)+y(6)))

y(7)=y(6)*rhs(7)+DSQRT(y(6)*y(6)*rhs(7)*rhs(7)+& y(6)*rhs(7)*(y(6)+y(1)))

ENDIFEND !subroutine gesi

74

Page 82: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

0

0 75

Page 83: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.19 itery.for

c--find which nuclear fraction is largest, and set the equations toc--"pivot" around that species.

SUBROUTINE itery(&y,ity)

INTEGER ityREAL*8 y( 7 )IMPLICIT REAL*8 (a-h,l-z)ity=6IF (y(1).GT.y(6)) THEN

ity=iELSEIF (y(2).GT.y(1)) THEN

ity=2ELSEIF (y(3).GT.y(2)) THEN

ity=3ELSEIF (y(4).GT.y(3)) THEN

ity=4ENDIFEND !subroutine itery

76

Page 84: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.20 getyh.for

c--get the sum of the nuclear fractions=the "heavy" fraction, yh.

SUBROUTINE getyh(&yyh)REAL*8 y(7),yhINTEGER iIMPLICIT REAL*8 (a-h.l-z)yh=O.DO 100 i=1,7

100 yh=yh+y(i)END !subroutine getyh

77

Page 85: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.21 getye.for

c--get the electron fraction, ye, based on the charge weighted averagec--fraction

SUBROUTINE getye(&y~ye)

REAL*8 y(7),yeINTEGER iIMPLICIT REAL*8 (a-hl-z)ye=O.DO 100 i=1.5

100 ye=ye+(i-1)*y(i)ye=ye+y(7)END !subroutine getye

78

Page 86: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

AM A.22yho

c--get the mass-veighted sum of the heavy nuclear fractions. Used for

c--conservation of mass equations.

SUBROUTINE getwyh (ky,yAB~vyh)REAL*8 y(7) ,yAB(2) ,vyhINTEGER iIMPLICIT REAL*8 (a-h,J.-z)wyh=0.DO 100 i=1.5

100 vyhrnvyh+y(i)wyhvwyh+2. *y(6)+2.*y(7)+yAB(1)+yAB(2)END !subroutine getwyh

* 79

Page 87: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.23 balance.for

c--the inner loop. Finishes when either (1) the mass weightedc--nuclear fraction sum (wyh) is within epsilon of the total nuclearc--fraction, yO, or (2) the sum of the heavy fractions (yhh, ac--different name, so we don't screw up the outer loop) is very veryc--small. This protects us against the case where all of an elementc--combines with the other to form the compound AB; otherwise, the routinec--will keep trying to reduce the partial residual by making thec--concentrations smaller and smaller, until finally we get anc--underflow error.

SUBROUTINE balance(&yeyh,beta,epsilon,chi,yminyABseein,yO,yity,rhs)

INCLUDE format.forINTEGER ity,seeinREAL*8 yeyh,beta,epsilon,chi,yminyAB(2),yOy( 7 ),rhs(7)INTEGER iinIMPLICIT REAL*8 (a-hl-z)loy=O.hiy=yOiin=Owyh=-I.yhh=l.

c--...the inner loop.DO WHILE ((DABS(wyh-yO).GT.epsilon).AND.(yhh.GT.ymin))

c ------- get the new ('"null) fractions ("'y")CALL nuy(ity,yO,y,ye,yh,beta,rhs)

c ------- then get the new weighted heavy fractionCALL getwyh(y,yAB,wyh)

c ------- under-relax/bisection the pivot yIF (wyh.GT.yO) THEN

hiy=y(ity)y(ity)=(1.-chi)*y(ity)+chi*loy

ELSEIF (wyh.LT.yO) THENloy=y(ity)y(ity)=(1.-chi)*y(ity)+chi*hiy

ENDIFc ------- get the new weighted heavy fraction with the updated pivot y

CALL getwyh(y.yABwyh)c ------- and get the test-case heavy fraction

CALL getyh(yyhh)iin=iin+l

80

Page 88: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

----------- hbow's the progress?IF (mod(iia~seein).EQ.0) THENWRITE(*.192) '+' ,iin.vyh-yQ

ENDIFENDDOEND

0 81

Page 89: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.24 nuy.for

c--given the pivot y (ity is the array index for the y array), thec--total nuclear fraction yO, the temporary ye,yh,beta, and the rhsc--array, we update the other nuclear fractions for an element.

SUBROUTINE nuy(kity,yO,yyeyhbeta,rhs)

INTEGER ityREAL*8 y0,y(7),ye.yh,betarhs(7)IMPLICIT REAL*8 (a-h,l-z)

c--...check if electron density is zero, and should still be zero. Needc ----- to check, because otherwise, will try to divide by beta, :hich isc ----- zero if ye=O.

IF (ye.EQ.O.) THENy(2)=O.y(3)=O.y(4)=0.y(6)=0.y(7)=O.

c ------- calculate the other non-charged species from the pivot speciesIF (ity.EQ.6) THEN

y(1)=DSQRT(rhs(6)*y(6)*(yO-y(6)))ELSEIF (ity.EQ.1) THEN

y(6)=2.*y(1)*y(1)/rhs(6)/(yO+y(1))ENDIF

c ----- find the other nuclear fraction y's from the pivot y. Thec ----- equations are only slightly non-linear when we (temporarily) holdc ----- the electron fraction, ye, and beta (as well as yh) constant.

ELSEIF (ye.GT.O.) THENIF (ity.EQ.6) THEN

y(1)=DSQRT((yh+ye)*rhs(6)*y(6))y(2)=rhs(1)/beta*y(1)y(3)=rhs(2)/beta*y(2)y(4)=rhs(3)/beta*y(3)y(5)=rhs(4)/beta*y(4)y(7)=rhs(7)lbeta*y(6)

ELSEIF (ity.EQ.1) THENy(2)=y(1)*rhs(1)/betay(3)fy(2)*rhs(2)/betay(4)=y(3)*rhs(3)/betay(5)=y(4)*rhs(4)/betay(6)=y(1)*y(1)/rhs(6)/(ye+yh)

82

Page 90: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

y(7)=Y(6)*rhs(7)/betaELSEIF (ity.EQ.2) THEN

y(1)=y(2)*beta/rhs(1)y(3)=y(2)*rbs(2)/betay(4)y C3) *rhs (3)/betay(S)=y(4) *rhs (4)/betay(6)=y(I)*y(I)/rhs(6)/(ye+yh)y(7)=y( 6) *rhs (7)/beta

ELSEIF (ity.EQ.3) THENy(2)iny(3)*beta/rhs (2)y(l)=y(2)*beta/rhe(I.)y(4)=y(3)*rhs (3)/betay(S)=y(4) *rhs (4)/betay(6)=y(1)*y~l)/rhs(6)/(ye~yh)y(7)=y(6)*rhs (7)/beta

ELSEIF (ity.EQ.4) THENy(3)=y(4)*beta/rhs (3)y (2)=yC3) *beta/rhs (2)y(i)=y(2)*beta/rhs~l)y(S)=y(4)*rhs (4)/betay(6)=y(1.)*y(l)/rhs(6)/CyO+yh)y(7)=y(6)*rhs(7)/beta0NI

ENDIF

END !subroutine nuy

Page 91: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.25 resi~for0c--get tbe residual for an element. subroutine can be used for eitherc--element; add residuals from both elements, and hetero-diatomics toc--get total residual.

SUBROUTINE resiC&yO,y~rhs~yAB,ye,yh,beta,residual)REAL*8 yO,yC7) .rhs(7),yABC2),ye,yh,beta~residualINTEGER iIMPLICIT REAL*8 (a-h~l-z)REAL*8 res(7)CALL getwyh(y,yAB,wyh)res(i>= wyh-yOres (2) =-rhs ( ) *y(1)+beta*y (2)res (3)=-rhs (2) *y(2)+beta*y (3)res(4)=-rhs (3) *y(3)+beta*y(4)res (5)-rhs (4) *y(4)+beta*y(S)res(6)= y(1)*y(1)/(yh+ye)-rhs(6)*y(6)res(7)=-rhs(7)*Y(6)+beta*Y(7)residual=O.DO 100 i=1,7

residual=residual+DABS(res(i))0100 CONTINUE

END !subroutine resl

84

Page 92: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*A.26 e lo

c--get residual for heteronuclear diatomic species.

* ~SUBRtOUTINE res2(&yA. yB, yAB,rhsAB. ye. yh,bt,residual)REAL*8 yA(7),yB(7).yAB(2),rhsAB(2),ye~yh,beta,residualINTEGER iIKPLICIT REAL*8 (a-h.1-z)REAL*8 res(2)res(1)= yA(1)*y8(1)/(yh+ye)-rhuAB(1)*yAB(l)res (2)=-rhsAB (2) *yAB (I.)+beta*YAB(2)residual=O.DO 100 i=1.2

residual~residual+DABS(res(i))100 CONTINUE

END !subroutine res2

* 85

Page 93: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.27 gaslfor0

SUBROUTINE gas(kpressl, temp.&DA2, 1A2, ionA,yA,enthA,CpA~entrA,ADB2 IB2, ionB,yB,enthBCpB~entrB,&name ,RAB, lAB, yAB, enthAB,CpAB, entrAB, enthe ,Cpe, entre,&enthal,heatcp,entrop,mfA,mfB,mfAB,denA,denB,denAB,&dirA,dirB,dirAB)CHARACTER nanie*4REAL*8

&pressi temp9kDA2, 1A2,ionA(5) ,yA(7) ,enthA(7) ,CpA(7) ,entrA(7),&DB2, 1B2. ionB(5) ,yB(7) ,enthB(7) ,CpB(7) ,entrB(7),kRAB,IAB,yABC2) ,enthAB(2) ,CpAB(2) ,entrAB(2),&enthe,Cpe~entre,&enthal,heatcp,entrop~mfA(7) ,mfB(7) ,mfAB(2),&denA(7),denB(7),denAB(2),dirA(7),dirB(7),dirAB(2)INTEGER iIMPLICIT REAL*8 (a-h,l-z)DATA boltzk/1 .38066E-23/DATA JmoleV, Jmolcm/96484. 52,11.96263/

c----JmoleV (96484.52 J/mol/eV) converts eV to J/molc----re-evaluate the heavy and electron fractions, just t-' safe.

CALL getye (yA, yeA)CALL getye(yB ,yeB)CALL getyh (yA ,yhA)CALL getyh(yB ,yhB)ye=yeA+yeB+yAB (2)~h~yhA+-7hB+yAB(1)+yAB (2)

pkt~pressl/(boltzk*temp*(ye+yh))enthal=0.heatcp=O.entrop=O.---- calculate the heats of formation for the species:

c----dissociation (''d'), ionization ("ij3), and reactions ("'r)')c----also calculate the gas thermodynamic properties, based on the

---- species properties and the mole fractions.dirA(1>0O.S*DA2*JmoleV 'J/moldirB(1)O .5*DB2*JmoleVDO 100 i=1,5

enthal~enthal+yA(i) *enthA(i)+YB( i) *enthB(i)

86

Page 94: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

heatcp~heatcp+yA~i)*CpA(i)+yB~i)*CpB(i)entropzentrop+yA~i)*entrA(i)+yB(i)*entrB(i)dirA(i+1)=dirA(i)+ionA~i)*Jmolcm !J/mol

* dirB(i+1)=dirB(i)+ionB~i) *JmolcmmtA(i)=yA~i)/Cyh+ye) Imole tractionIfB(i)-yB~i)/Cyh+ye)denA(i)=yA(i)*pktdenB(i)=yB Ci) *pkt

100 CONTINUEDO 200 i=1,2

enthal~enthal+& YAB(i)*enthAB(i)+yA(i+5) *enthA~i+5)+yB(i+5)*enthB~i+5)

heatcp~heatcp+& yAB~i)*CpAB(i)+yA(i+S)*CpA(i+5)+yB~i+5)*CpB(i+5)

entrop~entrop+& yAB(i) *entrAB Ci).yA~i+5) *entrA~i+5) +yB(i+5) *entrB C +5)

mitAC i+S)=yA Ci+) / Cyh+ye)mfB~i+5)=YB(i+S)/(yh+ye)denA Ci+S)=yA Ci+5) *pktdenB Ci+S)=yB( i+5)*pktznfAB(i)=yAB~i)/(yh+ye)denAB(i)=YAB(i)*pkt

200 CONTINUEdirAC6)=0.dirB(6)=O.dirA(7)=1A2*JmoleVdirB(7)=1B2*JmoleVdirAB(1)=CO .5*(DA2+DB2)-RAB)*JmoleVdirAB(2)=(0 .5*CDA2+DB2)-RAB+IAB)*JmoleVenthal=entbal+ye*entheheatcp=heatcp+ye*Cpeentrop=entrop+ye*entreenthal=enthal/ Cye+yh)heatcp=heatcp/ (ye+yh)entrop=ent rap!(ye+yh)

c WRITE(*, 'CA,lPE1I.3)')' Enthalpies (J/tnol) '//c &name//' gas'.enthalc WRITE(*,'(A,1PE11.3)')' Heat capacities Cc-.p) CJ/K/mol)'//c &namue//' gasl,heatcp

END !subroutine output

87

Page 95: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.28 rocket.for

c--get performance from an ideal rocket, assuming (1) ourc--temperature and pressure are that of the rocket chamber, (2) frozenc--flow (no change in equilibrium species composition downstream), (3)c--isentropic (reversible) expansion of gases. (4) hard sphere ideal gasc--(so forget all the complicated thermodynamic functions we calculated;c--just use c-p=2.SR). Frozen flow assumption relieves us from havingc--to calculate coronal equilbrium at exit conditions.

SUBROUTINE rocket(&yOA,yOB,MWA,MWB,yeyhtemp,presslpress2,mdot,thrust,Isp,Pjet)

REAL*8 yOA,yOB,MWA,MWB,ye,yh,&temp,presslpress2,mdot,thrust,Isp,Pjet

REAL*8 MWbar,prat,vexDATA gasR,grav/8.31439,9.8062/MWbar=(yOA*MWA+yOB*MWB)/(yh+ye)prat=press2/presslvex=DSQRT(5.e3*gasR/MWbar*temp*(l-prat*prat*DSQRT(prat)))thrust=mdot*vexIsp=vex/gravPjet=O.S*mdot*vex*vexEND !subroutine rocket

88

Page 96: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* A.29 output.for

c--The mother of all subroutines. Basically has two branches: (1) ifc--the has selected howmany=l, this subroutine will print anything ofc--interest to a file name name.out, where "name" is the name of thec--compound formed Ly the two species the user chose. The user gets hisc--original input data, the electronic, rotational, and vibrationalc--partition functions of all the species, the right hand sides of thec--saha equation, the nuclear fractions (y's) of the species, the molec--fractions of the species, the densities, the heats of formation forc--the species, the enthalpies, heat capacities, and entropies, both ofc--the species and for the entire gas, and the rocket performance. Ifc--you want it and its not there, this program doesn't do it. (2) If thec--user selects multiple temperatures (howmany.!= 1), a morec--convenient, tabulated form of data is outputted to several files,c--one file per data type per element. However, due to the MS-DOSc--limitations on the number of possible files open at one time, thec--user must choose between density and mole fraction. I chose thesec--since it's not likely the user will want both. Depending on thec--user's choice of howmany, subSUBROUTINEs open the appropriate filesc--and make the appropriate headers.

SUBROUTINE output(

&yOA,yOB,templtemp2,howmany,presslpress2,mdot,temp,itemp,&chA,ZA,rhsA,yA,enthA,CpA,entrA,&chB,ZB,rhsB,yB,enthB,CpBentrB,

&name,ZAB,rhsAB,yAB,enthAB,CpABentrABenthe.Cpeentre,&enthal,heatcpentrop,mfAmfB,mfABdenA,denB,denAB,&dirAdirB,dirAB,Pabs,Pjet,thrust,Isp,densmol)

CHARACTER chA*2,chB*2,name*4INTEGER itemp,densmol,howmanyREAL*8

&yOA,yOB,templtem-2,pressl,press2,mdot,temp,&ZA(7,3),rhsA(7),yA(7),enthA(7),CpA(7),entrA(7),&ZB(7,3),rhsB(7),yB(7),enthB(7),CpB(7),entrB(7),&ZAB(2,3),rhsAB(2),yAB(2),enthAB(2),CpAB(2),entrAB(2),&enthe,Cpe,entre,&enthal,heatcp,entrop,mfA(7),mfB(7),mfAB(2),&denA(7),denB(7),denAB(2),dirA(7),dirB(7),dirAB(2),&Pabs,Pjet,thrustIsp

CHARACTER filename*12IMPLICIT REAL*8 (a-h,l-z)DATA boltzk/1.38066E-23/

* 89

Page 97: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

INCLUDE format.f or0c----re-evaluate the heavy and electron fractions, just to be safe.

CALL getye (yA ,yeA)CALL getye (yB, yeB)CALL getyh(yA,yhA)CALL getyh(yB,yhB)ye~yeA+yeB+yAB (2)yh=yhA+yhB+yAB l) +yAB (2)beta=ye/(yh+ye)pkt~pressl/ (boltzk*temp* (ye+yh))

c----send a teaser to the screenWRITE(*,192)' Pabs, Piet (W) ',Pabs, PietWRITE(*,192)1 Thrust(N),Isp(s)',thrust,IspIF (howmany.EfQ.1) THEN

c----output for single inputIF (itemp.EQ.1) THENOPEN (UNIT=90, FlLE~filename(name 2. out'))

ENDIFc--------- write input info

WRITE(90. 'CA)') 'Using '//chA//', '//chB//', 'I/nameWRITE(90,*) 'Stoichiometric Proportions of '1/chA/I', '//chBWRITEC9O,'C' ' [1',lPE11.3,'','',lPE1l.3, ''1 ' ')')yOA,yOBWRITE(90,*)Ichamber, exit pressures (atm)'WRITEC9O,'C'' ['',1PE1l .3,'',' ,lPE1l.3,''1 '')')pressl,press2WRITEC9O,*)'Temperature range: templ(K),temp2(K),hou'many'WRITE(90,1('' E',lPE1l.3,'',''.lPE1I..3, '','',I5.' I

& tempi,tezup2.howmanyWRITEC90,*)mass flow rate (kg/s)'WRITEC9O,'C'' ['',lPE11.3,3'] ')'))mdot

c--- -pretty display of partition functionCALL Zlshov(chA,ZA)CALL Zishow(chB,ZB)CALL Z2show(name.ZAB)

c--- -show the information of a species, described by the firstc -------parameter string

CALL specshowC'Right-hand-sides of Saba Equation'& chA, chB,name,rhsA~rhsBrhsAB)

CALL specshowC'Nuclear fractions,y',& chA,chB,name,yA,yB,yAB)

WRITE(90,194)'yh,ye,yh+ye,beta',yh,ye,yh+ye,betaCALL specshowC'Mole fractions,yI(yh+ye)',

& chA,chB~name~mfA,mfB,mfAB)

900

Page 98: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

WRITE(90,191) 'e-' ,ye/(yh+ye)CALL specshow('Species densities (m*-3)',

& chA~chB,name ,denA,denB~denAB)WRITE(90.191)'.-' ,pkt*yeCALL specshow('Heat of formation (J/mol)'.

& chk,chB,name,dirA,dirB~dirA8)CALL specshow('Enthalpies (J/mol)'.

& chA,chB *namne,enthA,enthB,enthAB)WRITE(90. 191) 'e-' ,entheWRITE(90,191)name//' gaa.' enthalCALL specshov('Heat capacities (C-.p) (J/K/mol)'.

& chA~chB,name,CpA,CpB,CpAB)WRITE(90,191) 'e-'.,CpeWRITE(90,191)name//' gas' ,heatcpCALL specshow('Entropy diff (from STP) (J/K/mol)',

& chA,chB~name,CpA.CpB.CpAB)WRITE(90,191) 'e-' ,entr.WRITE(90, 191)name//' gas' ,entropWRITE(90. *)WRITE(90,192) 'Thrust(N),Isp(s)' ,thrust,IspWRITE(90,192)'Pabs, Piet (W)' ,Pabs,Pjet

ELSEc----output for multiple inputs

IF (itemp.EQ.1) THENc ---------open all the appropriate files for output

CALL opunhdr(chA ,chB~name,densmol)ENDIF

c -------write all the data to all the filesWRITE(61,139)temp,enthA~entheWRITE(62, 139)temp,anthB,entheWRITE(63, 134) temp, enthAB ,entheWRITE(71,139)temp,CpACpeWRITE(72. 139) temp1 CpB,CpeWRITE(73, 134)temp,CpAB.CpeWRITE(81 ,139) temp, entrA, entreWRITE(82, 139) temp, entrB,entreWRITE(83. 134)temp,entrAB,entre

c -------the MS-DOS-imposed choiceIF (densmol.EQ.1) THENWRITE(91 ,139)tentp,denA,pkt*yeWRITE(92, 139)temp,denB,pkt*ye

WRIT(93134) temp. denAB ,pkt*ye

0 91

Page 99: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

ELSEWRITE(91 ,139)temp,mfA,ye/(yh+ye)WRITE(92. 139)temp,mfB,ye/(yh+ye)WRITE(93, 134)temp,mfAB,ye/Cyb+ye)

END IFVRITE(94.135)tempPabs.Pjet~thrustIsp

END IFEND !subroutine output

92

Page 100: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*A-30 pndfo

c--opens (''opun'') all the output files for the howmany!=1 case, and

c--writes the headers (''hdr''), such as a line describing what the file

c--contains, with units, and species column headings.

c--file unit keyc--60's=enthalpyc--7O's=heat capcity

c--80's=entropyc--90' s~density/molefractionc--+l~element Ac--+2=element Bc--+3=hetero-dia molecule ABc--output file naming convention is as follows:c--(nameX..(description) .outc--where (name) is the element or hetero-dia molecule name

c--and (description) is {eth,cp,etr,den~mol} for enthalpy, etc.

SUBROUTINE opunhdr (&chA, chB ,name,densmol)CHARACTER chA*2,chB*2,uame*4,

&filename*12,prefix*4(3) ,exten*8(4) ,header*40(4)0 ~INTEGER densznol,i~j,ij unitprefix(l)=chAprefix(2)=chBprefix(3)=nameexten(l)'...eth-out'exten(2)='-.Cp.out'exten(3)'..etr.out'header(l)='Enthalpy (J/mol)'header(2)='feat capacity, C-.p (3/K/mel)'header(3)='Entropy difference from STP (J/K/mol)'IF (densmol.EQ.1) THEN

exten(4)='..den out'header(4)='Partial density (m^-3)1

ELSEexten(4)'..mol out'header(4)='?4ole fraction'

END IFDO 10 i=1,4

DO 10 j=1,3ijunit=60+10*(i-i)+jOPEN (UNIT=ijunit,FILE=filename(prefix(j),exten(i)))

* 93

Page 101: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

10 CONTINUE0OPEN (UNIT=94, FILE=filename(name, 'rict out'))DO 20 i=1.4DO 20 j=1.3

ijunit=60+10* Ci-1)+j20 WRITE(ijunit,*)prefix(j),header(i)

WRITE(94,*)name,' rocket performance parameters'991 FOR)(AT(2x.'temp(K)'.4x.A,gx,A,'+',8x.A.'+2',7x,A.'+3',7zA,

&'+4',7x,A, '2',8x,A, '2+' ,7x, e-')993 FORMAT(2x.'temp(K)',4x,A,7x,A,'+')6x'pe-')

DO 30 i=1,4ijunit=60+10*( i-i)WRITE~ijurtit+1,991)chA,chA,chA,chA~chA,chA~chAWRITE(ijunit+2,991)chB, chB~chB~chB, chB, chB, chBWRITE(ijuznit+3, 993)name,name

30 CONTINUE994 FORMAT(2x,'temp(K)',4x,'Pabs(W)',4x,'Pjet(W)',4x.'thrust(N)',

&2x, 'Isp(s)')WRITE(94, 994)END lopunhdr

94

Page 102: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. A.31 filename.for

c--takes two strings (of arbitrary length) and concatenates them, taking

c--the spaces out of the first string. This is particularly useful when

c--making a filename for the OPEN command that MS-DOS will recognize.

c--If there are spaces in between the prefix and the extension, MS-DOS

c--makes a file with no extension...

CHARACTER*12 FUNCTION filename(nameexten)CHARACTER name*(*),exten*(*)°temp*12INTEGER ilasttemp=nameilast=INDEX(name,'IF (ilast.eq.O) THEN

temp(LEN(name)+l:)=extenELSE

temp(ilast:)=extenENDIFfilename=tempEND

95

Page 103: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.32 specshow.for0c--displays the contents of a species variable to the howmany=1 file,c--but in an user-interpretable fashion.

SUBROUTINE specshow(&str,chA,chB,name,yA~yB~yAB)CHARACTER str*(*) ,chA*2,chB*2.name*4REAL*8 yA(7) ,yB(7).yAB(2)

100 FORMAT (4x.5('atomic,1 ,4x),2('diatomic,',2x))101 FORMAT (4x,'neutral',4x,4Q1+',I1D9x)D'neutral',4x,'+1')102 FORMAT (A,1P7(E11.3))103 FORMAT (A,53x,1P2(E11.3))

WRITE(90, *)WRITE(90.*)strWRITE(90,D100)WRITE(90,101)1,2,3.4WR1TEC9O, 102>chA,yAWRITE(90, 102) chB,yBWRITE(90, 103)name ,yABEND

Page 104: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

0 A.33 zlshow.forc--shows the partition function for an element in an intelligible way.

SUBROUTINE Zlshow(&chZ1)CHARACTER ch*2 ,partstr*3(3)REAL*8 ZI(7,3)INTEGER iDATA partstr/'ol ','vib','rot'/

100 FORMAT (4x,S('atomic,',4x),2(Qdiatomic,',2x))101 FORMAT (4x1?noutral'9 4x,4('+',Il19x),'neutral',4x,'1'1)

WRITE(90, *)WRITEC9O,*) 'Partition Function: ',chWRITE(90, 100)WRITE(90. 101)1 .2,3.4DO 10 i=1,3WRITE(90, '(A.lPEIO.31lP6(E11.3))')

& Z1(4,i),Z1(6,i),Z1(6,i),Z1(7,i)10 CONTINUE

END

0 97

Page 105: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

A.34 z2show.for

c--shows the hetero-diatomic species partition function; for use withc--the howmany-1 output file.

SUBROUTINE Z2show (kname,Z2)CHARACTER nanie*4,paxtstr*3(3)REAL*8 22(7.3)INTEGER iDATA partstr/'el ','vib''1rot'/

100 FORMAT (4x,5('atomic,',4x),2C'diatomic'1,2x))101 FORMAT (4x,'neutral',4x,4('+',Ii,9x),'neutral',4x,'1'1)

WRITE(90 ,*WRITE(90,*) 'Partition Function: ',nam~eWRITE(90,100)WRITE(90, 101)1,2,3,4DO 10 i=1,3

10 CONTINUEEND

98

Page 106: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*A.35 sudw~o

c--shuts down the program, closing all the open files, telling the userc--which files to look for, and waiting for an <Enter> before returningc--control to DOS. This helps when running the program from a DOSc--shell, like DCOM, which may automatically go back to the interfacec--screen and prevent the user from seeing which files he needs to see.

SUBROUTINE shutdown(kho~wmany,chA, chB *name, densmol)CHARACTER chA*2, h*,name*4,

&filename*12,prefix*4(3) ,exten*8(4) ,pause*IINTEGER densmol, i ,j,howmanyIF (howmany.EQ.1) THENWRITEC*,*)'Look for output in file (',filename(name.'.out'),')'

ELSEprefix(l)=chAprefix (2)=chBprefix(3)=nameexten(l)'...eth out'exten(2)'S-p.out'exten(3)'...etr.out'IF (densmoj..EQ.1) THEN

exten(4)='-.den .out'ELSE

ext en(4)'...nol. out'ENDIFWRITE(*,*)'Look for output in files:'DO 10 i=1,4

DO 10 j=1,3WRITE(*,*)'(',filename~prefix(j),exten(i)),')'

10 CONTINUEWRITE(*,*)'(',filename(name,'..rkt.out'),')'

ENDI FCLQSE(UNIT=61)CLOSE(UNIT=62)CLOSE(UNIT=63)CLOSE(UNIT=71)CLOSE(UNIT=72)CLOSE(UNIT=73)CLOSE (UN IT=81)CLOSE(UNIT=82)CLOSE (UN IT=83)

* 99

Page 107: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

CLOSECUNIT=90)CLOSE(UNIT=91)CLOSE(UNIT=92)CLOSE(UNIT=93)WRITEC*,*)'Press <Enter> to exit program..READ(*, '(A)')pauseEND !subroutine shutdown

100

Page 108: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* A.36 format.for

102 FORMAT (214)111 FORMAT (A,14)112 FORMAT (A,214)113 FORMAT (A,314)131 FORMAT (1P1(E11.3))132 FORMAT (IP2(E11.3))133 FORMAT (1P3(EI1.3))134 FORMAT (lP4(E1I.3))135 FORMAT (1P5(E11.3))136 FORMAT (1P6(Ell.3))137 FORMAT (1P7(E11.3))138 FORMAT (1P8(E11.3))139 FORMAT (IP9(Ell.3))1310 FORMAT (1P10(E11.3))1311 FORMAT (1P11(Ell.3))1312 FORMAT (1P12(Ell.3))1313 FORMAT (1P13(E11.3))1314 FORMAT (1P14(E11.3))1315 FORMAT (IP15(Ell.3))1316 FORMAT (lP16(E1l,3))1317 FORMAT (1P17(E11.3))1318 FORMAT (1P17(E11,3))191 FORMAT (A.,PE11.3)192 FORMAT (A,lP2(Ell.3))193 FORMAT (A,1P3(E11.3))194 FORMAT (A,1P4(E1I.3))195 FORMAT (A,1PS(E11.3))196 FORMAT (A,IP6(E1I.3))197 FORMAT (A,1P7(E11.3))198 FORMAT (AIP8(E11.3))199 FORMAT (A,1P9(E11.3))1910 FORMAT (A,1P1O(E11.3))1911 FORMAT (A,1P!1(E11.3))1912 FORMAT (A lP12(E11.3))1913 FORMAT (AIP13(E11.3))

1914 FORMAT (A,1P14(E11.3))1915 FORMAT (A,1P15(Ell.3))1916 FORMAT (A,1P16(E11.3))

0 101

Page 109: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B Input Files

1

102 S

Page 110: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

O B.1 abx.;n

ist MW(amu) uD(eV) uI(eV) TrO(K) Tv,O(K) Tr,I(K) Tv,1(K)C 5 12.011 6.21 12.1 2.618 2668. 2.386 1942.H 2 1.0079 4.47 15.4 87.55 6332. 43.45 3339.N 4 14.0067 9.75 15.5 2.875 3393. 2.779 3175.0 5 15.9994 5.11 12.0 2.079 2273. 2.433 2740.Ar 5 1.800E+01 -5.000E+01 5.OOOE+01 1.OOOE+00 1.OOOE+00 1.OOOE+00 1.OOOE+00D 2 2.0 4.47 15.4 87.55 633?. 43.45 3339.

o

O 103

Page 111: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.2 abxy.in

uD(eV) uI(eV) Tr,O(K) Tv,O(K) Tr,I(K) Tv,1(K)

CC 6.21 12.1 2.618 2668. 2.386 1942

CH 3.46 10.6 20.80 4112. 20.39 3941

CN 7.70 14.1 2.733 2976. 2.728 2925

CO 11.0 14.0 2.778 3121. 2.844 3185

HH 4.47 15.4 87.55 6332. 43.45 3339

HN 3.47 13.6 24.02 4722. 22.08 4204

HO 4.39 12.9 27.20 5377. 24.16 4479

NN 9.75 15.5 2.875 3393. 2.779 3175

NO 6.49 9.26 2.405 2739. 2.873 3419

00 5.11 12.0 2.079 2273. 2,433 2740

ArD -5.000E+01 5.000E+01 1.000E+00 1.000E+00 1.000E+00 1.OOOE+O0

104

Page 112: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* B.3 ar-0.in

127109.910& 93143.83 93750.6391 94553.7073 95399.8703 104102.1447 105462.8045 105617.3153 106087.3055 106237.5971 107054.3193 107131.7555 107289.7473 107496.4631 108722.6681 111667.873 111818.099 112750.227 113020.395 112138.983 114147.755 113426.057 113716.615 114641.047 114821.995 114805.183 115366.905 113468.553 113643.261 114861.673 114975.073 116660.0547 116942.8155 116999.3893 117151.3875 117183.6541 117563.0203 118407.4945 118469.1173 118459.662

105

Page 113: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

1 118870.9811 118512.173 118651.4479 119023.6997 119212.935 118906.6653 119847.815 119444.887 119566.115 120619.0767 120753.525 120600.9443 121011.9795 119683.1133 119760.221 121096.673 121161.3563 120188.345 120188.6611 120207.329 120207.777 120229.815 120230.0716 120250.1516 121653.407 121654.325 121654.583 121068.8047 121165.4315 121191.923 121257.2275 121270.6821 121470.3043 122609.765 122635.1283 122601.2901 122790.6121 121794.1583 121932.9089 122036.1347 122160.225 122086.974

106 0

Page 114: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

.3 122514.295 122282.1347 122329.725 123505.5367 123557.4595 123372.9873 123815.535 122440.1093 122479.4591 123873.073 123882.303 122686.205 122686.4020 122695.707 122707.945 122708.1816 122717.9016 124135.747 124137.295 124137.453 123172.097 123205.835 123220.733 123254.995 123261.5931 123385.133 124643.545 124658.523 124651.051 124749.891 123508.963 123468.0349 123653.2387 123773.9208 123808.605 123826.857 123832.505 125113.487 125150.005 125066.5013 125286.285 123903.295

107

Page 115: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

3 123935.971 125334.753 125353.313 124041.205 124041.3820 124046.647 124051.445 124051.6516 124058.3616 125482.707 125483.165 125483.343 124311.727 124349.045 124356.733 124376.385 124381.011 124439.413 125783.85 125791.943 125777.31 125831.451 124526.753 124554.9399 124609.9177 124649.5495 124603.9573 124788.395 124692.027 124715.165 126064.507 126089.568 126053.215 124771.673 124782.771 126202.823 126211.573 124857.275 124857.4220 124860.647 124865.045 124865.19

108

Page 116: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 16 124868.7716 126294.9012 126295.023 125039.607 125054.15 125059.83 125072.65 125074.91 125122.544 126524.21 125163.003 125135.8989 125219.887 125269.528 125282.975 125291.457 125293.655 125329.993 125331.938 125386.4120 125388.657 125391.045 125391.1716 125393.793 125505.512 125519.93 125531.55 125533.81 125561.91 125595.113 125613.12-1 -1

e 109

Page 117: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

BA ar-l.in

222820.4 0.2 1432.02 108722.58 132328.226 132482.124 132631.642 132738.606 134242.624 135086.882 135602.624 138244.512 139259,2210 142187.428 142718.016 143108.634 143372.482 144710.904 145669.842 147229.174 147504.126 147876.984 148620.986 148843.298 149180.186 150148.544 150475.826 151088.186 155044.074 155352.042 155709.028 157234.936 157674.304 158168.712 158429.056 158731.24 159394.322 159707.464 160240.354 161049.652 161090.31

110

Page 118: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 2 167308.666 170401.888 170531.29

* 4 172214.742 172817.126 172336.474 172830.634 173348.786 173394.334 174410.742 174821.944 179593.092 179932.836 181595.044 182223.062 182952.144 183091.832 183915.588 183676.426 183798.224 183986.832 184193.122 184094.1010 185093.928 185625.476 186074.064 186341.392 186172.324 186471.326 186891.926 186728.284 186750.788 186817.126 187589.622 189935.624 190593.624 190106.842 190196.8010 190508.002 191708.464 191975.162 192334.09

0 1

Page 119: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

6 192557.774 192712.9310 194800.978 194822.956 194862.314 194997.658 194883.966 195032.134 195298.622 195282.506 195865.614 195867.734 196077.402 196091.044 196622.786 196633.938 198595.9110 198604.786 198813.174 199138.922 200111.162 199447.564 199982.964 199525.966 199680.584 200032.652 200624.008 200139.846 200235.704 204418.502 204515.8110 204586.402 205243.966 208592.904 212932.886 212934.30-1 -1

112

Page 120: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* B.5 ar-2.in

329965.80F 0.3 1112.401 1570.205 14010.1 33267.5 113800.703 114797.601 115328.403 144023.4 144882.935 144885.977 144892.959 144907.007 156917.625 156924.683 157031.405 174375.003 180679.009 186402.157 186657.205 186903.053 187171.125 187823.057 188714.059 188517.323 196589.205 196613.917 196679.803 204563.535 204649.247 204797.373 204727.475 207233.093 207532.151 207673.165 209151.823 209127.041 209166.357 210212.265 211004.85

113

Page 121: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

3 211563.835 213950.873 214346.701 214568.493 225155.185 225147.937 225402.595 226355.967 226503.229 226646.065 231341.803 231627.301 231754.803 239193.483 240150.665 240257.597 240291.661 242923.963 243145.765 243424.974 246029.765 246033.797 246036.649 246046.575 250712.273 252272.925 252253.697 252289.023 252575.885 266722.807 266877.509 267071.227 267782.109 267833.2011 267895.823 268978.805 269012.807 269000.805 271507.883 271672.081 271696.223 272068.45

114 S

Page 122: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 3 272127.82t 272188.167 272250.905 281461.9716 281473.821 281947.883 282000.265 282099.147 283919.785 284096.263 284118.511 285831.203 285882.005 286009.21-1 -1

0

S~115

Page 123: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.6 ar-3.in

482400.4 0.4 21090.6 21219.2 34854.4 35035.6 117564.4 118515.2 119044.4 145921.6 146000.4 166356.2 167444.2 177833.2 250219.454 250906.606 251972.002 256093.294 257348.896 268151.384 268171.382 285960.174 286228.806 286751.688 287555.832 289125.884 289237.826 289834.684 290256.456 291667.734 291748.702 295674.544 295806.772 299563.206 304074.298 304399.906 306236.284 306308.25-1 -1

116 0

Page 124: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*B.7 at-4.in

605100.1 0.3 765.5 2032.5 16301.3 121632.5 121678.7 121840.5 141764.4 141773.3 191S37.3 195356.5 217578.3 218286.t 218642.3 224216.5 224505.7 224717.1 295742.3 296249.5 297893.3 301300.-1 -1

117

Page 125: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.8 c-O.in

90878.31 0.03 16.45 43.55 10193.701 21648.45 33735.21 60333.803 60353.005 60393.523 61982.207 64088.565 64093.193 64092.013 688S8.3 69689.795 69710.997 69744.403 70744.261 71352.81 03 71365.235 71385.705 72611.061 73976.239 75256.35 77680.51 78105.233 78117.06S 78148.365 78199.347 78215.829 78250.223 78300.85 78307.7 78316.3 78338.7 78531.3 78727.915 79311.103 79319.061 79323.32

118 0

Page 126: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 3 80173.295 80192.497 80222.743 80563.573 81105.701 81311.523 81326.335 81344.485 81770.361 82252.315 83500.7 83761.3 83830.5 83837.7 83847.3 83882.57 83949.3 84032.5 84102.63 84112.3 84852.135 84952.7 84986.25 85400.381 85625.845 86187.5 86319.7 86326.75 86371.37 86396.3 86413.967 86450.3 86491.5 86504.3 86517.5 87632.5 87706.7 87713.5 87752.7 87773.3 87795.37 87807.

119

Page 127: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

5 87830.3 87839.3 87831.35 88541.87 88547.7 88607.7 88624.3 88632.445 88639.7 89081.5 89082.7 89146.7 89155.5 89158.5 89450.7 89514.7 89517.7 89779.7 89968.4-1 -1

120 0

Page 128: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*B.9 c-l.in

196659.02 0.04 64.01 46000.24 43021.86 43050.76 74930.94 74933.22 96494.12 110625.14 110666.32 116537.882 131724.684 131735.814 142024.44 145549.996 145551.446 150462.84 150467.92 157234.43.2 162518.704 162524.622 166964.704 166988.466 167033.434 168123.926 168124.332 168731.64 168750.214 168979.052 173348.182 175287.94 175295.22 178194.14 178220.86 178494.814 178956.462 181258.2 181694.504 181709.206 181734.21

0 121

Page 129: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

8 181770.482 182025.04 182044.56 184064.914 184376.204 184688.692 186425.024 186441.326 186463.754 188579.36 188612.72 194571.94 195750.86 195765.18 195784.710 195812.32 196556.24 196561.86 196570.58 196580.8-1 -1

122

Page 130: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*B.10 c-2.iO

386159.71 0.01 52315.03 52338.05 52394.83 102351.41 137374.03 137403.45 137450.55 145875.11 182520.23 238160.71 247169.53 258931.41 259653.83 259659.35 259672.13 269957.65 269959.77 269962.95 276482.71 308162.93 308196.25 308264.83 309404.53 310005.21 311720.74 317743.5 317748.3 319719.43 321358.85 321375.17 321398.65 321949.17 321955.89 321964.73 322403.17 322701.13 323024.05 323049.47 323088.2

0 123

Page 131: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

5 324212.03 327225.71 329633.13 329654.25 329690.95 332690.35 333116.45 333333.47 333358.49 333395.03 337602.95 337616.47 337636.73 339881.5 340049.53 340075.81 340090.37 341368.53 343255.75 344181.1 345093.97 345444.9 346525.111 346253.09 346577.55 346656.03 346713.15 347099.57 347101.39 347103.77 348859.53 354796.3 357088.7 358046.9 358638.311 358639.09 358688.95 358725.59 358800.7 359122.23 363561.3 364896.

124

Page 132: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 15 365585.5 366027.03 369926.15 370438.15 373748.5 376637.3 381104.85 381919.7 381958.3 384313.5 384350.5 385637.55 385816.2-1 -1

0 125

Page 133: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.11 c-3.in

520177.82 0.02 64484.24 64591.32 302847.92 320048.54 320080.04 324880.26 324890.92 401346.72 408308.94 408322.24 410333.86 410338.28 410434.12 445366.12 448854.4 448861.6 449887.414 449938.218 449948.4 02 468765.6 470763.10 471368.14 471403.018 471407.422 471407.92 482659.6 483931.10 484309.14 484343.818 484346.622 484346.96 492473.14 492743.36 492745.-1 -1

126

Page 134: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* B.12 c-4.in

3162450.1 0.3 2411266.1 2455165.3 2455152.5 2455288.3 2483240.15 2857308.3 2859350.3 2991680.3 3053060.3 3086420.3 3106750.3 3118760.-1 -1

0

0 127

Page 135: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.13 h-O.in

109678.7582 0.0008 8225914 97492.322 102823.932 105291.644 106632.1558 107440.4274 107965.03-1 -1

1

128 0

Page 136: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

*B.14 h-l.in

100000000.0001 0.000-1 -1

0 129

Page 137: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.15 n-O.in

1173454 0.0006 192234 192316 288402 83285.54 83319.36 833662 86131.44 86223.26 88109.54 88153.42 881732 93582.32 94772.24 94794.86 94832.18 94883.12 95476.54 95494.96 95533.24 96751.74 96788.26 96864.22 97770.14 97805.86 996654 996582 103618.14 103668.16 103736.82 104142.24 104227.44 104615.42 104654.94 1046656 1046848 10471810 1047676 104810.98 104882.7

130

Page 138: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

.2 1048644 1048906 1049572 1049874 1049986 1050118 1050204 105120.86 105144.32 106478.62 106760.54 106780.16 106816.18 106870.72 106982.74 106998.36 1070394 107447.22 109813.54 109857.86 109927.92 110029.24 110108.54 1101966 1102148 11024810 1103042 1102214 1102756 1102888 1103394 110221.72 110244.66 1103118 1103732 1103254 1103516 1104034 110448.36 110470.54 110521.96 110545.8

131

Page 139: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

2 112294.84 112320.82 112565.94 112610.66 112682.62 1127354 1128234 1127516 1127638 11279910 1128624 1128012 1128166 1128208 112890.26 1128256 1128258 1128922 1128554 1128746 1129124 112929.26 112947.52 1140154 1140726 1141462 1141304 11416328 11416012 1141828 1142484 1141932 1142096 1141968 1142754 114232.26 114290.56 1142596 1142742 1148094 1148906 114942

132

Page 140: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 6 11495020 11498814 115004-1 -1

S~133

Page 141: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.16 n-l.in

238846.71 0.0003 49.15 131.35 15315.71 32687.15 47167.77 92237.95 92251.33 92252.98 109218.21 109224.85 144189.11 148909.373 148940.975 149077.333 149188.743 155129.93 164611.63 166522.48 05 166583.267 166679.453 166765.73 168893.041 170573.383 170608.635 1706675 174212.931 178274.175 186512.387 186571.89 186653.355 187092.23 187438.34S 187462.387 187492.725 188858.093 188909.891 188937.957 1893363 190121.15

134 0

Page 142: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 1 196541.093 196692.885 196712.173 197859.283 202169.93 202714.945 202765.867 202862.061 203164.73 203188.85 203259.73 203532.85 205350.73 205982.15 206038.17 206108.71 206327.55 209675.37 209739.59 209825.35 209926.923 210239.85 210266.37 210301.95 210705.43 21071 .51 2107777 211030.95 211033.717 211057.079 211061.037 211104.87 211288.029 211295.6511 211390.773 211335.59 211402.897 211411.255 211416.23 211487.285 211491.161 211750.2

135

Page 143: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

3 211780.65 211828.81 214212.43 214258.25 214385.33 21482815 22071712 221070.29 221074.37 221137.67 221227.79 221232.711 221302.29 221312.11 224027.13 224042.95 224072.37 224115.49 224169.33 225987.15 226011.27 226055.25 230223-1 -1

136 S

Page 144: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. B.17 n-2.in

382625.52 0.0004 174.52 57192.14 572526 57333.26 101023.84 101031.52 131003.52 145876.14 145986.54 186802.36 203072.34 203088.92 221302.42 230404.54 230408.62 245665.74 245701.74 267238.56 267244.42 287535.64 287598.16 287713.92 297150.24 297263.12 301088.22 309132.64 309185.82 309662.84 309698.36 309760.58 309856.72 311691.34 311716.14 3142242 317299.94 317343.46 317402.34 317750.86 317781.8

137

Page 145: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

14 320287.54 320977.46 321065.82 327056.84 330238.46 330273.58 330325.310 330396.72 332796.64 3328106 3328328 332860.32 333713.14 334542.26 334568.96 336213.44 3362682 336303.16 339744.48 339855.74 341946.26 341947.94 3426932 342763.714 34275218 34311610 35451714 354955.718 3552142 368525.64 368588.36 368704.84 3733426 3733762 374747.44 374805.32 376756.64 376803.36 376863.88 376953.32 3775914 377608

138

Page 146: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* -11-3

e 139

Page 147: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.18 n-3.in

6248511 0.0001 67136.43 67199.65 67343.83 1306951 175463.53 175536.75 175661.55 1888851 2353703 3772061 3888583 4045211 405893.23 4059095 4059443 419967.85 419971.37 419979.45 4291581 4652233 465300.65 465463.43 4730323 4808805 4843947 4845253 4875424 494240S 4943385 4983155 49970821 4998519 5036253 5054875 5055187 5055617 5062923 50702215 511384

140

Page 148: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

.5 511440

4 5114935 5146385 5166317 5166399 5166503 5194147 5218683 55021815 55273127 55441915 5749405 5910438 5936657 593704-1 -1

0

0 141

Page 149: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.19 o-O.in

109836.75 0.3 158.51 226.55 15867.71 33792.45 73767.813 76794.693 86625.355 86627.377 86631.075 88630.843 88630.301 88631.005 95476.433 96225.59 97420.247 97420.37 multiple?5 97420.50 mult7 97488.14 mult3 99092.645 99093.317 99094.525 99680.47 101135.045 101147.213 101155.105 102116.213 102411.655 102661.639 102865.09 multiple?7 102908.14 multiple?5 103869.4 mult5 105019.03 105164.909 105385.3 multiple?7 105408.58 mult5 105911.35 106545.13 106627.99 106751.2

142 S

Page 150: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

O7 106765.85 107445.43 107497.19 107573.17 107582.75 108021.43 108057.69 108105.77 108116.65 108412.03 108436.19 108470.27 108477.85 108688.43 108707.39 108731.57 108734.4-1 -1

143

Page 151: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.20 o-1.in

283550.940.6 26808.44 26829.44 40466.92 40468.46 119837.74 120001.12 120083.56 165987.74 165996.02 185235.364 185340.686 185499.202 188888.384 189068.372 195710.42 203942.212 206730.804 206786.346 206877.90 08 207002.526 206971.3

206972.32 208346.174 208392.276 208484.244 211521.986 211712.664 212161.944 212593.22 212762.42 214169.744 214229.482 226851.6 228723.38 228746.96 229946.64 229968.24 231296.056 231350.08

144 0

Page 152: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 8 231427.9910 231530.266 232462.834 232536.062 232602.572 232480.14 232526.72 232711.704 232745.986 232747.518 232753.866 232796.278 232959.264 233430.102 233544.094 234402.486 234454.452 238626.324 238731.546 238892.962 240328.75

S 4 240516.286 245395.52 245767.804 245816.296 245902.858 246028.954 248009.16 248185.32 248425.354 248514.236 250251.8 251220.96 251224.110 252607.78 252608.94 253046.236 253048.352 253789.514 253791.878 254481.5 multiple?10 254590.7

0 145

Page 153: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

10 254895.2 multiple?4 254982.26 255104.64 255140.92 255162.64 255172.52 255281.46 255301.38 255465.22 255622.46 255689.64 255812.28 255691.46 25 1.3.14 255913.2 255912.06 255755.88 255759.410 255827.612 255977.58 255829.410 255983.64 255843.16 255897.24 256083.56 256087.68 256123.110 256136.26 256125.88 256143.32 257693.74 257797.96 257963.82 258408.64 258601.76 259286.24 259287.04 260959.6 261042.8 261180.4 261261.76 261354.3

146 0

Page 154: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 4 260991;A6 261869.410 265220.36 265431.56 265468.28 265578.8 265639.6 265705.4 265762.2 265859.6 265665.8 265691.10 265761.12 265925.8 265763.010 265930.26 265856.4 265928.6 265961.8 265985.10 265999.6 265988.8 265999.4 267763.396 267770.858 267783.406 274739.28 274782.410 274920.6 275611.18 275841.314 275879.610 275951.2 275997.10 276066.322 276109.16 276263.910 278140-1 -1

147

Page 155: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.21 o-2.in

443193.510.3 113.45 306.85 20271.01 43183.55 60312.17 120025.45 120052.63 120058.5S 142381.73 142382.81 142396.95 187049.43 197086.73 210458.51 267257.293 267375.655 267632.593 273080.075 283758.93 283976.61 284073.33 290956.623 293865.265 294001.607 294221.653 297557.505 298289.41 300228.213 300310.315 300440.855 306584.81 313801.075 324462.467 324658.259 324836.415 324734.223 327227.945 327277.187 327350.90

148 0

Page 156: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 5 329467.983 329581.981 329643.437 331820.23 332777.13 338565.875 338690.347 338851.501 343302.61 350026.13 350122.95 350302.31 356732.3 356838.5 357111.3 358667.43 363266.81 365515.763 365550.605 365619.127 365719.169 365846.463 365723.93 366486.915 366594.017 366801.043 367952.203 368526.375 368583.637 368684.751 370326.73 370415.75 370524.25 370900.61 373046.23 374575.5 374662.57 374798.65 376067.665 377375.5 377687.5 378408.5

149

Page 157: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

3 378420.91 378438.13 379232.5 379293.7 379356.5 380706.7 380782.3 381086.5 392221.3 392778.3 394090.5 394126.7 394195.3 394516.455 394555.157 394612.709 394688.4411 394780.471 398135.03 398131.45 398127.37 398137.4 09 398218.87 398474.35 398544.33 398582.85 400354.83 400464.71 400518.45 401379.7 401475.49 401609.15 401530.5 401787.7 402530.7 403374.3 403526.3 405805.15 405834.17 405833.05 414675.7 415181.

150 0

Page 158: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 7 422977.7 424998.5 426338.3 428487.5 428606.7 428769.3 430025.3 437015.03 438241.05 438303.27 438395.29 438517.53 439278.15 439329.57 439427.67 442710.-1 -1

0

0 151

Page 159: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

B.22 o-3.in

624396.520.04 386.52 71177.04 71308.46 71492.96 126936.34 126950.32 164366.92 180481.34 180724.64 231275.16 255156.74 255186.02 289016.14 289024.02 357614.82 390161.14 390248.24 419533.56 419550.22 438588.54 438723.66 438970.52 452808.04 453073.02 467231.14 467346.52 468075.44 468154.26 468289.78 468499.44 474217.82 478587.74 478682.26 478811.34 482667.56 482923.12 485823.12 492880.4 494907.5

152

Page 160: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

. 6 494986.38 495098.710 495252.82 499506.44 499535.36 499582.08 499646.64 501511.36 501566.46 503834.54 503947.92 504021.74 510560.6 510567.6 510746.18 510978.54 514217.2 514368.2 518684.4 518690.2 539368.

S 4 547311.6 547336.2 549792.4 549855.6 552034.14 5524902 5544612 568638.4 568773.6 569020.8 570791.2 573696.4 573907.6 574373.2 575204.4 575373.4 575819.6 575853.2 576591.4 576735.6 576947.

0 153

Page 161: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

2 581721.4 581743.4 584552.6 584768.14 587850.2 590071.8 591767.6 592999.4 593627.6 593708.6 594007.8 594080.4 594337.6 594542.6 596299.8 596477.2 597254.14 597352.4 597726.2 597863.4 600092.6 600106.8 602977.6 602434.6 615431.4 615460.4 616588.-1 -1

154

Page 162: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

* B.23 o-4.i

918702.1 0.1 82121.23 82257.95 82564.13 158798.1 213641.73 213797.45 214066.25 231722.1 287909.3 547150.01 561278.3 580826.1 582983.63 583019.95 583097.23 600925.55 600936.67 600956.1

O5 612617.1 653099.73 653262.25 653605.03 664486.3 672695.3 677333.5 677532.7 677847.3 684124.1 689585.63 689699.65 689890.35 694646.5 697170.3 704360.5 704424.7 704527.1 707630.5 708154.3 708296,

155

Page 163: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

1 708379.7 7129673 709277.3 722666.1 731667.3 736108.5 736126.3 737883.

3 742401.5 742407.7 742421.5 746280.7 749857.3 796263.3 802452.

7 806625.5 808351.

3 824280.3 829588.3 831047.5 831213.7 831504.3 832251.3 835151.5 835321.

5 837834.5 837864.

3 839616.7 840832.7 841220.3 841280.

5 841374.7 841497.5 842105.5 843290.3 843397.1 843449.7 847129.3 847465.3 860874.7 861975.5 862419.

156 S

Page 164: * OTICtheromodynamic properties of the fusion rocket propellant, but using extended excitation levels, we can estimate rocket performance above 6000 K. At high temperatures, as molecules

.3 874447.7 875365.3 898580.7 899671.5 901344.5 902442.5 902592.7 904497.7 906404.-1 -1

1

S~157