. :0. .251...» ... 1.; N . «mki: 7‘...» Jr, . . .0... “.0 a ......“Z 0.. .... m... I]! |.... .... ... .. .. .. . .. ....30...30V4..0 .0 +3_f. ”0’03": o .0. h. . .7. ' .. I ".... .f...0.0‘9.0n:0..0..pm....0. .0 ”a. I... “an" 00‘ I 41.11 .0 . . 0. 00 . 1 . .. .. ._ . . . .000 .0 . . . . . . .. .0. . ... . . . . .. . h . .. . . .0 0 a.0 . v .. ...... . . . V . .....- ....wh.....1.0. ... .I. .. 0...... W01... .7. . . .u. ... ..w..u...: ....ffii; . . . . _. .... . ...“..Hhmufl." ufiMJ .0. . .0 0. .0. ... 0.. .0 . 00.70.... .00 .0...I..V..Q. a... . 0.. . . 0—0030 .ruf. .... ....ur . V . ... . 0...... 3'01 .0 r0 .. . . 4... 0.... ....O . . . . . . . . . t . . . I . 3 o 0 .3 w fi£$..g 0 ..u t. .10... a ... . . .. . 10.00.91: . . .. 2.1.0.3... 0...... 3:...” . ...... 03.0.... . 0.... ..n. V. . . V . 0 ... .. .....V......0...r .. F 2.3...." u ... .. .1...) ,l . . “0.3%”: ....I0anm....m r - ...—“m0 . 0C 20..“ . . ‘90.... . ..(a...... 1.2.. ......) a? 000.“...1‘... ... “u... 00“! 00m“.t0 . II." r'o.?.F.5..l ... .. 4.3.0.0031: .. . . ,. 109’s .0 0 ...... ...-... 0.. . _. . . . 0.08.1500. .‘w. 0.0. "0 . a... -32.. ......0... . . . 0. z... I0: . ... . , 0 C . . . .3 .....004. r. . ....F. .. 0... .... . . . .V ... .00.. . 7 ......)tt ..1. . . . . . . . .. . . 0... ...-00300.“! L. 0’ r0 . .0...R...8. .003 8...”. 0 $1 a u .'.-.00—.h .0 .....u ”0...!”- ‘0 .. Jug. 0". “19.0” v. 0.1‘.V0w...0fl."mmh0 .0 “0.00,.“ C 9. .P...\.00...i. “...... h.” .H..ua.u...‘ .v _’ I0 . . V . . .3. MMHUIL“ .0”. 3a.. . . .. A . VI . . n a... .0 0" 0 § 0 . 00' c 0 . . 00.‘ .0: ....Q- .0 .l. 0 .0. 0.. . .... 0.... 0. . . . an . .1\‘Q0 I. Q. 0.10: . fi0.‘t.’. V0. . . . Q. . .V V V .. . . . . .d 0. . . 0 .w I . . 0 .1. ‘ '0‘ .. 292...”... #ébmfitmgjé... ....“ .. .... 5.3.. 5.» ... 33...»... U..J...w.q.....s.w.n....._.3 . . . I. .. .. fungi...“ .. ....m. m .. ......fi. . . a s. 5.... ” ...It ...: M9. . .. s.» 0 ._ .... F . .00.. K.. . 0.» .V 0...... .. . .. ......I. ”mu.— .. 1.".-.0. }0L.n....m..... u «thy... .... . ..Iv ...9_9...0I .. ”I. . ... .. . ... 10...... . . .... . . ....0 01...” ....k . .....n a. 2...... ........n.. . Z. .....W...&.. . 51.9”... . . .... ...r. u... . . .. ...r ......I: . ....u... .. .. .. ...5. 2...... H... L. 0.. ......fi... .. .3... a... . . .. .3” 3...“. 0 .0 . . ,. . .0. . ... . ”x0" . 0.0 ...! 0.... .020... . ., .0. 5H. ......9..0.. .l .1“ ...V... . . , . . .. . .. . .. Z. . . 0 .... J. St . 3.... . e w: .l 9 l0 . 921 . . V ... ...... s‘ ...t .0 0000'$;.V.0..QQ0.0_......0. .000 . .... . .32... .‘ . ..I .. .... . ..0. ......kr 1 00.0.. . . . . . 30.1007 . vol 3 ..‘0 ... a. .. . .. . .1 .. 0. .V. ....0....O....... .00., ‘10». .0. ....I 30.3.. 0...... . .....0 .3. -01.... .n. . .... .. ...-.0 0...... . .0 . .. . . . . . ...... .. 0. 5 r . ......00 a. .0. . . “fa-«.....- .‘0. . ”a“? ‘0. .. W‘s.‘ ‘39:!“ ..P....' 08.0.. 0‘. L '03" ... vi... 5... .... 0”...u....~. .. ... . .0 ... . . f. 0:”! . ...v. .. . . . . . .. . ...u .4. .20.“ run . ..00 _ — . .0 .. . 0 O ... . 0“ g ’ .0. no . ... . ... . . .. . . 0. ... . .. u . . .. .. . . . u." . 0.5ch . . .... C- 9V“. film... 0-.000. I. ”fitfif . ..l .0 ...Jfim50000ouv- 0.0.0300: 1.....n0 0 5.00.0.» .0. 0a a. ”0.60.. "0.0 u. .0...“0,b 0th.“... ‘70.... . . . . . . . . . .t...‘ r. .00‘hva—Zcmg. .... 7. (vi. V V ... . r .6. . 0.0.30.3. ...:r. . . L.... . - ...0... ... .... .... 0.2!. .. 10.. 0... a .0. .... .... .. _ ...... 4.... . . .. . . . . . .... ...(sfiu. ... a... .4 .00... .0000... . 000.. . ... , .00.‘ 0 0 ...... .... 0 . . . 0'0 0...). 0‘ 0.. .0003. P. . ...,00. ....0......0.. . _ 1’6 00.0.0.0; . . V . , .. . .. 0-1;”... 0 ...-00... . ... . ..0 ..JO 2.0.0.. . . . .... .1 8.0“ .0 ... A. 0. . .....I. .. . . . .. I. c. .. 0...... 40.0.. ... ... 0. 00.00 .00.. .. .00. £30.. .o ...-.0. .. 0.5. . .0. A0§.‘.u0.... _ . . .. .. .. .02 1.....0. . .0 0- 94.“! .n .u .. .049. 0 .9538; 10.2..1.’ .700. ...; I‘.0.I0.0.0...... .1... ... .... ... ... 7 .. .0. ’31... ... .1... .. I... ... .00. $.00 .. ... ... ......00....00 .Q. ... .... 00 . . 0‘ .fl . I ..0 ..I 0......fi. [1.1 . .0 0.0.30.0 .4 30...... , . .....0... . : 0.. . 00.. . . .... .. 0.... . . .. .... f... . . 1... ...000 (.1. .4... ...0 . I ... “flu-0.} . .. O .y -. .0. 0.!0 .1. ...0. .Q . 6 0.." 0. .00.. I‘.. , . . . 0“... . .6 30.0. I. .' . 0 0 . .0...’-.§0ro ' V (V... .00.. 0.0. *0 0 p ...-0 . .0; 0'30. 0 V.. 0-0} .. 0., ..v. . . . ... 0 .0. .‘0 . 3...... 0.. .... r . . . .k ..r. . .00. .0. . . .. r .$-.fo.r . .. 0” I m .. ..... .. 0950.... ......f... . 0 .0 . . . .. . P. .... . . . . . V . . 0 ... .- .... .0.. . . u .. , . . . c. 0 . '0“: . V0 ”0.. t 6...! n... .0. 00.. ....H. ‘tanouor‘vo‘ . ..‘r. .u.. .7" I”. 0. 0.0.0.0... .900. . .0. . .. 5..."! ...... ..0. .. .... 01.. . {A . .. .... 30.... 2... ...0. ... -39... to.“ ...03 . . _ . .. .....it..l..r . . . . ... . . . 100.00 . u. .’ ..Oe.‘ hrs. +453". ....» .2 .. .... . .. .... . ‘0 I'- 0%... .....w . .. . . .p . . as :0...— v .03.. . . . do. 4 1.00.. 4...... a .. ...}..wwfi t...........r..a..m.r ...... ” .... ... . .0 ' val. . 0 U C 00.32.“: 00J.’.“..w.0n. r i 2 "5' ..., .0 ..0.0 tin” . . 4 . . . . ._ _. 0.. . . . _ ... f L ”Jul... 0H0 ... .t3.0”04.n00«".x.401.000 . .. ... . . . . . . . .. ...... J.....: 0.3:... . . cram... . ... 0...... O . . . . . . . . . .. 7082.02.01. ...00..9l0.....0.0..r .0 .u 0...... . ’0. . . . .. . -000... :1 .0.~0000 «0.0.0.3.... . 0w . ..0. .-. 3'. '. .. .000. ... ... ...-0 7:... I. .00., 00.00.51.003‘ .. 2.-. ...... a.“ . ..VJ. . , .. no.0... "v.3-.. m“.n0.0hhh£1$30k.hur0.fl . . ‘0 . 'o n: .0. .0032}... . ... .. _. .. 11:0. 0..” . ...-m ...0 . ..V... 0.00 n. .. ,JII‘...._»-: .0 .404“. 0. 0 .....0 u . ...... .‘0000....0.. .003... .010 :02 38000.0. . . . .0. ...... . .... ...-.....00. . .&.'0.a......l.s. . H0 .0. “000 ... ....‘00‘..0.* Q. 00.‘ (.0. . ’9‘... 0 .0..I.. ....0'0.! . . . ...... ... 3.1. .0. a}. . I.00J0'0.:0. l. 2 ~ L0. 0 0:100 1000.. . 0 . #00:..1 .. ‘0 ‘ A. . . ‘0 .0. ...00‘5 ’1'..0. In... 0... . . .0. . .0. .’.o 0....0. .0303, 0 1 0 u. . r". .... . .1...:.0’.0..0. 0.... a... ... on ...» .. 00.0-. .... 44.. ...r . .0 040.... . . . 0...! 0.. .....90...(... ...: In. . .... . .-.-0. .71.... 42.: .0 03.10... .. 53.0. .63..»3 . .000. .. . . . ..v. . J .. .... ... .... ... I . ... ... 0...... £Q0t.... ..vihllfnw...‘.t.... 0 0’ 0 Eéttlha 0.00. 2‘9 . .... ....4,~04.V~‘4..’0. 0. .-. I. . .00 O. ,V 0...... ...“..00 . . V. . . .e .0 . 0 . . ....0... 0.. :00 l . .... 0... on . .V ..I ..I 23...... ....V~,..0.. . . L. 00.2%....udvvvo. .... .. u..." ..Oauunfln 0...... t? ...... .. 0.10.... 1.3.0.. 0 0.. . .. . ...“..0 -.. . o t . ......Lauuuu; .33? "fl .. n. ...“.knmran11... 30.3... . . 0 . 0 . . ... II. . .. v0 . .. . . .. ..0 . v I. ........ I .. .....v .. . 00 0-dlhufiyJ...‘ .05.;0’3“. 0% 0 210..” ...-9 .05" 00.0003.” 0.3.. "$0.04. ..m . 000. ....- P-in) . .1... .30.... . ‘00-... .0. p a .0..... 0. 000' d 1 o .1... 0. 00.4. ... o n” .00.- 00! 0.. 00 a. 3.1002,! 03000.. ... 02 U ...0 . «...... 0:. .. .V. as. .4.-. 9’30..- R TL... 0 02...... I! . I . .. to... . 0 0 .. 0.. 0. P... .3. 1 . 0 . 0. .0.“le0. .0}... “03.“.1.3 0" VIL 00.0... .‘~'0.1Ur4.0..0 E&M07MQ.I.‘L ...-0 ..‘3..ZH‘.0~’.. I." 05.. u 0. a. ... 0 . 0 My . 0 _ .‘t ’0. . . 0.. ......‘r‘. . ...” V"... 0 .. 00 .V on. . 5 n0 . .0. .00 i . .' ..0.!....0I”. .. 0.0! . . ....s; . 1...... . ......m... Laws»... 15%..." .3... ...................3r.... .. V. . ... . .. ..-... . :1. .. 1...... .10.”? khau..0.m... ......V......:1....t..00... . . . , ...”... infmwtor ..u. I-.. ..‘dm. “.9. 0..- .k..... .020"!!! 0.23.1.1 0.0.00 «IV. '.l ... . . . . . . . . . ... .. .. . “Plow“...c. .u .... 00.0‘.0...aw..r..n\.1.0..u J ....oufl. ....flu: ...h... r. ’0UMm0...‘“.9..0-!0.....0010.~Jt ... ....‘41! 0 . ...-”I... 0.. . . by... J 0.0;“. ...... 0 o. 20... A . .0...» .... ......szflaiz .... ... .... ...0 V .0. .... . 000. :0...- 0... . t 0. . . 4 .00... 0.0 .... ...0 .0 ... 1.L0.. 0.3.3.355.- .09. ...... .flwKUo’. . ...... ......) 0.I 0 .0 U . .. ...-... I00. ..."... 0 . . . . . ...»... «.r...fifi.:...........mr..v1. . ...... ..V.. . , .... ......“ I . V... ...... .n: ......a £33.... .....r . .. ... ... V . z. 0.9 .....9... . .0‘0' . .. 0.‘ .. 0+. 1 I fissl .0 0. . 1. ... . 33.3404.an J m. .. u. .1 .d.3\nw¥.... .25.... .u . V .... .155... 2...: $9.9»... . 000.. . 00.00. 0. . :0 . 00.0 . I... . .... .. rtfi . . .. . . .cfi.u.u3.....nJ£.: .. . V J {Plow-.... ......Qn. 1901......"pfi. 3.... . .. .' . .f. .0570 g. .- ‘0... o .n 0 .- . . '0’ . . )'.00’..0H. V‘q.’. .. .OVun ...... "Ha... flaws»... .. .. . .....fi... :2 321...... .I. . s . v 0 . 0 . . 0’0... 0 ... 0. . uO‘.‘ 000. . .300 "WW-a McClx.‘ 0"“, Q 3.. .1 \. ... w.. .. .h v . 000 0_’o .. 3’90. I .m« a \“0 0 00 .0 ...VA...’ 300...... . ....t. ... .....flh H“. I... . f 0- Iu”. 000:, ..0001......._..0...0 .0, 3.03.. ...n. I 0.0.4.. . .NT 0 ...-.331... ..., :7. .muhw . . u 0 .. .. O . . ... .. t... “”53... ...... 11. T93... ’00": “JV...“ .. . . . $01.31. .. .0 «I. .. ates-0.... .0. .. . .0. . _ . . . 0 .. .. _._1: . . .......0~J«..W..0Kmnu. . . _ . . . .. .. . _ . u. 056.. R: .R.. ....fr ...I.. . :0) 00.. .- . . . . .. V . ...0 .. p.A..0. 0 . V 2.2.0.: . ’03... .. _. . . . . . . V . . .. . . . . . . . .. ...-... . . . . . V . . . ... l... .0 Q 1 _. ‘2'. ...... .1.‘ ...0. u. . . . . 0.....4004...0l.... .. ;. 31.9.0.0 .6 .. I. . . V .00 . u... 00:5. . V. . . r. bu.“ .... ..V 0“,. ..V9 ...0000. 0..|.'.I,0.0 0. I. .0 0. . .. .. .... 0 o. f ......f . .1 Ina-W0 In. . '01". .00. '0 . . o . . .0. 0. .s ..3: ......thf 0.0.! . 0...... .0. ....J.) :0 ... 1.... . ...... .... ..ua.....Vl... a. .81....r. .93 00:! -0000; h. . 00000 040. 5 0 .0“ fi ”.000... 00. . . ... ... 0 0 ...... ...... J ....r.. P00 0.‘ ... . . . . ‘6 .....Pu. $0....vI . .... ... . ......‘....00300.0 at . . . _ . . I . . .. , . . . ...0 0.00.7 ’Y...¢..0~.r. 0.3 s ...w.’ 0.. ‘0 _. 00 V'.!0 .. .0 .6100 0. . . . . . .. .0 o .0... ... .....000‘. .n s. . $0.00.... ~I 0010.4. .. V7...0......O.,.0‘..0.. .. t . w . . _ .. . .r . 0.03”.» .0 . .030... .. 10 3. . .0. 100’. . 0‘..- . _ ....I0 .0 0 0.. 0. Q P 0 4’ .900: . . . . . . . . .. . .. 0.8.... 90... 00 . . . «.200... 0 ...: ... .3. ...w .. 0.0.. . 30.191... .. .. O. . , . .. . . . . 00.. .... _ . I .l. .05.... I. .. .. 2 ..‘0.0 . .. .... .... .... 0...; Z. . . . . .. . . . . ......30.....V.00 . . . . .. 0.10 x I .l..\ 0:!“ ...... . . . a. . ....«00 . \ O ...-...- L0. ......00 . 0.... . _. .... . .. . . . . V : . . . . 0 0.3.1, ...0 4.... . 04.0.0“ .. . 0 .0. 0. 0.03.01 a: I... ...... J.5...0.. .6. 050...... 7 a... .... - 790V? . $ . .. .V ...: ’1. ...—2.....0... . a. .... . . , .. . . . . .. .. . . . ... ...... . 2.311... V . .3” x .. I. ....0.‘ 0 0.. .000 0 t . . . 70.000 3.00.010. ...0‘.‘l 0 .009"!’.3.00. 00 0 0 0. .0 . o .. . o .0. 00.0 0.. . . .. . . (I .3. q 0.. I. . o . ... Lfl . . . . A.‘..u. .% .1 .271. 0. t 0 ....i. ... .....:. . V... .0 ... .. ... .. .1. . . . . . . : . . . _ I .0 ...V‘. .0. . _ . . 03030.0. 0 I c 0 50. 3000. 0 70.3.04 2.00.... . I. l ‘0, -..: 0 . . ....00. .00 .0'. . . . . ,. 0 00.0, ... o. ..9. .. .02.. ..a. , . 0.300 $0.00... 0.0.. ....U 0... . 00. 0. $0,. .0 ..0 000.0 . $0,..L0‘..‘.. '..J‘I . . . Q 00. . . .I I . . . .300... 500%., ... .... ..i!0.7...0 3 .0 0 . 0.. ... '0. ...0. .I- I.. . 0a.... .. .... ..V‘... .. . V. ... ...0 00.1 7 .0. I . . . , . V. .0.- . . 9.. .00. a... .00 .kn....000.0.9.. '01....0 900.. o f. ...: ...... f . . ...-0.0.. .... in... . &. . . V . . .. V . «......T ... 0 I. 0530...!!... .. .... O . 0.0 V . L b . .... 3.31.)... .30 0.. r ... . . . . . . V . .0 1.0....- t . 70...?» .3 ...Il... .. .0” . ...’I.00. 0. .0009 7 .. . V . _ . V . 1‘... \ .01.! . .9.0 .00 ’fl 0 0 . ...0. . . ii 0. ... . .. . . .. 0131(‘0. .. 0.0 0. .00.". . v 0 .n An . .09.... u. . . V 0 . I." "—0 A r. .0.‘ .00 . .0 U 0 .0. . 0 0. .. 0. )H . . ......0. C. ..‘o. .... . 1: .l . V . . V. k0 .. 00.13.30." ....~.A{.. 20.... .. :9... ...: 0.. . .. . .. 0. . ...... _. u%r. . - H. L“ 0.8 , ..S. .30.. a: 0. . .. . .1 0. .... .90... .0 p... 02.7.... 0...... .o . .. ...! . .. .0... .-....V. .- . ,. 00. «I fl... 0.1: . l V2.0: .. . .M. \ . #0....— . . 0 1‘2... 0 0.0. 0 .20.! 5.2.1.... ... V V . £3.30}... 0.. . 01" V . o . o . . .. .0... ...! . . V4“: t...’0l 0. .30 .. .0 .l. 1). .V . . .. 1 . .. 0.. . Jo’..err D . . . .V 02004.. ..III..0..9V O .V . 0. .. . i .. .K..\0- . u v. 0- r& .0 0 00.00.01..‘ ‘0 .05....205 0 . .0. 0O .. .0 ...vv .3..00. . fit . . .c .3..." . I ...l .. . . .. ....v. I . 0... ...... .01.. .0 .. V. . .03....0 0 h "0. an“ ...... \J 0 y . . ’.u..-. . a.“ ....0030.‘ . ...fi; 0‘- .“00 A ... 0 .0 . . no. 0"“?00 . I 00...?g'uhAfi. . . .... A 0.... ......"0. J . .0 . t0... 0.01 .0 ....0 P . . ... . ..V . . ...0 ..000. ’04....013 . 0..” 0.0.0. . . . ....I...W§3...n..0o ... ... . 31’ 0. 0 u..... ... n .30.... .....0 ....0 0.. .. . .. V. H , .... 3.0.0.3.. .. . .0: . . ., o . .00 n 0.. . .0000...’ 0 I . 0.x ...0. u 0." . .... .... ‘2. . I. . ..00 L .V. ... _ ...a. 3.. ..ur......... .\ .... . .03.. t... . . ’ .... ..0. . . :1... . 43.510... .. ... . 32.3.... t... 1... ... . .... . 4.0 .1 I .0 .- ¢ I 00.00 . 0. .0. 03 .0. ’3 .0 . ...0.’ 0.: .00 .0" 0... I 0 o ...,0 . . 0.. . ..0... . V -... V0.00. ,? N. . 0.00 .0... 00. .....00; ..I’Q. 5.... .. .4. . 0.00 0.0 .V...0¢. . 0.. 9. .0 . 20.930 O. . 09.. .N .20... 000. . . a 9.0 .0...) n. . 0. . o . y I... .00.... O .0. ...: . ””3114:on .... .0. ... . . 0.... ..0 . , . . ~£5.35... v.9 0. ..I... 00.30... .0... a . . “ .....3..¢..$. .. 0.. .0 0 .urt 00.0.. .ufiJo. .300.“ . J.0H.0u.‘«.s“ Lb..." ...... 00a. .... "00.0. .. .0 0.. 3.30.1... . ...I' 4 0. ‘1. .00.”.0... 0 .0 . ..0 ".mL‘ 0000.0... a .030 a... . 0.“. . ...JI .. 0 . I , .... 0 I .00 .. .. 0.. . . 0 . 00.0.! ,F . . O0 0!; 0.. . 0 U. . .. . . ... . . . ii a: _ 7.10"... "4.0 ”...-0.0 ”00'98L. ".... pxtptb... 0. . .0. ....0. 0.... 2 0. L.).’....0Il. . 10.0... 0. .80: u I. .- ....On..... .. ..0'4...0 .0 . . . . ‘r t u . .00’. I “...... . .V .000. . .00. 1. v .50 1 .... . ..0. 0. .. . k .. .0.I 0. . .. . . _ . n V. . . 0050. . v . . . v .cfhc...“ ....A '0... ...».‘HF... “ Push-.00... ...“..nr..0u . I). 0 .03 «.... . .00. A .3. ... ”an“. : ..¢.. .0“. ...“...Z . 0.01.0-3. . 0.. .. .. . . . . . , . . . 0. .v. . ..u..0 r. y . . .. . . . . VI. .Ju. . s . .. o . c 0... .0 .0... ..0 . . . . . . . 0 . . ....0 0D . O . . .. 0. 70.. 0.. 0. . .4 0. . . .. .. . :00 V '0 0'01? .\I .00 O 0. _. .. 3...! : .00. 0.. . &.......V 00.. I0. . . . ...: 0.. . . 03...... . V .... . .... .0.. 34..., a" 0.0. ...... “v... .... ... .21.. ... . .22 0.10.9.7... ... 0.“... Is... . . . . 3%. . V .... '32.. 9J0. .040 014.700.9004 . . .0100. )l. 0.. 20...; .. 00$ . 0 . 0. .0 0.0.3.4.... . . . . ... 0.130.... 19...! 20:0... . . v . . .. 0.0.0 ......I . . . . _ . . _ .00 .0: f 3 3. 1! ....10 . 0. ...0...04.:...0..).0 ...... .00. 01 3.. V '00 . . . . . 0. .9... 0. 3%.... .. .0. .. .... . .... . 3.3.3.0.. 0 ... . . . . . . . V V .w i. ... A: v". a... 3 Yr. 0030 0. It. 00.0‘...’...0 . 3". d Io’..‘ .. .0 0 .0. 0.“ . . . 0 . IV‘Q‘.... ... .0000 . . 0.... . . . . ... . . . ,5 0H.0.v0. ..‘I .... 0’00” V40... 0-0.0. MQHII. Oht001“. “0“. ”13.00.!03... “‘00“. .o . ...-.00 Ju..... . V . . . ... .. ’00.. . . ... .,0 . . . . , . .. $4.0 . . . 0 .. I . _ . . . . d . 0... . 0... 0. ..0 .. 0 . . . .. .. ... ‘0 . 40. u . ..0 l.. ..U 0 .J‘. u... .0 ..." .. 05.0 ‘0‘“..“0I “9.0.0.0.". ...r. . V ”I w ......0. 00 2...... _ o 0 . 7 . . 00.. . O _ . .0 v . . .. .. . . . . V . . . i . . . V I . . 0 . . . 4 O . . 0 0 0 0 I. 0.1 . . . . . . V . . I . 0 ..0 0. 09.03 .0 .0 .L‘. .. 03 ”1“. 0.0 V» .L .. 0. . .. .7010. 0 0 Q ..r ..V. .0. 00.... . I. 0 0.30 ”nun-u. . 290’ .00.: . . . . ..a . , .. ..0 . ~...~.».....r45...“nu...uwr00 _ .03 .hunou! ...Ir. . .0... ...... 0.... .)§..& ...-.... 1...}... 3.30... h. .l . . .l. .2... . ......l... .. ....0 . 0 . n I. .. .V . 0 0 0.0. ..u.. .. .-. .0. .. n .. .0 . . . . . . ... ....V. .... .30 0. J0.l. .. ... ‘ . 4‘0 ... a . n. ..H‘. 0‘ 0 '...0..~".l.f01....0.w0 . .0 0 . $3....“ .I’ . 0 0 . . .. .900 0.. .n .0 . 00.x . ...r,’.... . 0 . ... . . 0.0.. . I .‘I _. 00 . . 1 .4. ... a. .701. ,. .I 0. .0. . ..— o. . r .H0 4 0.. fl 0 0 ... I . - I . ...Aodflu. ~ .....9000 h! 5.0. ...... . .. . 0' . .. . . Z 0.. .. . VB... . .... .....2... 8.1.3.3“... . .. 0 . . . 0 . ..‘a...’... 0 0 .. . 0 0.100 0 00:0.- . . . .0‘ l 0. 0.1 . 00..." I 0 0.10.0.0 . any 1 ”7.0.“ 0 . A... . .4 . ..FJ.‘ . ... . .00)...‘ 1.9!... d: O. . .0 0 . . . 0 .. 0 0 D .0 . w. .. . . O. I u. . ......I. 4.0? .0 .... .0..M.£.. ...mn0 .80... ... ... or.“ -..O... ..00 ..d. . 0' .-. ... 1'! I . . .0. . . 3N. .... .... . .4 .1. .Wiufl. g .0... on .4 0.. 0.? . .0 5 «27¢ . I 0) . ....0 .00.}... ... ”3...” 0:8...“ . . ...... 9.3.9.9234... ... a r Jaoi‘. .0 .... . 0 . .... ..0...Qa..$00.. . A {din- .0.0l 00.0 0. .0. . o. .. . 0.0 0 ‘....0... ..0‘0.0 . . e. 0“. . ... . .. 2 ...... ... .0 .. .... .. ... ..' .? .I. V....r...... . . o. 2.0.3 . 0... J . . $50.12.... . v.1 96.3-00.12 ... . .. 00.. 00,0. ft?! .. ......IV: . . . . . . . ...09‘0...‘ .1103 . . . ’0 .‘0‘3. . . .... . . . ... 0.. .. . 53...... .... . . _. . . . . .. ...: 5.x . . . . ”3.107.1'. .. 0.0 2‘ . .. v . v. .... . . . . . u 9 . 1‘00 . . '0‘!‘ \ . . 0.. )0... 0.0.0.... 0 ...- ... 20.. . 0 .0.... . . . .0... .. . . . .. . . . ,. ~40 .- . . , .- .. 0.. . ...... .. 1 ... pV... JV. . ...-.... .0. . .0....Q~. ...... . _. ...}...rn... V O ... 0.. JD". 0 .1; . .04 i 30.2.... . :09... 18.3.3. 0.00... r. V...... . . . . V . . .. . a ...-.... .0. V . .. I ’0‘ O . 3 1.00.. .... . . i c .0... . t .I ...Q0....II.. .2: (.0. 0.70. ... .'. . . . 1 L. . . . .. .. . . . (I 0.. $30.03....i: . n .10 . .30 .0 .. a . .4 .... .I ... o g. . I‘d: _ 70“....0 ' ... . 4.. . 00.0 c ....0 00000 . 0.... .. . . .. . . .. . . .. . n 0 . . a}. 0”}.‘0.0001.'V,. ..D...€0C001 V.0 ‘. ‘ C UV..." . . ... .vl . . .01.” h .. ...“. .... I . 2...». ... . (...... u. . .. ......2 . ...... .... . . ..02 . ... . . . . . . . . . Q.....¢0....0.._..... . . 10.00:... ...0 ..m. I . .. .0 o . . . «T. .a . ...» .0 ...: . .. . HQ. .03.", 23:90.1..0' . 9.800."...C. . d ..0 .35.... .. 0. .0. . I ....V.-. ..r 00 1.. . , . . .. . ......0.. .. . . . . . . . I. .... . . ”0...... . I . . 0 0 . ... I. ... e x :3. .... 0.39 0... 00.? .. 5.26.. : .0 ...... ...0 .. ...... .0... .0310)“. a 3000.. .... .. . ._ .. .... .... .. ..V. . . .... . V. .... . . .— . . .00. .0... ..‘0....W... .. ... .00.”: l. 0.... ... .0 ....0 . ... . 0 a W 0 .....0 ... 20.. .. 0 0. ... . 03‘. _. ‘ ..I 0. .. ...-02......5‘ . f . 3 0.. I 0. . . . V .. . . o . . v... ...-.. . _ . .‘0 «30... ....”w.... . . _ . v .' .I. .N o .. .. . c . .‘0 . .00 I 0. as. 0 0:0... .0 00.0.. .. 00.. v 9.5.0.3.. .. ... I 2*? .020 50...! . . ..\‘. ...... .....0... 0.00. ‘.O . .. . . .... .0. _. . . . . .0. 450.2.” 4 .03? . . ...? . .0 ...... ...... . . ......4 L .V .....J... .V....... 2.33. i. .. 2... .. .. a...” _. ... .... ...... . . . .. . 2.2.1... . . 513.5... . . . .. .35. .. it. .... ... . . .. .. 0 0 . . . . . V I . . ‘ . . . 1’ . . . . I . . ... .45 .u r. . .000 3. . 0 ”M 4" . . 3.0V 0 .0. . .. .0 .. .... ,..n..0.0~ .Juu 2...... ..0‘ . Bun“. r5. . ”.00....” .000 ...: .. .0. 0 .0 “waffiam I... at. Qou‘ n” ”00* Ural» ? H .. ..C.,0. .00 a .l .0) a “0.00 .. 1.0 «0. .0. s '00 .0... . ... 0 ...... 2.0.00.0}... . .. .0.. .. . V I... .i‘fino‘l. 0.000. V V 0. - 0. 0.5 0.0.0... 4‘..« I .01 {Kilo-.2. . -0: . .0. u . .y. .. .Iv. . k 00.. . ’ q 0 .- .0. .. .... . . . 0. .0. .. I; ...-0 .l'. . . . ...:- 0. 3-. ...I . . ..... .1 .. ...J .00 .01.;10033‘ ”0010.0u ti ‘3... 0...... 0 . . ...... 0 . . .. .9...“ ... .03.... . “313:2... . ... . .....‘8...... .. . 2.2.... ...II. 0.. 2 . . .... 3 ...-...... . I .. ... .0. . . . 09...... .... ...U .00, .0... . I. Q \ . . p .. I ”0‘: . O O 5...... . 0 .900. 2.11.... 0 ..0.’ 0.0 ... .0 ..0 0 . .0 '..\v .. 9 .. -... .... .. .. 09 .0. o v 0.. . . . , ...t...» .I. V . 0‘ vi. 0 . .30 any}. .01 . 0%.. ”if ..N... .07». n0 0. 00.10.00... .I. I0”; . . .. .v .01..- . . . ..0 ......‘0 I 0 .93. .. .. “.0...00 .0... 0...“... . .r 0....- . .100’50‘ I ,0 on“ 04". U“ S 0 0 . .... . .. c I . .4 . ’ . . . I. C. 0. I V l ‘ . 7 .00.... .0 0 ...... . ... ...0 ..0 ... I0... ...0‘ «V .... . .... ..w. .0. .. .' 03......LU.” 0- , .5..- .... .....r. .n... . 21.0.. ...... . . V . 00 ...... .. .. 0.0.(0 ““0 .0 0020.0. a“ rip“ “hw‘... W . 0. . . 0..-]. . .0! . . . . 0’0 .0 I3. 0 . .. .. ‘ .0 .00.... . I . 0...: , . .10... .000 -.. 2. 0.? . . 20'. 0.. —.0 0 00 0'0 . 0. 00 . 2000.0. 0 o .0..00 :0 ... 0 .. . . . '...’...0V 0 D 13?}: ”.l.‘. 0". .- P ....l.. t .. .. . a. .0: . you... .0“)... .. .. ...: . . .. O“. . ... 0. 0’13 V 00-2.0.0... ”0:0.fivo'80 A . . . . . . V . . . 5. “....5... .. ... ... at..- ... ... .. . “.... $3.} .. . .. Hub”. .. .... .... . ... a}: nu.”+h..nv..«.l..!.nu..un ....Hrfiuhm. . ...-... .. .. I . ., .n . . . . .. .I‘ V v ._ .9. . n i. . 0 . . .. . .... - . . -. .n _. V.. .2. .3... .3... 4...... V ._ ...... r». . ...g...... . -_ . 71.23.... ...}...IQ. Tuuwifihufi. " 0. ....u I. n . .. 0 ...) .... O. .W . 0.. ...I. .....000. ...J . .05....0I. 00.3.... .30 . . .900..." 00. V .. . . on. ..7 ..0 0 . . ... 0. .. . 01...... . t .. . ’33.... 00‘ “noflmm0‘00uofi... Dr 00.... 0.‘ . _ . .. . . ,. ....0 ...0 Dv..00 ‘- . . .. . ...-... 3.. .1 L .00.. 0 . _|A|. . 0 .. 0 ....0 .. 0.23.? . . . ... . _ Q I .-.-0. 0.0 '1. ...v. ...: - 0...]...1 0.6.... ..0... . . .. .. . 0. V. .0. .. 4 .30. ..Q 0 . p . y .. ..13 .. . 0. or .000 o i . . .0... . .. . . ... 0...! . I 0 . .‘ ... 0,“. h “.... ..."..M Vr‘ ....fi‘.‘0 0.“ h ... . .3‘. . . 0 A .v V. I 0 .0 . . ..V'000 0.. ~ .. 0.. I .... . ~ 0 9.0.... .....0 .000 . . V .. I. .0 00... . 5.0"».u....0:.0.0..0 .0.- 0.- .0 0. . u... . 0. 0 0'. ..0 0W!‘04"0t.00, . .0 0.. . . J. 1 ...f 0 . I. .L... ... .. I... . . 0 0.. . _ . . . .. .... I... .0. O. .... .1... ... ....I . I00}: . _ .....0...... .. . . ... ... V . 0 .0: ... ... ...... _ 0. .0 ..l . 0110“ N r. .0 . 0 0 O. ... .32. . O .V .. . V . ..... ......I..IL0 . .. ... J . .0 ..0 .0'0 '0 .. .. 0 ,. . . ...0A ......0. . .. .0 . 00.0 . \o.‘ _ . 0n. _ o ..l. .I 4.. 0:... . 0.0.0.30» . . Ia. 0 . . ... ...... ... o .. ..0 Y .0... . . 0 . . ...: ...... .. ...: .. 0 ... 5.0.... _. -..... . .. . . ‘04 . .0... . I ' 5.. . . 0 . 00 . _ .1 ...; .... 0.... 21‘ ”on. 4 .0 . . 0.0...5 . 0‘. ...: ... 10:. . ..0'300 .... .. .. .... .... .. .. . 0.. .. p} 0 00 . O . I 0” .l 0‘ . 0.0 0.. .00‘ .DL 0. 0.0 . . I. 0 0 . .ckr. . 0 ‘ . . . .a . 00.. 0 .. , . .0 ..l. . ...0 .0 ..00. . . ....0 0. . .0... x .o 1 04:. 0. . 3 0 0 .0 0 , H 1 . .QII .0...00.cr0 ....DIo . .1 .0. v ... $.0- .... . - ... . ..0. ... . .0002; . ..000. .... ._ 1| 0.0.0.101: . .. .....’\00 0... . .. .. .. .... . V : .... _ .... v.... .. . .. . ... ..OII Fan. .5 II IarV .. . ... . . o ‘ Q .I ... ... 9.00.0... . O .... .. .0. .102... V0. 0.... .. .. .. . _ . ...». J... . 3.0.... .. .. . .. . . 0.. .. . I . ... ... . . .... . . .. ...? ..X. 1.3.0... 4|: ' ..w 0 . 0 . .0 OJ .. ‘ .0 I .03. .. . . V 0 q. 0 o. s 0 ... 1. . . .6000. . .v ‘V .00.... ..0.§.. 00 ...x.. . 0 . .. .... .-. 9 . 0-. 00. £90052}. ... ...000. ... ..-. 0. ....I. .r2.0... . .. .0. - .0 000 .0 v 1.0 ‘ . .- V O . 0 0‘0! .0 . 0 O 0 . ... .0 0 0 0.0.. c. 0 .. 0. ...... .... 0‘. . ,. 9 ... Q .. ..§.0.o) .10.. a . 0 ....0 .. . . a. ... .0 .0.- ...: 0.»? 0. . . u .. . . 0. . u s, . .5 0 .I . 7. . . ...! -.. 0.. ..0.... O a 0 W ...... '0 .... .. . . ... 0. . . ....0... .... . ... ...... .. .. .I? ... ... ... .. I . .0 .. .......... 3..., 0.0. O. .. J ..0 . . 0 . . .I 0 .00 .0 . . Q o A. ‘0; . .....u: .0: 0.. 0.. 0 a. . .... .. .0 . . . 0.. .0. V. ....0 '1... .0 0 .... . . .0. . ... . p a .... .. . ..| ...».J .0 . 00 0 .00. .. . . I o. o I. I . . ‘0 00.1.2.0... . 1 . ... ~0- ...... . . . . . . . ....1. -03.. 0,. n. . . 0.. .. I. . ...... 9 .. I . . . .20... . .... .... O ...00. 0 A. 0 0 N‘ ..u,. .NO..’ I .0 0 40.. 0 .... 0.. . ...... OI ... ... '...00. 0 .....IL. . {0... ....Js: 000.0 .. . 1|... .... '.Ov-.\..Q.. 0 0 . 0.0 I. . 0 a -0 A . 0.....0000m ....03 .0: ... . . . 1...... 0.... ..00. Q0. ... . n . . v .. .. '0. 3...... .... 103.0,». . .0I 0.! F 0 . ... ‘ 0 u .0“. .00 0 O0 0 ‘.9...0.0. ..0 .. 00. . . .u .00 .- .... 0.0. ....o .. . ..l I .1‘0...9. ..0L. 7 V0 0 . 0. 0.0. .I. |.. 000 ..9. I0. 0’ .0 ”.40. '0.- — 0... J .. .. 0.. ... . 0.. .. ...... . .... . .030. . . 020. .00.. . ammo-0.00 .v I I .... . . u 05. ... .. 0... . .. z _ ., .. . .0'00. k0. . ..00. \.~ .00? '1'”. 1n. ‘0‘... .30 .0. .HV. ... . 00.... o . ....)vuis- .. ..... .......0...n’...:.u “..at )0 ...an“ 0.).46 ‘ 90...“...‘004...0u'.”09' . | . . III. .- 0. 0.. 00 .IQ00 0.\ ... 0.. ..000 .00- 9. . 0.. I. ...-l. 0,0 f . 0.. 0... L . 0 ' 0'. 0 . . .' 0. ..l‘ I ...? .0 0-. ., 0.. . 0 . .V I . 0 . . :0.‘ No.1. 0 0;,z.._l0 ..- a... . ... . . ..y r - . . . . . . . _ .... .... . .. 2.. . . .. ... ......u.... ... . .. ._ .....u...“ .. .. 523.....- 2...... .. ...... .... ... -1 .0 . -. .. ... .0! .....I... .. . .... . . .. . . .. . . .I . ...... ’ 0 . .. I 0 . 0 0| 0. 0'..000 030.30 . 0 . .h.“‘..0.0‘.”.‘“ 0 . h000n...,0d0 . ... . 0 l . 0 . ....0 \HH’O'J . 05900 .0. 0'3."; 0 0! \ ’1 .J’N0.0.V_ ..0 o 0 h f .. t . J . . . 00. 0. .. .. . ... . ..a. . 0.0 a. .. .. 0.. . .... .. 5.. a”..000.. a. . ou.n00.\.ul 1 I I 4 I 50 0.. I0 I . v . . A . . . u. . . . V . . =9! 0 u . . 00. o .. .0! . . .V.. ..J: u I ... . s . x f . ...‘nu. . . . ... . ...... ...: I. .0 .520. . . . . .00 . $2.00!"... ...“. 1.0".“ '0». - . .l . 0 Co .0. I. x. ‘ a. 0.... . . . 00p:— 0 . . . 00.6.0. ... . 0 ...I . .. . . 0. r I: 0 ..v. ..0 0 I . t... V.I . . V. .5 . . .. - . . . - V. _ . . . . .. ... . V .. ...... ...u dean... ......3 .,.....5... ..-. 5.. .. ... ...). ...V.m....n...............b..h. '0 . 0 . . . 0. . 00 . l .. 0r... 3..., ., I . D.. :0 E0 0 Is ..00‘. ..R. . 0 a 0 v . ...I . .. . .03; 2.. ..0 V.' O. 0.. 00! ’0‘] . 0 . a O. I- O 0 .' ' .V ’- ..0 ..O' 0 I. . ... O . .. 0;... ...... 0 0'; ..0 . 0 0 0 0) L . .. 0 on.” . 0.301....4“ ‘0. [0.00‘0hoh‘00h0..‘ ,‘0‘0 0 - I- . O o . . . . I I I a .. O I V J. {..I . . o. . . . ‘0‘. .0 . ... ..I _. 0 .0‘......H.Q0...In.0.. .hw 0;. .... V000 0.. . ’0 . . . .0. .0 . ... . . o l. .& 4.... I O0... ...? '90... 00". .0. .00....0I. . v I0 .0 0 . .... I. 0.. . . . .0 . <. .000. I . II. 0. 0 w. 00.0 ... . ... .... .... .. 0... . n 0 ... . ..0 ...I V... .... . . ...... . 0 J ...! .W’JflrfUHJu0 “i0”: 0 ... 0.01.0. ”OF-.I 0 0. D O . . 000 0 O - I 0 l 0o . 0. .00 0‘0 00.. .00rl..” .. 0 I O “OI-'0 .007 0‘ . .r0W0w. .0 .m. 0. 0. . .. . 00 0 “.0 . 0‘ 0.0.“.0 0 .hQ.‘_ V... I. . . A 11‘- I'tv 7.0" “‘0”. ‘HI '. V. 9 | 000.1 _. V . v I. 0 I.. l .. .0 . . .. . 5 0 001 . .. n .0 9. V . . .. 0. . .. . '00 0 ......h I; 0 . «V .0 0 0. .0 . ' . I 0 . . . .. 0.005".a0 I: 0 l. "‘01 . .00. 4. . o 0 .0 .. . ..U.‘ . O . I 0.00 0- D 0 . 0.0 . . . . . . ... .... . .V , .. ......00 n. . .0 . . .... o. r ...K. . .0 . ..I. 0 ... . . ..V $030100 .- ‘0‘Q§m»00.0000‘0f00001 I“ . .- A I I . . ..0...’ .. .. . . ... . . 0 V .I . .. .. .0 .' u 0 .0 .0. . .. .. . I . 0 0 . v .0 0|. .. . ... . V . . .. 0.0 s . ... o. I.” V . .0... . 0 a. .. .. 00. 00 0 Z . . ...00 .0 ..0‘ 0’3... II! u‘... 40 s. . .0... ... ._ . 00 v I. .. .0 .. . 04 ...0.. .. . .. 0 30.... G In}. . 100.00 0 o .000 :0... . 9.06.). . . .020 . .30.. z .0 .ll .. .. .1. .. -'r.I . . .l . I .. 0 0 .-. 0 0 .0. . .... O .. o ...... . 0 .-~ 0. . tn . . 0 ..0.‘0...’ .00 Il’wl. N‘I‘b' . . .... ..vL I? ... .0 I .. V . . .. .02....0. 9.. ..I. ..0u . ii»... .00.... .... .... 0 . n . . ..0 0v ..0 . 0. . _ y... 0. ,0‘ . . 0 30 . . . j... 0.00;, 0... 0)..0.. 0“" h... . . I . ... 30.. . .. . . . f... . . .... . .0 ....0..D...0r..u0N.D I... 3 ...”...cuduan .0. o . .. . 0 . 1 -0 . . . ... 0. ...l 0 . r w ... .0.... . a - 2 .. . ... ...P . .. .. ...... .. 5 . . . . . . . .. . It .... .0. ...... ...-3.”...“9 ...». . I _ . . ._ ... . . . .V . . 0.. I. .. ... . . . .. 9 0 - ... .. . . . . l0» u. ......f. .. 2.14.20... . . .. . . 00.: 0.. .. . . . . ..- . . .. 2... . . ... . . .V ' 0.. o 0. . . . . V. .. .....ic... 2.5.0.1.. . I . . . . .14.}.fi...0$V.Vu.-rczi‘.mo...v . 0 .0 . . .H .. .0 . .00. I . .7 4 0 O 0 . :0 . .0. a V . .. .... . ..fi .. - ... .00 0. . . . ‘1‘- . . 0‘: I ..0’ s. .... 0. . . . v .o 0.! . . 0 ’. d . '0‘ In»... .. ... .. .. .0......07.l_0.. . . . . . . . ..0 ...... I... V. 00 ‘4 i. . 0 . . '..I ...90|0 ... ‘ .000 .o .. . 0. . w 0 ll .0 '0. Q. . . . . 2... ..00 . .. .... . . . N .4-.. . ... ) ... . I. 0|. 00... 0 0‘ I .0 V9.0. 0 .I . 0 b I .. 0 .. ‘ . .... . 0. 00. . 0. .. ~ . .. . .-..I 0 . .... 0‘. ... .. ... . . . . 0!. . . . . ’0 . .0. l 0.. .. . .. . ..... . 0 .. .. 0. . L ....0-0.... 0. 9.. V .. . .1 o 9 .V... . .v.... 0. l_ .... ..0 . .... ...... ...... ... ...... ..0.0......I ...... . . . 0 r .0 0 9... .. I9 0. 0 . V .0... ... «P . .. ...0 . .. . . . ...... .., ..l. .. 0. . .. (0.00... U. ..u... .... . . 0.. . 0.. .0 . . . k . V.. . .. .. 0... .33.. .....Z . ... 000‘... ‘0' .... l . . 0 Dc... ..\\... . . . .... 0 .o 0.0 0 3 . 0.. I... .... .-.. .0 . . . .2 an... \I‘Q.‘.. . .0 . . 00. .... . .. V. .0 .-. . V . ..0.u.. ... .. .. ... ... ... .... . .. ... . 0.0.4.0... .0 . .. 0 ‘ v. . .0 .... .0 .6 . . .... I 0. .0 Il.~ 0 0 . . ..0 00.... . .0... . .. v .0 . ll. ...0. . '1'. m." 00 I .t.‘ .04 .. .. v 3 ...... 0.. 0 V 0 0 o . 0 .. V .0 . ... .. o . 0. . I O 0 . 0 .. a . 0 ...I . . 0'... L . . . . Lat. ....V . 0.00.. H0..I..'. n0..0 0 0.0 0. fl- . 0 .. -0. 0 .00. V . . 0 0 . . ... I........ 11.22.00... I . .. 0.. . .V.. . . ‘0 ,0 00,00 0500’». 0 tlo’.0.‘.1o0’. ... . . .‘4- 0 I . .0 0 0 o . c r 0 u . . . . .0 .. .. . u 30. a . . ... . O 00 .. ...0P 01" .510 .YA’VQII- It... . O 0 II . . . I. . II . .. . . V . . . . o. . . . .. . .. .... . ... . 1 ._ .- -Iorlha 1,.g‘0 1.00. .’r.‘5 00.. V . .. 0 ... O 0 ‘ I l 0 00. 0 . ... C 0.00 00 .I ...00 .. I 0. ..v ..0. . ...’. 00'. ...: . I. I II 000.. ..r . . :01... .I ...0... E... . l 0 .0. I . 0. Q .. . .... . . .00.:0: . 0 ...l...‘0‘.‘0.0l .Ppnnv00.-"0L . ‘00.. . J. .. . ... .... 0.0 .... . 0 . . 0 0 o O .0 . I 0 0 O 0 u. 0 . a .. .. x 0 ...V I- . 0. ... . r. .. 0 00 < '30.”. ..O. h‘hawrle.’ '.O§l. 1" O. . ..- V I . . . . . . . . . .. . _ . . . 0 . 0 . ......00 VI. ...1 .... . .... I. . ‘.0u . .. . V a! . ..\.. 0 I 0.. .0: ...0. v . I .0“ o. 0. .0 . . u. . ... . . 0 I. a . . ..V ..0 'r!.'. ..03..-’.910Ill V. .00.} . . 0 00.. ... oll... . .. 0 V o . .I. .I .... o b .n. ..V .M L... 0. ... . ....000 n . 0., . V. . . . . O. . I w. 3 0 . . .0. o . '0‘ .. . . . . v . I. II. .. I I . I . . I . . 0 thol. . :30“ .00. 0A . 00 . . . u. q 0 ' 0 . 0‘ .n s. r. O, . N. .. “.4 . .‘ . 0 .fl 0 .0 . 0'00 . I . L I . I . . .05 «.0... 30.00.... ’! 0 .... I .. Y0. .0 . . . 0 I L 0 I 0 .0 n . .. O I 0 . . . . v. .. ... I 00‘ r ..- L... . 0.. I... .0 . O I ...l . . at r- _. c. c ..0 O 0 u . .0. . .a 9 ...! . .04 0 . .. .... . .C'.0 I O 0. .0- 0 u 0 -..-.. . .. ......IV -....- -...” ... .V -. . I .- T. .... V. . . u - 00. .... ..0 ... . .l ol.‘5 ' ..‘0.0‘. 0 .u V O I . I . ... .J 0. ..0 .0. l . . ... . . 00:! .. 5 . I? .0 o. . Q 00. r . 0 0 . 00.. .0 . .. o . I“ 0 0 0 .. .. 0 o. . . .05....0 .. . .. .u‘ r‘ '00 '1 ‘ 0 . 0 _ 0. l . . ‘. 0... . . 3... O. 0 u . I . .0 .... . 0.. . 04 0. '0. I . 00. . . . . . . .' I V t o . 0M0. I . . . V . . 0 >04 .5: . . 00 .0 n I . . -I. . ... 0 .0. . . V . n. . . I 0’ ...O. 0.0, ..0 ‘0I .000 -... 0' I.’ 0 0 . .. ~ U o .530 ’I ...l. 0 ....I .... 0 mi. II . O .. 0.. 5'. 0 . .. V. ... I t l . I . I ‘7 . . . . u .. 0 . . . . I .. . 0- . 1 LI ... .. I 0 . .... 0. .. 0'0..- - Mount. 0 4 . .. n H . I. ...-0 D o 0... .-00. ’ I. .I a . 060 . l .300 .. II I . . . . q . 0 . O ’I. u 1 t. . ‘0 \.J. .1530 I 0‘} 9... . ...0. O . . . 0- o 0 0' ... u. 0. o I. II ‘1 0 . n. I a . .I II‘ .. 0. I. l‘ V I. 0. O 0 I . . ...... T'f-J": ? q; 7's 2 i ((3 ' LIBRARY EHNOW ‘\ Michiga Tit-ate University This is to certify that the dissertation entitled Numerical Simulations of Waves in a Magnetically Structured Atmosphere presented by Thomas Peter Espinola has been accepted towards fulfillment of the requirements for Ph-D. degree in Physics MW Major professor Date I? 4pr:l 'qgfi MS U is an Affirmative Action/Equal Opportunity Institution 0- 12771 PLACE IN RETURN Box to remove this checkout from your record. TO AVOID FINES return on or before date due. MAY BE RECALLED with earlier due date if requested. DATE DUE DATE DUE DATE DUE 6/01 cJClRC/DateDuost-sz Numerical Simulations of Waves in a Magnetically Structured Atmosphere by Thomas Peter Espinola A DISSERTATION Submitted to Michigan State University in partial fulfillment of the requirements tor the degree of DOCTOR OF PHILOSOPHY Department of Physics and Astronomy 1988 Abstact Numerical Simulations of Waves in a Magnetically Structered Atmosphere by Thomas Peter Espinola A physical model for simulating waves in a stellar atmosphere was developed from a combination of basic fluid mechanics, plasma physics, and electrodynamics. The model was three dimensional and included the effects of gravity, magnetic fields, and viscosity. An algorithm was developed to numerically implement this model. The resulting program used an explicit time integration scheme based on Runge-Kutta and a combination of finite difference and spectral methods to evaluate the spatial derivatives. A number of numerical boundary conditions were developed— the most successful used a modified Sommerfeld radiation condition. The program was written and coded in Fortran on a Vax computer. Additional routines were written to evaluate the required fast fourier transforms and to graph and display the data. The program was tested on a large number of one and two dimensional problems for which the solutions were known. These problems included acoustic waves. Alfvén waves, magnetoacoustic waves, shocks, rarefactions, and contact discontinuities. The numerical results agreed with the analytic - solutions of the physical problems to within the precision requested of the simulation. The program proved to be stable and robust for all the problems attempted. This program was then used to simulate three problems for which analytic solutions are not known. All three simulations concerned the propagation of waves in magnetically structured atmospheres and may be applied to outstanding problems in solar physics. First, the interactions of non-linear waves and a flux slab were studied. From the result it is apparent that sources of shocks and rarefactions, such as the solar convection zone, do not concentrate the magnetic field in flux sheaths. Next I used the program to simulate the interaction of non-linear waves with a flux tube. The results suggest that the magnetic fields in flux tubes are also not concentrated by pairs of passing shocks and rarefactions; however, a complete demonstration of this would require a finer grid than was practical with the available computing power. The last and most interesting problem simulated was the interaction of oblique acoustic waves and a plane magnetic interface. The results show that while a region of the interface does remove energy from the waves by resonant heating, resonant heating within a sunspot-photosphere interface cannot account for the observed absorption of solar p-mode waves. Sufficient transmission of energy occurs so that the results are consistent with the observations if the absorption takes place by another mechanism in the sunspot interior. The simulation suggests that a two dimensional fine magnetic structure may be capable of absorbing the observed fraction of wave energy. Contents Add—Ad Uta-coma 2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 3.3 3.4 3.5 3.6 3.7 4.1 4.2 4.3 Chapter 1. Physical Theory Electrodynamics Fluid Equations Equations in Conservation Form Addition of Stratification Equations in Dimensionless Conservation Form Chapter 2. Numerical Methods Spatial Derivatives Using Finite Difference Methods Spatial Derivatives Using Spectral Methods Coordinate Transformations for Dynamic Grid Time Integration of the Equations Numerical Boundary Conditions Numerical Viscosity Chapter 3. Test Problems Acoustic Waves One Dimensional Shock Waves One Dimensional Rarefactions Shock Tubes Alivén Waves Magnetoacoustic Waves Nonlinear Waves in Uniform an Atmosphere Chapter 4. Waves in Magnetically Structured Media Nonlinear Waves Incident Normal to a Magnetic Flux Slab Nonlinear Waves Incident Normal to a Magnetic Flux Tube Acoustic Waves Incident Obliquely to a Magnetic Interface Chapter 5. Conclusion and Discussion General Conclusions Discussion of Acoustic Absorption by Sunspots Future Problems Appendices Glossary of Symbols Summary of Equations Analytic Solutions to Test Problems Auxiliary Programs GMHD.FOR Acknowlegements Bibliography iv GINA 11 14 17 18 21 22 25 27 29 30 31 35 41 45 49 52 58 69 70 74 80 91 92 95 98 101 102 106 112 142 177 178 1 Physical Theory The basic physical theory, developed in the following chapter, is a combination of fluid mechanics, plasma physics, and electrodynamics. The theory is greatly simplified by a number of assumptions about the atmosphere. The resulting eight partial differential equations give a complete local description of the behavior of the gas and fields. L 1 .1 Electrodynamics The problems of interest concern the electrodynamics of moving media; therefore, two frames of reference are of primary importance. The laboratory frame of reference is at rest relative to the observer while the oo-moving frame is at rest relative to the moving media. Quantities in the laboratory frame will be represented by unprimed variables and those in the co-moving frame by primed variables. For a complete glossary of symbols, see Appendix A. First, consider the Maxwell equations which hold for either frame: V0 D = P, (1.1a) 8B Vx =-5-f (Lib) V0 B = 0 (1.10) mm = 433% (1.1a) where D is the electric flux density in coulombs/meter, 99 is the charge density in coulombs/m3, E is the electric field in volts/meter, B is the magnetic flux density in Teslas, H is the magnetic field in amperes/meter, and J is the current density in amperes/meterz. A well posed problem requires three additional equations. I will be considering only linear, isotropic media, for which Ohm’s holds in the co-moving frame J' = oE' (1.2) where o is the conductivity of the medium in mho/meter. The constituent equations also hold only in the co-moving frame, 0' = eE' (1.3a) B‘ = uH' - (1.3b) where e is the permitivity in farads/meter and u is the permeability in henrys/meter. These seven equations interrelate the electromagnetic field quantities and seem to be uncoupled from the motion of the fluid; however, J may depend explicitly on the velocity of the medium. The motion of the fluid is coupled to the fields through the Lorentz force equation, which is covariant, F = q(E + VXB) (1.4) For the problems of interest, one may make the following simplifying assumptions, which are known as the magnetohydrodynamic, or MHD, approximations (Hughes & Young, 1966, §6.3): 1. The fluid velocities will remain nonrelativistic. One may then replace ywith 1 in the Lorentz transforms. Therefore, E'= 15+sz (1.5a) szH D= D+ (1.5b) H'=H-vxb (1.5c) B'=B-"”c‘2IE (1.5a) J'=J - pev (1.5a) P: P,--‘%- (1. 5:) The conductivity is very large so that E's-'0. The Lorentz transform then yields E a —vxa and De—vxi-I/c2 a o. The permitivity and permeability equal those of free space. Both these assumptions are very good for astrophysical plasmas. The assumption that e=eo sometimes breaks down for other uses of the MHD approximations. The induced magnetic fields are small compared to the external fields. This assumption, which follows for (1), yields 8' :8 as follows 8- _-Vx( chB)_ B+0r( _v_:) Vc2E - B'eB Since u=p°, H = H' follows directly. For another permeability, H=_ H' may still be a good approximation. The displacement current may be neglected as compared to the conduction current. Therefore, high frequency phenomena cannot be considered. The current densities in the laboratory and co-moving frames are equal since . 2 Ig _ I. _ I V.J ~ - V J J pQV J (p: c2)v -J 0r(Jc7) Also, the charge density in the co-moving frame, p'e, vanishes since the medium is a conductor. Thus J'=J=0'(E+VXB) Moreover, o is assumed constant and independent of frequency, 8, and E but not necessarily independent of temperature or other fluid variables. 3 The Maxwell equations with the MHD approximations thus may be written as: v-D= v31 (1.6a) an VxIE-----a—t (1.6b) V-B=O (1.6c) VxH=J (1.6d) and Ohm's law is J=O’(E+VXB) (1.6s) Using these and the constituent equations allows one to solve for the time evolution of any of the fields. Of most interest here is the evolution of the magnetic field. Solving Ohm's law for E yields J E = '6: “ V X B Substituting VXH for J V x H E a G ' v X B Using this in the curl E equation (1.6b) yields V x H T = V x(V xB)- 0' Therefore, one gets the following for the time evolution of B: 68 —=Vx(VxB) VxMVx B) (1.7a) where n: 1/ouo is the magnetic diffusivity. This equation may be simplified when written using the Einstein summation convention. 33—?” ‘ng [B,v,-- Bji+v ”(3%? 35.)]: o (1.710) If n is independent of position, one may use the ideJntity VxVxB= V(V-B)- to get T'VX(VXB)+71VZB (1.70) Equation 1.7 fully specifies the electrodynamics under the MHD approximations. 1 .2 Fluid Equations A complete description of the MHD system requires equations describing the behavior of the material particles as well as those describing the electromagnetic fields. The media of primary interest are astrophysical plasmas. The plasma equations can be quite complicated when the electrons, ions and neutral particles are treated separately and the binary interactions are considered in detail. For simplicity, I will consider only ideal plasmas which may be described by one-fluid equations (Krall & Trivelpiece, 1973, §3.5). The equations describing such a plasma reduce to those of a fluid with a local charge density. First consider the continuity equation a a—fw-pv = o (1.8) The validity of this equation may be shown by considering an arbitrary closed, fixed volume, V, within the viscous, compressible fluid. It has a boundary (surface area) av. Let M be the total mass, in kilograms, within this volume. Thus r1 =va dzx Where 9 is the mass density in kilograms/meter? Taking the time derivative of both sides and remembering the volume is fixed, THIS—tpdsx However, the change of mass in the absence of sources or sinks must result from the flow across the boundary. Thus 8M at :16?!) -dA where the negative comes from the convention that dA is directed outward causing positive flows to decrease the mass within the volume. Equating these two forms for the time change in mass yields J'V-a—pdsx- =I-pv-dA The integral on the right hand side may be 3converted to a volume integral using the divergence theorem to yield IV?“ = )vw pv)dx LES—Ft) +V-3pv)dx = Since the volume is arbitrary, the integrand must vanish everywhere; thus the continuity equation is verified. To derive the momentum equation, once again consider the closed volume, V. Let m be the total momentum in this volume. Thus 3 I m=I pV d X and 3 5L“- -J(-§-{p v)d x (1.9) a v The change of momentum within the volume, in the absence of sinks or sources for mass, results from the following three sources: 1. External body forces acting within the volume. Let f be the sum of all such forces. I will postpone considering the nature of these forces until later. The time rate of change of momentum resulting from these forces is given by 3 9.91:1de at 2. The flow of momentum across the boundary given by a_r_n2 :I—(pV)V-UA at W 3. Pressure and viscous forces acting on the boundary; 5.31%; =I-PdA +[1-dA av av where ‘l: is the viscous stress tensor discussed later. Thus the total change in momentum in the volume is given by 3 5L“ :I f d x +I—(pv)v-dA +I-PdA +I1-dA 5‘ v av v a The three surface integrals may be combined to yield 3 abi? =I f d X +I-(pVV+P;-1)'GA V av where 1 is the unit tensor (order two). This surface integral may then be converted to a volume integral to yield am _ 3 - - 3 a -Ivf d x +IvV-(pvv+P; I” x Equating this to the time rate of change of momentum from equation (1.9) yields 3 I [gipv- f+ V-(pvv+P;-1)] d x = 0 v Once again the integrand must vanish since the volume is arbitrary. This gives the momentum equation Ba—{pV+V-(pVV+P,1,-L)=f (1.10) The viscous stress tensor, t,is defined such that dfv = jgdA or, using the Einstein summation convention where 1v is the viscous force acting on the boundary of the volume. For the form of Tij- one must rely on a combination of experiment and theory to give (Huang, 1963, pp 113-116) _ aVi an 2 aVk aVk Tij - §l[ m‘kai - 3611.3)?“ ] + {237k where {1 and {2 are the coefficients of viscosity which may be functions of the fluid variables. The external forces of primary interest include gravity, f9= P9 (1.11) and the magnetic body force fm=JxB=-BxJ=-BXVXH =-LBxVxB (1.1213) 2 0 f '(B'V)B _ VIBI m _—”o —2“° (1.12b) or in summation notation . 3.3. E, Jaxj ax, 211o (1.120) Combining these two external forces gives 2 (B V__)_B _VIBI f P9+-—11° 2n, The last term in equation (1.13) may be grouped with the pressure on the left side of the momentum equation to yield (1.13) 7§pv+V- '[pVV+(P+'ZB—u|: )1- 1']: pg +(—B-—- V)B (1.14) Consideration of the energy equations begins with the first law of thermodynamics dU = (id + 6w which holds in the co-moving frame. U is the internal energy contained in dV, a small volume moving with the fluid. Defining a as the internal energy per unit mass and using -Pdv for work yields f’ldez dq- Pdv d8: 99 - EV M M The dq term includes the energy gained from external forces, viscous damping, joule heating, as well as heat transfer. As the volume is allowed to become smaller and smaller, one may make the following substitutions _ r1 dV---p—zdp run» V 91-111- 10 mpvp where Q is the energy input per unit time per unit volume. Combining these gives de_ _lidP 0 dt pza‘t p (145) as the time rate of change for e. To find the rate of change of e in the laboratory frame, one must use and in equation (1.15) to yield be -P Q___P Q g—t+v-.Ve p2(-pV-v)+5— FV'V-r-fi I am interested in finding the time rate of change of pa; so, 198 be .93 ._ 9- g-tpez e —ta +p-a—tze +p pV-V+p v-Ve) g—tpe= e— i):- -vae- PV- v+Q=e g—pwV-pv- -V-pev- -PV- V+Q From the continuity equation, the first two terms on the right hand side equal zero so g—tpez—Vpev -PV-v+Q =-Vpev -V-Pv+ v-VP+Q Thus %pe+V-[v(pe+P)]=V-VP+Q (1.16) This equation determines the time rate of change of the internal energy. Q contains the external heating as well as heat transport, so 0 : QT+ and... QEM +0vis where CIT = V-kTVT (1.17a) 8v 0 = 1,557 (1.17b) - . 12 m III2 II 2 0: M=J.E=_=_T_ =—IVxB| (1.17c) Po Therefore the internal energy equation has the final formV giPe+V-[V(pe+P)]: v--VP+VkTVT+Tij::‘j+-1|VXB|2 (1.18) The Grad term has been dropped since radiative transport is not being considered. An additional equation, which considers the evolution of kinetic energy, can be obtained by taking the scalar product of the momentum equation and the the velocity. This equation, although unnecessary to describe the fluid, is useful in verifying the conservation of energy since it may be added to the internal energy equation to obtain the total (mechanical) energy equation. The scalar product is easiest to evaluate in summation notation. a a V,- gPVI ” V157} PVIVJ' +P6ij- TIj )= vifi This may be simplified by using a 1 2 . = a I 2 a _ to yield 5_1 2.1 222 2.1 2 -1. 25 BE- 3 atzpv 2v t+axj2pv vJ 2v fipvl+iavaifiJ1113va1 and a 1 2_ 1 2 313 b 1 2 3P 3 __ V — - .—— .— . a . . 5129 v (57" a—x.pvJ)+§- -)Z'J.2pv VJ"'V1 axi viaxJTiJ thi The termin the pflarentheses vanishes from the continuity equation. Thus a 2 6P 3 5‘29V215‘xJ2p" VJ' Vja—xj’via‘xJTij ' Vifi 11 2 9:1 2 5P a 3V1 612’” +axJ-zp" Vj” VJa">£. f£+J=f2+ Igf+%-§L7 +%-§%§- +2i4$ f£+2=f£ 2%4-2? +.%.:_:.;. + -§-%:_4[ f2+3=f2+3fi+3§§ +%-§—:§- +%7_§% fJ+4=fJ+4-§-|‘:—+8.aa_:§ +3336} +§§§g This expansion can be inverted (neglecting terms of order greater than four) to give the required relation between anal. and f at adjacent points. This inversion is most easily done using matrix methods. As an example, consider the fourth order centered difference. The earlier expansion becomes, in matrix form, 4 2 f - -— — 2 {in (‘2? 1.31/1) 112-1 1 '1 —2' "3' 2‘2 5'2} r = l o o o o 2— i I I I 5L2 9+1 ‘ ‘ 7 ? 2‘4 23.31. f 3 2 5'- \ 2+2/ I 2 2 3 3 / \fl/ .aL“. This has the form f=A-af. The solution is then af=A'1-f. A microcomputer was used to invert the matrix to yield f / a: \ / o o I o o \ (1J_2\ _ 1 -£ .2 --1_ M 12 3 0 3 I2 1'“ _afi _ -1 .1 -1 _1 -1 3 at __I_ _ _1_ 3L 2 I 0 I 2 1M 4 \11/ \ I -4 6 -4 I / \rJJZ/ 'aL ‘ 'J I I. .3 Considering only af/BL one finds 19 bf ‘51" = (1 31-2-81,» +82+1-+2)/12 (2.26) Similarly .33 - - The same method is used to find the approximation for ar/aL near the boundary; however, the presence of the boundary requires an off center scheme. The resulting fourth order off-center differences are (%E)=(-251+4812-3613 +1614 ~315 )/12 (22c) (-§[- )2=(- -3r -Ior2 +1813 -6I'4 +I5 )/I2 (2211) €-[-)NL_-=1(-1NL_4+61NL_3-Iar L_2+lOfNL_1+31NL)/12 (229) %[-)NL= (3rNL_4- I fifNL_3+36fNL_2-481NL_1+2SfNL )/ I 2 (2.20 Sometimes a lower order method may be used at the boundary to minimize the boundary effects. These finite difference approximations are good to fourth order only for continuous, four time differentiable functions. This limitation is sometimes important because several test problems have discontinuous initial conditions. 20 2.2 Spatial Derivatives Using Spectral Methods Derivatives in the x and y direction are evaluated using a pseudo-spectral method and a fast Fourier transform (Gottlieb and Orzsag,1977). For simplicity, I will discuss the x direction only. The y direction is completely analogous. The function, f, is known at a discrete set of evenly spaced points ({xi} j=0,1,...,NX). This function can be approximated be a complex Fourier transform of the form NJ 2ni - f(x): 2 ’fj e(Ax M)” (2.3) J=0 If NJ=NX, the Fourier series will give the exact values for x=xj while giving a smooth approximation to f between the grid points. One may take the derivative of this function to yield NJ 2711' - Z x . —— JX bf: 3:0 ofj( Aiflnixhegx NX) (24) In my program a fast Fourier transform is used to find the coefficients in equation (2.3) and the inverse transform is then used to reconstruct the derivatives in equation (2.4). Since the Fourier approximation to f is continuous, this method does not work well for some functions. The well known Gibbs phenomena makes this method especially inappropriate for problems in which the function or its first derivative is discontinuous. This becomes important for several of the test problems which have discontinuous initial conditions. 21 2.3 Coordinate Transformations for Dynamic Grid The equations developed in chapter one are for a system of coordinates at rest relative to the laboratory. If I wish to evaluate the functions and their derivatives in another reference frame, I will need to develop the appropriate transformations. I wish to use the new system of coordinates associated with the moving, or dynamic, grid. The grid is allowed to move in the z direction to facilitate driving waves from the boundary as well as to allow the points to be concentrated in regions of interest. Although there are occasions when it may be useful to allow the grid to move in the x and y directions as well, the grid may then become twisted, which adds an unacceptable level of complication. This sort of problem is associated with two and three dimensional Lagrangian methods, which attempt to use the co-moving coordinates. Denote the laboratory coordinates as xi ({xi : x,y,z,t}) and the new frame coordinates as xi' ({xi' : x',y',z',t'}). The coordinate transform, Fl, which may be nonlinear, is assumed to be known K x=x(x',g',z',t') \ l U=U(x',y',z',t') Z=Z(x',g',z',t') t=t(xfigfizfit? \ z N I N - To transform the derivatives required by the equation, one needs the relation a _ 3X- a a7;_(_1. _ Define 8N as the matrix which transforms the derivatives in one frame to derivatives in the other. It is then given by ~ aX‘ ..= _J. aN,J (ax; 22 therefore / \ (9:. w 9; al ' bx' bx' bx' ' ' 9L .92 9; 9.1 ... 09' 09' 09' bg' a”’ 2x. 29. 0.2. _t 02' bz' bz' bz' ax fl a: at . I \bt' bt' bt' bt'll This matrix is nonsingular if the coordinate transform can be inverted to give xi'(xj). It is assumed that transforms which are useful here can be inverted. Thus This may be used to calculate the laboratory frame derivatives from any moving frame denvafives. For this program, x, y, and t remain the same as the laboratory frame while the grid is allowed to move in the z direction. The new coordinates are {x,y,L,t} and the required coordinate transform is Z! \ II II N c x_ J (X'.y'. L .t') F‘NCCX ll ('0'- This yields 23 / \ II I 0 sf. 0 \| .. o I 33. o 3N = 02 0 0 3L 0 ' 0 o 95. I ' \\ bt // This matrix is easily inverted to give / \ .5;- Q?- .l 1 0 bx' 0L 0 \- I J‘- 9-z o by' DL 0 (3N)-1= Oz 0 O I/ZTL 0 0 ' -9; 9.2 \ 0 bt' DL 1,, Therefore, one may evaluate the laboratory frame derivatives required in the equations with 9_= 9. _ 9.2. 92 9. bx bx' ax' bL DL (2.58) 9.= 9__9_z. 92 9_ 59 09' 09' DL 9L (2%) L- 9.2 L bz ’ 1/aL bL (2.5c) L - L- 0—2 Q’- L at " bt' bt' bL bL (2.5d) using only derivatives in the moving frame. 24 2.4 Time Integration of the Equations The equations from chapter 1 and numerical methods from 2.1-2.3 are used together to calculate the time rate of change of each of the eight gas variables. A numerical scheme is still required for the time integration. A number of explicit techniques were tried, including Euler’s, predictor-corrector, and leapfrog methods. The final program uses the fourth order Runge Kutta like method outlined below. It was chosen because it permits larger time steps and, more importantly, gives a measure of the accumulating numerical error resulting from the time integration. Using the equations of chapter 1 and the earlier derived numerical methods, I have written a subroutine which returns the value of dR/dt using the variables at the current time step so is}? 5 f'(R(t),t) A second subroutine uses these derivatives to find R at t+At using the following fourth order Plunge-Kutta formula (Abramowitz and Stegun,1964, §9.2) k1: At f'(R(t),t) k2= At f'(R(t)+ k,/2,t+At/2) k3= At f'(R(t)+ k2/2,t+At/2) k4= At f'(R(t)+ k3,t+At) k1 k2 k3 k4 RM”: “‘0 * F * a * ‘3' * '5' (2.6) The resulting error is of order (At)5. By calculating a new value R1 using one step of 2At and comparing the result with the value, R2, obtain from two steps of At, one gets an indication of the size of the error, E, as follows: R, = R(t+2 At) + «9 (2M)5 R2= R(t+2 At) +2¢(At)5 £52¢(At)5=(R1-R2)/15 Where CD is a numerical constant (assumed independent of At) characteristic of the equations. This can be used to choose the largest time step which produces a desired accuracy, 60, (Press et al, 1986, §15.2). If the current step size results in an unacceptably large error, it can be repeated with a smaller time step chosen as follows: 25 1/4 E Atnw = 0.9 At“ K12) (2.7) The factor of 0.9 has been included as a safety factor to reduce the probability of repeating a step because At is slightly too large. The exponent, 1/4, comes from the desire to limit the error accumulated over all steps. If the error is acceptable, At can be increased with the following 1/5 E Atnew = 0.9Ato1 d(_Esz) (2.8) This method provides a straightforward way to obtain the maximum At consistent with a desired accuracy; moreover, it produces large time steps for the slowly changing parts of problem and concentrates many steps during the rapidly varying portions. The cost is an extra three evaluations of dR for each two At. The derivative must be evaluated four times for each At. Thus the cost is about 3/8, which is generally made up by the larger time step. 26 2.5 Numerical Boundary Conditions The eight equations describe the behavior of the fluid throughout its volume; however, the region treated numerically is restricted. Since the problems to be considered are not strictly outflow, numerical boundary conditions will be required to maintain numerical stability. Periodic boundary conditions are used for the x and y boundaries as is implicit in the use of pseudo-spectral methods. The lower 2 boundary is used to drive the waves into the fluid and so explicit conditions will be specified for most problems. The upper boundary may be open or reflecting. To produce an open boundary, l have used a modified Sommerfeld radiation condition similar to the method suggested by Orlanski (Orlanski, 1976, pp251-269). It is assumed that a disturbance near the boundary obeys the wave equation .51 fl - at + C 52 '0 (2.9) For each variable, t, this equation is used to determine the wave speed. If c>Az/At, the flow is strongly outward and ft+At(NL) can be extrapolated from ft(NL-1). If c<0 then the wave propagation is into the region and the boundary conditions must be given explicitly. When 00, there is a region in which the gas has come to rest as well as the initial two regions. A shock is driven into each of the initial regions. The solution is the same as the piston problem given in figure 3.4 except that region 1 is at rest rather than region 2. Because of the periodic boundary conditions, there is also an interface at which the gases are moving away from each other. Rarefaction waves are generated at this junction. These are considered in the next section. The program was run for several of the piston speeds in table 3.1. Numerical viscosity and fourier smoothing were used to minimize the effect of the spatial discontinuity; however, very small time steps were still initially required. These small steps and the requirement for a large number of cells (only one fourth of the domain was useful for the shock problem) slowed the program considerably —- each run took about eight hours on the Vax. The post shock values again were within 1% of the theoretical values; however, the program had some difficulty with modeling the shock itself. This is most evident in the dip just behind the shock in figure 3.7. This was a remnant of the initial discontinuity and decreased with time. 39 Density 3? fl 0 Q d l I I I D O Q Q N -. l# I I -0 . 031v Velocity A Q 9‘ . 03" 1.022- Temperature f l i i i i r fi‘ 1 8.00 16.00 24.00 32.00 X 40.00 48.00 56.00 Figure 3.7: Computational results for shock wave in x direction. vp=0.1 , §2=0.15 , and t=45.0. 40 3.3 One Dimensional Rarefaction If a piston moves oUt of a uniform fluid, a rarefaction wave travels into fluid. For piston velocities less than the critical value, 2c/(?f -1), one expects the solution shown in figure 3.8 (Landau &Lifshitz,1959,§92.). y Region 1 .................................... Region 2 IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII OOOOOOOOOOOOOOOOOO IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII OOOOOOOOOOOOOOOOOO IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII dUJD_.<_:o ll v< UCD<‘O N N N” II II II II U.(D°°‘o N) Figure 3.8: Theoretical solution for outward moving piston. The fluid in region 1 has the same velocity as the piston. In region 2, the original conditions persist. The two regions are separated by a rarefaction wave; the leading edge of which moves with the velocity, va=co (the initial sound speed). The velocity of the trailing edge, vb, may be either to the right or to the left and depends on v as follows: p _ 7+1 ”1: - Co"? ”v' The value of the fluid variables in region 1 also depend on v and are given by 2 p _ 7-1 1va 7:1 91-41(1'7'30) 3! EM IXEI)?" 2 co Table 3.2 contains the values of the fluid variables which result from my choice of density and temperature and several piston speeds. Within the rarefaction wave itself, the speed of the gas is given by IvI=-.,—i,—(c.- %) where x is the distance from the front of the rarefaction and t is the time since the piston began moving outward. 41 The computer program was run for each of the piston speeds in table 3.2. Sample output is shown in figure 3.9. The average values for the gas variables in region I agreed with theory to within 1% for vpso.6. For greater piston speeds, the numerical domain did not contain any of region 1. The rarefaction wave had the expected profile and traveled with the correct speed. There was a small wave packet which preceded the rarefaction wave which I believe was caused by the initial temporal discontinuity. It may be eliminated by increasing the numerical viscosity; however, this also changes the profile of the rarefaction. For purposes of this test, I felt the small oscillations were not significant and the viscosity was not increased. vp p p e vb 0.00000 1.00000 0.60000 0.90000 1 .00000 0.10000 0.90330 0.50645 0.84100 0.86667 0.20000 0.81304 0.42495 0.78400 0.73333 0.30000 0.72900 0.35429 0.72900 0.60000 0.40000 0.65096 0.29337 0.67600 0.46667 0.50000 0.57870 0.241 13 0.62500 0.33333 0.80000 0.51200 0.19661 0.57600 0.20000 0.80000 0.39437 0.12725 0.48400 -0.06667 1.00000 0.29630 0.07901 0.40000 0.33333 1.50000 0.12500 0.01875 0.22500 -1.00000 2.00000 0.03704 0.00247 0.10000 -1 .66667 Table 3.2: Gas variables after the passage of the rarefaction cause by a piston moving at selected speeds. The upper boundary performed fairly well in this test. It reflected the waves with an amplitude of about 5%. The reflected rarefaction eventually passed through the original rarefaction and continued to propagate through region 1. ' A similar test was run in the spectral direction. Since the rarefaction could not be driven from the boundary, an initial discontinuity in velocity was used as explained in section 3.2. Because the numerical domain also included a shock, the viscosity could not be kept as low. The program was run for the lower piston speeds and the numerical results for region 1 were again within 1% of the theoretical values. Sample output is given in figure 3.10. 42 -0 . 20‘- . 30-- Velocity A -0 . 50-- 0.90" Temperature Figure 3.9: l j I 5 0.00 20.00 40.00 60.00 80.00 Computational results for rarefaction wave in the z direction. vp= -0.60 , §2=0.05 , and t=40.0. 43 ‘ O O Q J 1 Density 999999999 10 1.» A 4 Velocity Q N 1 l .011 I HQGOOOGOQQQQ 0 (II I I Temperature .0 P P to ID ID 7' ‘P '9 to 10 at *1 A 1 i i 8.00 32.00 40.00 48.00 1 24.00 X I 0.00 16.00 Figure 3.10: Computational results for rarefaction wave in the x direction. vp=0.1 , t 2=0.15 , and t=30.0. 44 1 56.00 3.4 Shock tube Another one dimensional problem which was run in both directions consists of two semi-infinite regions of gas initially separated by a partition. The two regions are in thermal equilibrium but have different pressures. At t=0, the partition is broken and the gas begins to move due to the pressure gradient. For t>0, the gas is divided into four regions as shown in figure 3.11. Region I shfioack Region 2 Region 3 iii'giig'figg'ffgfi Region 4 —) 35:35:22::3:3:3:1:3:3:3:3:3:=:——) Vs V, 533555555533555553555323535555555323 9. P. P. P. P. ‘2 V1=0 V2 V3 Vt=0 91 e2 e3 535352333355353552535555553335335235 e‘ D, D2 D3 D; s c b a Figure 3.11: Theoretical solution for the shock tube. Regions 1 and 4 are the remaining parts of the original regions and the initial conditions persist in them. Regions 2 and 3 share the same velocity (toward regiont) and pressure but have different densities and temperatures. The regions are separated from each other by a shock wave moving into region 1, a contact discontinuity moving with the gas in regions 2 and 3, and a rarefaction wave moving into region 4. The leading edge of the rarefaction moves with initial sound speed. The speeds of the remaining interfaces, as well as the values of the pressure, density, velocity, and temperature in regions 2 and 3 depend on the initial pressure ratio. The theoretical solution for this problem follows directly from the combination ratio V3 P3 92 T2 VS 93 T3 Vb 1.50000 .12158 1.21972 1.12628 1.08296 1.08433 1.32492 .92059 .83790 2.00000 .20764 1.39727 1.22082 1.14454 1.14796 1.61280 .86636 .72315 4.00000 .41361 1.90515 1.45984 1.30504 1.31306 2.56319 .74327 .44853 5.00000 .47931 2.09391 1.53853 1.36099 1.36935 2.96595 .70599 .36092 6.00000 .53272 2.25753 1.60289 1.40841 1.41634 3.33765 .67638 .28970 8.00000 .61643 2.53295 1.70395 1.48652 1.49210 4.01247 .63127 .17810 10.00000 .68081 2.76108 1.78142 1.54993 1.55205 4.62006 .59763 .09226 Table 3.3: Theoretical values for shock tubes. 45 of the shock and rarefaction wave solutions. The values which result for my choice of variables and several initial pressure ratios are given in table 3.3. The program was used to simulate a shock tube with motion in the finite difference direction for each of the initial pressure ratios in table 3.3. Numerical viscosity was used because of the presence of the shock. The numerical results agreed with the theoretical values given in the table to within 1%. The program did have some difficulty modeling the contact discontinuity as can be seen in the temperature oscillations near the discontinuity in figure 3.12, sample output for a shock tube with an initial pressure ratio of 10. I believe this difficulty could be eliminated by using a non-zero thermal conductivity (kT in eq 1.17a). I did not incorporate this change since contact discontinuities only result from initial discontinuities, which can be avoided when necessary. The program was also used to simulate a shock tube with motion in the spectral direction for the smaller values of initial pressure ratios (rati055). For the larger values, the time steps became extremely small for the time just after t=0. Numerical viscosity and fourier smoothing were both used to minimize the difficulties arising from all the discontinuities. The numerical results were again within 1% of the theoretical values except for the value of gas velocity in regions 2 and 3. The average value there was still close to the theoretical, but there was a spatial variation in the velocity caused by the contact discontinuity which caused the average value to be uncertain by about 2%. Figure 3.13, which is sample output for an intitial ratio of 2, shows the difficulty in both the temperature and velocity graphs. The difficulty experienced by both spatial methods in attempting to model the contact discontinuity makes it essential to avoid this type of discontinuity in the initial conditions. This program would need to be improved to give a useful simulation of problems in which contact discontinuities cannot be avoided. 46 ‘ Q Q Q 1 1 1 1 1 1 Density 99.99.9999 0 9 Q Q 1 l 1 0.30-- Velocity 0.20-P 0. 10-- 0 . 00--l ... ..( u _. 1.40“ 1.30-- 1.20-- . 10" Temperature .90" .80" .709- .60". . . . . . . I I I I l T 0.00 20.00 40.00 60.00 2 80.00 100.00 120.00 Figure 3.12: Computational results for shock tube in finite difference direction, t=30. Initial pressure ratio=10:1. 47 Velocity Q o d 1 Temperature . 10‘- .00“ .21-- . 18" .0691- .03”- . 00-- d I . 96‘- . 92‘- .331- j j 1 1 1 72.00 80.00 88.00 i i i 1 1 96.00 X 104.00 112.00 120.00 128.00 Figure 3.13: Computational results for shock tube in spectral direction, t=20. Initial pressure ratio = 2:1. 3.5 Alfvén Waves With the addition of a magnetic field, several new wave modes are possible. The simplest of these are Alfvén waves which propagate along the field lines with a velocity A, where 2 A‘= BO 61% These waves are transverse oscillations in the velocity and magnetic field — the density, temperature, and longitudinal components of the velocity and magnetic field are undisturbed. In simulating this mode, I used the usual initial conditions and Bz=Bzo Bx=on= 0.0 An Alfven wave was driven from the lower boundary by sinusoidally varying Bx and vx as follows: Vx = Vo Sin(C01) and Bx = -Bzo vo sin(oot)/A The program was run for several choices of Va, which effects only the amplitude of the wave, Bzo,which effects the Alfvén speed, and 0). Sample output showing the spatial variation in B)( and vx is given in figure 3.14. The remaining variables were constant (20.05%) throughout the numerical domain and the wave propagated at the theoretical Alfvén speed to within 1%(the accuracy of determining the group velocity). The program was then run with propagation in the x direction. The waves were generated by varying the transverse velocity. Both fourier smoothing and artificially large viscosity (9, in this case) were required to overcome the spatial discontinuity at the driving point. I obtained results equal in accuracy to that of the wave propagating in the z direction. Next the program was used to simulate an Alfvén wave propagating at an angle to the magnetic field. The background magnetic field had both x and 2 components and the wave propagated in the x or z direction. The y components of the velocity and magnetic field varied while all the other variables remained constant. Sample output is given in figure 3.15. Once again only By and vy varied - the other variables remained constant (:l:0.05%). The wave velocity was once again within uncertainty of the theoretical value(i1%). In this case, the coupling between the driving point and the wave was not as good as in the case of the propagation along the field lines. The 49 driving point in figure 3.15 oscillated with an amplitude of 0.020 in vy. The wave, however, had an amplitude of only 0.017 (or 85% of expected). No other modes were excited and I am not sure of the cause for this decoupling. 0 . 0 100- 0 . 0080- 0 . 0060- 0 . 0040- 0 0 I I . 0020- U . 0000' -0 . 0020- -0 . 0040- -0 . 0060‘ -0 . 0080‘ I I 0.03" 0.02" 0.01" X m 0.00" -0.01- -0 . 02-" -0 . 03“ ‘ 1 1 1 1 1 1 1 1 fi' 0.00 10.00 20.00 30.00 40.00250.00 60.00 70.00 80.00 90.00 Figure 3.14: Alfvén wave propagating in the z direction. Bz=1.0 ,Az= 0.282 ,t=150.0. B: 15.08 A = 0.282 50 0.0160-- 0.01209- 0. 0080-- 0. 0040-- > 0 . 00009- -0.0040"- -0 . 0080‘- -0.0120‘- -0.0160-- 1b 1 41- q .l 8.06-- 0.04-- 002-) 3 00 0.00-- —0.02-- -8 . 044'- -0.06--, . I I I I I I I I I 0.88 28.08 40.00 60.00 8800210000 120.80 140.00 160.88 Figure 3.15: Alfvén wave pulse traveling at 45° angle to field lines. Bx=3'.0 , Bz=3.0 , B= 1.676 ,A= 1.197 ,Az= 0.846 ,t=150.0 51 3.6 Magnetoacoustic Waves The introduction of a magnetic field causes the acoustic mode of oscillation to split into two modes. These two modes, called the fast mode and slow mode, consist of a coupled oscillation in all the variables except those tangential components which vary in the Alfvén mode of oscillation. The phase velocities of these two modes are given by (Hughes & Young,1966) 1. 2 A2+A2+c2 2 2 2 2 a =:l: x z 0.. Ax+Az+C° 22 - C A slow 2 2 o z 1. 2 A2+A2+C2 2 2 2 2 a = X z 0 + AX+AZ+CO _ CZAZ fast 2 2 o 2 where co is the sonic speed, Az is the Alfvén speed in the direction of propagation, and A)( is the Alfvén speed in the direction perpendicular to the direction of propagation. The coordinate axes have been chosen such that By=0.0 (without loss of generality). For propagation along the magnetic field (Ax=0.0), there is only one mode of oscillation, in which a=co. This case was easily simulated by the program. The waves were driven exactly as they were for the acoustic wave in section 3.1. For the general case, I tried several different ways of driving the waves. When the transverse magnetic field (Bx) and velocity were varied and the remaining variables held constant at the driving point, both modes were generated simultaneously. Figure 3.16 shows sample output for such a case. The relative strength of the modes depended on the relative amplitude of the oscillation in velocity and magnetic field. A considerable amount of “noise” was also generated which was reduced by using non-zero viscosity and magnetic diffusion. 52 Density .0000 .0050‘ .0040- .0030‘ .0020- .0010- .0000- .9990- .9980- .0030‘ .0020- .0010‘ .0010' .0020- .0000- .9980' .9960- .9940- .9920‘ .9900‘ .9880~ .98601 I I I 0.00 l l l j l l l I I I I I 20.00 40.00 60.00 80.00 i i 2 100.00 Figure 3.16: Simultaneously generated fast and slow mode magnetoacoustic wave pulses. t=60.0 , «1:.01, §1=.05. 53 Next I solved the linearized equations to find the relations in the variation of p ,vx, vy. e, and Bx to get vzzw sin(wt) p=p,(1+%"-sin(wt)) -A A v = _I—z— w sin(cot) X oz- A2z e=e°[ l+(7-1)%sin(wt)] a 2_ A22 B=B (1+ wsin(cot)) X X0 0 where a is either afast or aslow. When these relations were used to drive waves from the lower 2 boundary, only the chosen wave was generated. The program was used to simulate fast and slow mode magnetoacoustic waves propagating at a variety of angles to the magnetic field (by vary 8)( and 82). Figures 3.17 and 3.18 show some typical output (propagation at 45° to the field). A numerical instability developed in the propagation of the slow mode wave which was eliminated by using a non-zero magnetic diffusivity, n. The value used (11:0.01) still corresponded to a very low resistivity. For propagation in the spectral direction, I used both of the methods outlined above. When just the tangential velocity and field were varied, the results were much the same as in the finite difference direction. There were fewer difficulties with the “noise”, probably resulting from the fourier smoothing; therefore, I did not need to use a non-zero magnetic diffusivity. When the driving point was oscillated using the theoretical relations above, both modes were generated. Since the relations could be correct for only one of the two directions in which the waves propagated, the waves propagating in the “wrong" directions were about equal in amplitude. In the forward direction, the chosen mode dominated. Sample output is shown in figure 3.19, which was driven as a fast wave. Notice that the slow mode waves appear symmetrically. This suggests to me that it may be possible to drive only the fast mode if the correct driving mode can be determined. 54 1.0110" mesa-- 331.0050" 3: g 1.092e-- m 0 3999-- peso-- 0 0 0 . 9930-- 0 . 9900" 0 . 9870-- 0 . 0090-- 0 . 0060-- 0 . 0030" 0 . 0000-- -0 . 0030- -0 . 0060- 3.06‘ 3.04- 3.02- x CD 3.00- 2.981 2.96- F 2.94-1 l l I l A l l I I I I I I I I I JI 0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00 2 Figure 3.17: Fast mode magnetoacoustic wave. t=50. 0 . 9990- 0 . 9960- . 9930- . 9900- . 9870- . 9840‘- Density .9810?- fi . 9780- . 9750- . . 0000 -0 . 0020- I -0 . 0040' -0 . 0060'- -0 . 0080- 1 -0.0100‘ -0.0120- 3.044" 3.03-- 3.02"- 3.01" 3.00 . . . . ' “‘—‘-—.‘-—' l A I I I I 4I I I 0.00 20.00 40.00 60.00 2 80.00 100.00 120.00 140.00 Figure 3.18: Slow mode magnetoacoustic wave pulse. 1:150 , n=.01 . . 0 toe-r . 0080- . 0060- . 0040u . 0020j . 0000- . 9980‘ . 0020- . 0000‘ . 0020- . 0040- .0060- . 0080! I I I I I -i- cli- 3.05" 3.04- 3.03-- 3.02-- 3.01“- 3.00-- 1 20.00 % 40.00 3 60.00 A: 80.00 i 100.00 E 120.00 I1. X Figure 3.19: Magnetoacoustic wave pulses generated by driving with +x fast mode phase relations. t=30 , 11:0. 57 3.7 Nonlinear Waves in Magnetic Atmosphere The last class of test problems considered was that of shock waves and rarefaction waves propagating through a uniform magnetic atmosphere. Theoretical solutions are available for the simpler cases and the results for the cases for which theoretical solutions are not known will be needed for comparison in chapter 4. For the simplest case of waves propagating in the direction of the field, the problem may be solved theoretically. The waves propagate exactly as they would in the absence of the magnetic field and the the solutions from section 3.1 and 3.2 still pertain. For the case where the waves propagate perpendicular to the field, theoretical solutions are also available. The solution to the piston driven shock given in appendix C, can be extended to include the magnetic field; however, the resulting equation in a, the ratio of densities, is cubic. Analysis of this equation revealed one real root which was found numerically for the chosen initial fluid parameters and several values for the piston speed. These values are listed in table 3.4. The results obtained from the simulation were in excellent agreement (i0.1°/o) with these values. Sample output is given in figure 3.20. vp/c p1 T1 vs B1 0.010 1.00765 1.00507 1.31539 3.02296 0.050 1.03852 1.02572 1.34818 3.1 1555 0.100 1.07799 1.05158 1.38227 3.23396 0.250 1.20061 1.13274 1.49617 3.60182 0.500 1.41553 1.28602 1.70328 4.24658 1.000 1.85403 1.70618 2.17092 5.56209 Table 3.4: Theoretical Solution for Shock— Bz=3.0 58 d I eraturg D- _Tem . 07-- . 06‘- . 05*- .a4-- .03-- . 02‘ .01n . 00~ QGGOQOZOQQQ Q .3 1 I I g. b l l: ‘1 ‘1 teioa zafao setoa 40190 saiaozsataa 701.00 80.00 90'.ea 100100110108 Figure 3.20a: Shock moving normal to a uniform magnetic field. Vp=0.1, Bz=3.0 59 3.21-- 3.181- 3.15-- On) G O l I 3.06”- 3.03-- 3 06“ AA.MAAAAAA . I I I J I I I I I I I I I I I I I I I I I 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00100.00110.00 Z Figure 3.20b: Shock moving normal to a uniform magnetic field. Vp=0.1 B2=-3.0 l was unable to find a solution in the literature for a rarefaction wave in a magnetic fluid. The solution used in section 3.3 (Landau & Lifshitz, 1959, §92) is a similarity solution with the acoustic speed as the characteristic velocity. I assumed that the presence of the magnetic field would not introduce a characteristic length and, therefore, the similarity solution could still be used. The characteristic velocity, in this case, would be the magnetoacoustic wave speed (only one mode is possible for propagation perpendicular to the field). Table 3.5 lists the values given by this solution for several piston speeds. vp/c p1 T1 vb B1 0.010 0.99239 0.99492 1.29670 2.97717 0.050 0.96232 0.97472 1.24340 2.88696 0.100 0.92559 0.94976 1.17670 2.77677 0.250 0.82105 0.87682 0.97670 2.46315 0.500 0.66483 0.76174 0.64337 1.99449 Table 3.5: Theoretical values for rarefactions— Bz=3.0 Once again the computer simulation of this problem yielded results in agreement with the analytic values (10.1%). Sample output is given in figure 3.21. 60 Densitg Q 0 0 O 0 Q Q o . . . . b» . . . -? AAAA erature .0 o 9 Temp 9 .0 P (D m (n 5 f 1' Q «I “P -0 . 20- I I AAAA A Figure 3.21a: Rarefaction moving normal to a uniform magnetic field. Vp=-0.5 83:30 T i i u i 0.00 20.00 40.00 2 60.00 80.00 100.00 61 NX NNNN AA AA I 06-. vvv .80- .70" .60" .50" .40" .30" .20" . 101- .00" NNNNNQ o o f J I l I_ I7 I I I I I 0.00 20.00 40.00 2 60.00 80.00 100.00 Figure 3.21b: Rarefaction moving normal to a uniform magnetic field. For the most general case of a shock propagating at an angle to the magnetic field, the equation in a, the ratios of densities, is cubic in a2 and cannot be solved analytically. An analysis given by Hughes and Young (Hughes & Young, 1966, §10.4) reveals that there are three real solutions for a and vs. The first solution is called a slow shock since it reduces to a slow mode magnetoacoustic wave in the small amplitude limit. The second solution, called a fast shock, reduces to a fast mode magnetoacoustic wave. The third solution, call an intermediate shock, has a shock speed which approaches the Alfvén speed in the small amplitude limit. Regioni Region2 Region3 oooo 0". c 0' :-:-° '0 I I I. 'Sg3- 03::- ’o::' W Figure 3.22: Shocks resulting from driving a piston at an angle to the magnetic field. Figure 3.22 illustrates what happens when a piston is driven into the fluid at an angle to the magnetic field. The boundary values specified at the piston did not include the transverse velocity or magnetic field; therefore, a frictionless piston was being 62 modeled. In this case, any or all of these type of shocks may result from the piston. Output for a sample run is given in figure 4.4. As can be seen, two shocks result and propagate independently. The first and larger shock is a fast shock and the second is a slow shock. No intermediate shock was generated. The results for the case Bx=Bz=3.0 (8:45°) are summarized in the following table. Vp 0.010 0.050 0.100 0.250 0.500 1.000 P1 1.0081 1.0411 1.0837 1.218 1.460 1.98 in -0.0025 -0.0112 -0.0208 -0.042 -0.063 -0.06 1} 1.0054 1.0273 1.0555 1.145 1.315 1.77 3.023 3.112 3.221 3.541 4.062 5.03 132 1.0062 1.0309 1.0624 1.161 1.338 1.724 -0.0046 -0.0226 -0.0443 -0.1048 -0.1908 V22 0.0089 0.0443 0.0887 0.224 0.454 0.935 Table 3.6: Shocks caused by driving a piston at 6=4S° to a uniform magnetic field. T2 1.0041 1.0205 1.0414 1.107 1.235 1.604 Bx2 3.028 3.140 3.281 3.709 4.438 5.89 These results can be used to determine what transverse velocity must be specified to generate any fast shock. This was done, iteratively if necessary, to obtain or. and vs as a function of vp for the fast shocks. Since the slow shock in figure 3.22 moves into a region whose fluid parameters were determined by the fast shock, it was more difficult to determine what transverse velocity was required to produce the desired slow shock moving into the undisturbed fluid. Vp 0.000 0.010 0.050 0.100 0.250 0.500 Table 3.7: Post shock fluid values for a oblique fast shock. p 1.0000 1.0069 1.0351 1.070 1.180 1.377 Vx 0.0000 -0.0052 -0.025 -0.049 -0.116 -0.206 63 T 1.0000 1.0046 1.0232 1.0470 1.122 1.268 BX 3.000 3.032 3.157 3.317 3.794 4.58 1.453 1.482 1.519 1.634 1.839 [empegaturg ‘ slooaoo @009 . 0070-- .0060‘ .0050" .0040-- .0030" . 0020-- .0010-- .0000- .0050-~ .0040-- .0030" .0020“ .0010‘- .0000- .0090‘ .0080- .0070- .0060‘ .0050- .0040- .0030' .0020J .0010 .0000" I I p ‘l‘ I I I I I —-)- A .L A I 0.00 I 20.00 40.00 1 1 60.00 2 80.00 T 100.00 I 120.00 Figure 3.233: Piston driven oblique shocks. Vp=0.01. Bzx=Bzz=3-° 64 I 140.00 .0000“ .0010- . 00201 .0030- .0040‘ I .0280. .0240‘ .0200- .0160- .0120- .0080- .0040‘ I I I I .0000‘ 41- AA ' A 0.00 % 20.00 1 40.00 4 100.00 T 120.00 I 140.00 60.90 2 80.00 Figure 3.23b: Piston driven oblique shocks. To isolate the dependence of slow and fast shocks on the angle between the shock and the magnetic field, I ran the piston at the same speed at different angles. The results are summarized in table 3.8. 9 Pt Vx1 T1 91 92 Vx2 V22 T2 92 0 1.1032 0.0000 1.0679 0.00 15 1.1013 -0.0073 1.0668 16.30 1.0886 -0.0334 0.0914 1.0585 17.95 30 1.0967 -0.0123 1.0639 32.12 1.0823 -0.0351 0.0918 1.0544 33.28 45 1.0906 -0.0142 1.0600 47.30 1.0805 -0.0293 0.0955 1.0533 47.86 60 1.0849 -0.0126 1.0563 61.86 1.0794 -0.0206 0.0984 1.0525 62.08 75 1.080 -0.0077 1.0537 76.05 1.0784 -0.0105 0.0997 1.0519 76.07 90 1.0779 0.0000 0.1000 1.0517 90.00 Table 3.8: Post shock fluid values for different angles between piston and field. 65 When the piston was withdrawn from the fluid, two rarefactions resulted. This case is illustrated in figure 3.24. The two waves have leading edge velocities equal to the slow and fast magnetoacoustic wave speeds for the region, so I have called them fast and slow rarefactions. Sample output is given in figure 3.25. IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIII , . E E E E 5 SI owgigigigégég - 33535555353 fa st 355335553; - // Regtonl rarefaction Regtonz rarefaction Reg1on3 / p Vc 35323353555E;EgEgEgEgEgSgEgEgSgEgSgi slow V5353553555E;Egigigigigfgégigigigégigi fast V1=vp §s§s§s§2§2:2§2§2§2§5§s§s§2§s§2§2§5§s V2 Vs=0 91 s:33sis§a;a§s§s§s§s§2§s§s§5§s§s§s§2§ e2 es=e° p1 '=:3:E:E:E:E:E:E:E:Eziziriziriziziti p2 :3:3:5:3:5152:53323355:3383 '33“). C b a Figure 3.24: Rarefactions resulting from withdrawing a piston at an angle to the field. The results of running the simulations for a number of different piston velocities are given in the following table. Vp P1 Vx1 T1 8x1 92 Vx2 V22 T2 Bx2 -0.010 0.9921 0.0028 0.9947 2.976 0.9938 0.0047 -0.0090 0.9958 2.972 -0.050 0.9607 0.0139 0.9736 2.883 0.9695 0.0238 -0.0446 0.9795 2.859 -0.100 0.9219 0.0275 0.9473 2.771 0.9399 0.0481 -0.0883 0.9596 2.722 -0.250 0.810 0.068 0.869 2.450 0.858 0.124 -0.213 0.904 2.329 -0.500 0.640 0.141 0.744 1.970 0.747 0.259 -0.395 0.824 1.735 -1.000 0.364 0.316 0.527 1.149 0.625 0.510 -0.617 0.732 0.868 Table 3.9: Flarefactions caused by driving a piston at 8=45° to a uniform magnetic field. 66 .04-- . 03“- .01“ 10 '1" l l 1 ID to 9. .1)- .11- - -1 1 V" i i 0.00 30.00 60.00 90.00 I 120.00 1 150.00 1 180.00 Figure 3.248: Sample output for oblique rarefactions. vp=0.1 , B3X=B3z=30 67 Temperature .Q 0 O . 00" .99“ . 98"- .97" . 95-- . 00" .96" .92“ .88" .84-- . 80" . '26-- A A A AA A A A AA AA A A AAAAA vv A 1! db -1- I I I I 0.00 30.00 60.00 90.00 120.00 Figure 3.24b: Sample output for oblique rarefactions. These results for nonlinear waves in a uniform magnetic field will be used for comparison when I consider the propagation of nonlinear waves through magnetically structured media. 68 I 150.00 I 180.00 4 Waves in Magnetically Structured Media In the first three chapters, 1 have developed and tested a computer program for modeling nonlinear disturbances in magnetic fluids. The program was next used to model several problems for which thetheoretical solution are not known. These problems all consider waves in magnetically structured media. 69 4.1 Nonlinear Waves Incident Normal to 8 Magnetic Flux Slab The program is able to model the propagation of nonlinear waves through a magnetically structured atmosphere. Theoretical solutions to problems of this type are generally unavailable. The simplest problem of this type is the normal incidence of a nonlinear wave on a magnetic flux slab. This slab consists of region of high magnetic field embedded in an environment of weaker magnetic field. The simple slab considered here has a magnetic field given by 30(2) {50“. |z-z°| < 5 0 , IZ'ZOI >6 The region is initially isothermal and the environment has a higher density to balance the total internal and external pressures. The wave, propagating in the z direction, is normal to the surface of the slab. The computer program was used to model this problem for a variety of shock waves and magnetic field strengths. From the results of these simulations, I can draw the following conclusions: 1. Each time a wave crosses an interface, a reflection is possible. The magnitude of the reflection depends on the strength of the magnetic field within the slab. As a result of these reflections, the slab sends out wave pulses in both directions. The amplitude of these waves decline with each reflection and only the initial reflections were easily followed back through the environment. The amplitude of the pulses depend on the strength .of the shock and the magnitude of the magnetic field. The width of the pulse also depends on the width of the slab. 2. After the shock passes and the slab reaches its final state, the slab is again in pressure equilibrium with the environment. It is narrower and the magnetic field strength is increased. The slab is no longer in thermal equilibrium with the environment. For all cases tried the slab was cooler than the environment. The density of the slab is increased by a lower ratio than that of the environment. 3. The slab is still at rest relative to the environment. 4. The final state of the environment is the same as it would have been if the slab had not been present. The two regions of the environment, one on each 70 side of the slab, are still identical. 5. The final state of the slab is denser, hotter, and has a stronger magnetic field than if a shock had passed through a uniform region with the same initial conditions. The results of the simulations are given on the following table. The ratio of densities, aim is also the ratio of final magnetic field to initial magnetic field. The last column is the ratio of final to initial width for the slab. leab vp “in “out Tslab/Tenv waN i 0.10 0.100 1.1031 1.1032 0.9996 0.905 0.50 0.010 1.010 1.010 0.9999 0.990 0.050 1.051 1.051 0.9998 0.951 0.100 1.102 1.103 0.9993 0.907 0.250 1.266 1.268 0.998 0.789 1.00 0.010 1.0099 1.0099 0.9999 0.990 0.050 1.050 1.050 0.9997 0.953 0.100 1.101 1.102 0.9992 0.908 0.250 1.261 1.268 0.998 0.796 3.00 0.010 1.0093 1.010 0.9995 0.991 0.050 1.047 1.051 0.9976 0.954 0.100 1.094 1.103 0.994 0.912 0.250 1.246 1.269 0.991 0.801 0.500 1.519 1.564 0.987 0.656 10.00 0.010 1.0086 1.010 0.999 0.991 0.050 1.043 1.051 0.995 0.957 0.100 1.087 1.103 0.991 0.917 ' 0.250 1.226 1.270 0.981 0.810 Table 4.1: Results of simulating a shock incident normal to a slab. Next, I used an outward moving piston to generate rarefactions which were normal to the slab. From the results, lcan make the following conclusions. 1. Wave pulses are generated similar to those produced by the shocks— though opposite in magnitude. 2. After the rarefaction passes and the slab reaches its final state, the slab is again in pressure equilibrium with the environment. It is wider and the magnetic field strength is decreased. The slab is no longer in thermal 71 equilibrium with the environment. For all cases the slab was hotter than the environment. 3. The slab is still at rest relative to the environment. 4. The final state of the environment is the same as it would have been if the slab had not been present. The two regions of the environment, one on each side of the slab, are still identical. 5. The final state of the slab is less dense, cooler, and has a weaker magnetic field than if a shock had passed through a uniform region with the same initial conditions. The results of the simulations are summarized in the following table. leab Vp “in “out Tslab/Tenv wf/wi 0.10 -0.010 0.9900 0.9900 1.000 1.010 -0.050 0.9508 0.9507 1.000 1.053 -0.100 0.9033 0.9032 1.000 1.108 -0.250 0.7700 0.7698 1.000 1.300 0.50 -0.010 0.9900 0.9900 1.000 1.010 -0.050 0.9510 0.9507 1.000 1.053 -0.100 0.9036 0.9032 1.000 1.109 -0.250 0.7708 0.7701 1.000 1.305 1.00 -0.010 0.990 0.990 1.000 1.010 -0.050 0.951 0.951 1.000 1.052 -0.100 0.904 0.903 1.000 1.107 -0.250 0.772 0.770 1.002 1.297 3.00 -0.010 0.991 0.990 1.000 1.010 -0.050 0.954 0.951 1.002 1.050 . -0.100 0.915 0.903 1.008 1.093 -0.250 0.779 0.770 1.007 1.284 -0.500 0.600 0.578 1.024 1.667 10.00 -0.010 0.992 0.990 1.001 1.009 -0.050 0.958 0.951 1.005 1.046 -0.100 0.917 0.903 1.009 1.095 -0.250 0.800 0.770 1.027 1.253 Table 4.2: Results of simulating a rarefaction normal to a slab. It is of interest to note that if a shock is followed by a rarefaction driven by the same piston speed, the slab and environment each return to its initial state. Therefore a 72 source of shocks and rarefactions, such as a convection zone, would not serve to strengthen or weaken a flux slab provided the source produced identical distributions of shock and rarefaction strengths. 73 4.2 Nonlinear Waves Incident Normal to a Magnetic Flux Tube As a second magnetic structure, I considered a magnetic flux tube whose magnetic field was given by [Bog , x2+2212+22>r2 Since the symmetry of the tube is not the same as that of the rectangular grid, I used a gradual boundary described by a hyperbolic tangent: Bo=;—Bo‘g[ 1+tanh( r-V x2+gz]] The numerical region was initially isothermal and the density varied to maintain the pressure balance. The shock generated by the moving piston propagated in the +2 direction and was therefore incident normal to tube boundary. Figure 4.1 shows a series of density plots as a shock passes the tube. Also shown in the figure, are contour plots of the temperature and speed after the shock has passed. In addition to noise, one can clearly see the difference in temperature and speed between the tube and its environment. The noise pictured is due to fluctuations less than the accuracy requested for the simulation. They are visible because of the near uniformity of the atmosphere (note the small contour spacings). 74 T=15 T 20 T=25 Figure 4.1a: Contour plot of density as a shock wave passes a flux tube. B°= 3.0 , vp=0.1 75 T=30 1=40 Min= 1.0577 Mins- 0.0955 max= 1.0726 m8x= 0.1100 contours= 030149 contours: 0.00145 SPEEDATT= 40.000 TEMPERATURE AT T= 40.000 Figure 4.1b: Contour plots of density as a shock wave passes. Also showns are contour plots of temperature and speed after the shock. 76 Because of the amount of time required for each run, I did not use as large a variety of shock strengths and field strengths as for the slab. From the results of these simulations 1 can draw the following conclusions: 1. After the shock passes and the tube reaches its final state, it is in pressure equilibrium with the environment. The tube is no longer in thermal equilibrium with the environment. For all cases, the tube was cooler than the environment. . The density of the tube has increased by a lower ratio than the environment. . The tube is no longer cylindrical in cross section. The 2 dimension has been decreased by a fraction similar to that of the slab. The x dimension increases slightly. . The tube is not at rest relative to the environment but rather has a relative velocity in the +2 direction. The fluid in the environment moves around the tube as it passes. . Far from the tube, the environment is the same as it would have been if the tube had not been present. Near the tube, there is a “wake” region where the velocity is higher and the temperature and density are slightly lower. To the sides (ix) of the tube, the z velocity is slightly slower. This effect decreases farther from the tube. . The final state of the tube is denser, hotter, and has a stronger magnetic field than if the shock had passed through a uniform region with the tube’s internal conditions. The average final density and temperature of the tube were slightly less than those of a slab with the same internal initial conditions. . There was some evidence that the tube was not as uniform after the shock as before. The center was less dense, cooler, moving faster. The magnetic field was greatest near the center of the tube. To quantify these results would require a larger grid than is practical on the Vax. The results of the simulations are given on the following table. 77 leab Vp Vin ain aout Tslab/Tenv WH/Wi wL/wi 0.10 0.100 0.1001 1.1030 1.1032 1.000 1.000 0.907 0.30 0.100 0.1002 1.1029 1.1032 0.999 1.000 0.908 1.00 0.100 0.1013 1.1017 1.1032 0.998 1.001 0.908 3.00 0.010 0.012 1.009 1.010 0.999 1.000 0.991 0.050 0.055 1.045 1.051 0.997 1.002 0.954 0.100 0.11 1.09 1.10 0.994 1.004 0.907 0.250 0.264 1.25 1.27 0.989 1.008 0.792 0.500 0.53 1.50 1.56 0.986 1.039 0.637 Table 4.2: Results of simulating a shock incident normally on a flux tube. Next rarefaction waves were generated normal to the tube. From the results of the numerical simulation I can make the following conclusions: 1. After the rarefaction passes and the tube reaches its final state, it is in pressure equilibrium with the environment. The tube is no longer in thermal equilibrium with the environment. For all cases, the tube was hotter than the environment. 2. The density of the tube has decreased less than the environment. 3. The tube is no longer cylindrical in cross section. The 2 dimension has been increased by a fraction similar to that of the slab and the x dimension decreases slightly. 4. The tube is not at rest relative to the environment but rather has a relative velocity in the -z direction. The fluid in the environment moves around the tube as it passes. 5. Far from the tube, the environment is the same as it would have been if the tube had not been present. Near the tube, there is a “wake” region where the velocity is higher and the temperature and density are slightly greater. To the sides (:lzx) of the tube, the z velocity is slightly slower. This effect decreases farther from the tube. 6. The final state of the tube is less dense, cooler, and has a weaker magnetic field than if the shock had passed through a uniform region with the tube’s internal conditions. The average final density and temperature of the tube were slightly greater than those of a slab with the same internal initial conditions. The results of the simulations are given on the following table. 78 leab vp V'n 0‘in “out Tslab/Tenv WHNVI WI/w i 0.10 -0.100 -0.1005 0.9033 0.9033 1.000 1.000 1.107 0.30 -0.100 -0.1006 0.9034 0.9033 1.000 1 .000 1 .107 1.00 -0.100 -0.1014 0.9045 0.9033 1.001 0.999 1.105 3.00 -0.010 -0.01 15 0.991 0.990 1.000 1.000 1.109 -0.050 -0.055 0.956 0.951 1.002 0.998 1 .045 -0.100 -0.108 0.912 0.903 1.005 0.996 1 .095 -0.250 -0.261 0.788 0.770 1.013 0.993 1.27 -0.500 -0.51 0.60 0.579 1.038 0.971 1.66 Table 4.2: Results of simulating a rarefaction incident normally on a flux tube. Because of the coarse grid and final non-uniformity, I am unable to make a conclusion regarding the effect of alternating shocks and rarefactions. A larger grid and greater time would be required than is practical on the Vax. 79 4.3 Acoustic Waves Incident Obliquely to 8 Magnetic Interface As the last and most interesting problem, I considered acoustic waves incident obliquely on a plane parallel magnetic interface. The results of this simulation have immediate application to several outstanding problems in the solar atmosphere. The most important of these is the reported absorption of solar p-mode oscillations by sun spots (Braun et al, 1987). The details of this problem and the application of the results of this simulation to this problem are considered in the discussion section of chapter 5. The magnetic structure for this problem was a plane interface between a field free region and a region of uniform magnetic field. The numerical domain was originally isothermal and the density in the the field free region was increased to maintain pressure equilibrium. The number and range of controllable parameters in this problem, as well as the large amount of CPU time required for each run, made it impossible to simulate the full range of problems possible. Therefore, the internal magnetic field strength was chosen to give a magnetic beta similar to that of a sun spot and the direction of the field was chosen normal to both the interface and the direction of wave propagation. These conditions are illustrated in figure 4.2. Several different magnetic field profiles were used for the interface. None of the profiles used was based on a sun spot model. .......... IIIIIIIII .......... OOOOOOOOO .......... ......... IIIIIIIIII ......... OOOOOOOOOO OOOOOOOOO .......... IIIIIIIII IIIIIIIIII ......... IIIIIIIIII .......... ......... IIIIIIIIII IIIIIIIII IIIIIIIIII ......... .......... IIIIIIIII 0000000000 ......... .......... ......... IIIIIIIIII IIIIIIIII IIIIIIIIII ......... IIIIIIIIII IIIIIIIII .......... ......... .......... IIIIIIIII IIIIIIIIII Figure 4.2: Acoustic wave incident at angle 0 to the interface To study the large scale effects and the angular dependences, I chose the following profile: B z—z B -—° 1+tanh(—-9-)] ’- 2 [ s 80 The parameter s determined the width of the interface and B0 was the interior magnetic field. The cells were uniform in size. A variety of values was tried for 5 without effecting the large scale results. A value s=2L2 was chosen for the remaining simulations with this profile. A piston moving with velocity VI) was used to drive an acoustic wave from the lower boundary at an angle 6 to the interface. The wavelength, 2., was specified and the width of the cells in the spectral direction was redefined to meet the periodic boundary conditions. The required angular frequency for the driving force was calculated from the wavelength and the speed of sound. The simulation was run long enough for the transient affects to disappear— at least 8 periods for all frequencies used. The simulation was run for a variety of wavelengths and angles. The large scale results were the same for all choices of wavelength within the range 10Lzs7ts100Lz. The angle of incidence was central in determining whether the wave would be transmitted or reflected. The results can summarized as follows: 1. For small angles of incidence, the wave is mostly transmitted. For 851 5°, the energy flux in the z direction leaving the interface was greater than 95% of the incident flux. The transmitted wave was refracted away from the normal as expected. 2. For angles greater than 30°, the wave was mostly reflected. For 30°56$60°, the energy flux in the z direction leaving the interface was less than 5% of the incident flux. A standing wave resulted from the interference of the incident and reflected waves. These results are illustrated in the following figures. Figure 4.3 shoWs contour plots of the flow resulting for 6=15° and vp=0.01. The refraction of the wave can be clearly seen. The noise in the temperature graph is smaller in magnitude than the accuracy requested of the simulation and is apparent because of the nearly uniform temperature. Figure 4.4 illustrates the results for 6=4S°. The standing wave pattern can be clearly seen in the region above the interface. The distance between the piston and the interface is not an integral number of half-wavelengths and the results are similar for the range of wavelengths simulated. 81 H H1118 0.9947 m. mfix' 47818 W contours: 037871 DENSITYATTI 200.00 Min= 0.9928 max= 1.0073 contours= 0.00145 TEMPERATUREATT= 200.00 Figure 4.3a: Contour plots of density and temperature for 9=15°, and vp=0.01. 82 My Mins 0.9977 max: 4.9097 contours= 0.39119 DENSITYATTs 200.00 Min= 0.9768 max= 1.0264 contours= 0.00496 TEMPERATUREATT= 200.00 Figure 4.4: Contour plots of density and temperature for 0=4S° and vp=0.01. o i 1110- 0.0000 max: 0.0275 contours- 0.00275 SPEEDATT- 200.00 Min= 4.0048 max= 4.5329 contours= 0.05281 TOTAL ENERGY AT T= 200.00 Figure 4.4b: Contour plots of speed and total energy density for 0=45° and vp=0.01. 85 A second interface profile was chosen to study the small scale details. Since the interior Alfvén speed exceeds talkx for 6230°, a zone of resonant absorption was expected within the interface (Steinolfson, 1984) (Tataronis, 1975). To concentrate on this region, I chose the following profile: '- 0 Z< Zb 00+01(2-Zo)+02(Z-Zo)2+03(2-Z°)3 2155-25-20 59(2)“ 2 3 Co+C1 (Z- Zo)+C2( 2" 2°) +03( 2' 20) 2. f. 2 5 21 The coefficients were chosen such that the Alfvén speed equaled colkx at 20 for 6=45° and both B and 68/82 were continuous everywhere. The value of zt and 2b were chosen to determine the width of the interface and nonuniform cell spacing was used. Half of the cells were within the interface while one quarter was above and one quarter below the interface. The values used for the majority of the simulations gave an interface width about one quarter the thickness of the tanh profile and a cell size one tenth as large. This profile is illustrated in figure 4.5. In addition to the usual output, I had the program calculate and print the average density, velocities, and temperature for a full cycle as a function of z; therefore, small differences in these variables could be differentiated from the periodic variation of the wave. 86 3.501 9 3.003- Densit 5. 00* 4.00-- 3.00-- 2.00~ 1.00" 0. 00-- . A . . A A I I I I I I I I 0.00 3.00 5.00 9.00 2 12.00 15.00 18.00 21.00 Figure 4.5: Profile of density and By. 20:10.00, zb=9.00, and z,=11.00. The finer grid required a smaller time step and thus considerably more CPU time. Each simulation required 50-60 hours of CPU time and thus only a few trials were run. For 8=15°, the results were consistent with the earlier simulations. No resonant heating was observed. For 8=45°, resonant heating was clearly evident in cells near 20. Figure 4.5 shows contour plots of density and total energy for this simulation. The region shown is only 40% as large in 2 as figure 4.4. Although the total energy plot is shifted horizontally because of a difference in phase, the results are clearly consistent with the earlier simulation. There is only a hint of the resonance zone in this graph. The heated zone is clearly visible in figure 4.7 which shows temperature versus 2 for the central (in x) zone. 87 Mina 0.9966 max: 4.8002 contours: 0.38035 DENSITYATT- 200.00 Min= 4.1367 , 1 max: 4.3750 contours= 0.02383 TOTAL ENERGYAT T= 200.00 Figure 4.6: Contour plot of density and total energy for the fine grid. 88 1 . 0080- 1 . 0070- 1 . 0060- 1 . 0050- . 0040- 1 . 0030- temperature 1. 0020- 1 . 0010- 1 . 0000 P. l .l I l I 0.00 3.00 l A', 6.00 I 15.00 I I 9.00 2 12.00 Figure 4.7: Temperature versus 2 for the central x zone. T=200. I 18.00 db The resonant absorption region can be seen even more clearly in figure 4.8 which shows the temperature average over a cycle versus 2. The region begins at or just before 20 and continues to zr l-ran shorter simulations with half the cell size and compared the results. The temperature rise was similar to that observed for larger cells and the region was same size; therefore, I concluded that smaller cell size would not improve the resolution of this resonant heating zone. 1 . 0024'"- .I ‘ temperature d .8828- .0016?’ .00121 .00081 .8084- . 0000-- J I 2.00 4.00 6.00 8.00 1 10.00 2 1 12.00 1 14.00 1 16.00 Figure 4.8: Temperature averaged over one cycle versus 2. T=200. 89 1 18.00 I 20.00 I calculated the amount of surplus thermal energy in the resonant zone to be (8.9:l:1.9)% of energy available from the wave. Since the region remained in pressure equilibrium, the magnetic field, and thus the energy stored in the field, decreased. Considering both thermal energy gain and magnetic energy loss, I found the resonant zone had absorbed (3.010.6)% of the energy available from the wave. An additional (4.9io.4)% of the energy was transmitted. I could not directly calculate the fraction of the energy reflected by the interface; however, the standing wave pattern was consistent with earlier simulations having reflections greater than 90%. 90 5 Conclusion and Discussion 91 5.1 General Conclusions The results of the simulations run in chapter 3 and 4 allow me to make several conclusions regarding the general approach used. First and foremost, the program was able to model all of the physical problems attempted. When accepted values were known, the computational results agreed within the precision requested. The only exception was in modeling contact discontinuities. I believe this shortcoming could have been overcome by introducing non-zero thermal conductivity or another smoothing mechanism. This was not done, however, because contact discontinuities did not develop in the physical problems. Several features of the program make it suitable for a wide variety of problems. First, it is an explicit code. Since no Iinearization or iterative calculations are required, it is straightforward to include any forces or other extra terms required for a particular problem. I also believe that explicit methods are easier to understand and implement. Second, the dynamic grid allow the program to concentrate on the region of interest. Small zones, such as the resonant heating zone in section 4.3, could be studied without increasing the number of grid points beyond reason. Furthermore, fast moving features, such as shocks, could be followed without increasing the numerical domain. As another benefit, driving waves from the boundary was straightforward using the moving grid. For many problems, it would be beneficial to have the grid dynamic in two or three dimensions; however, this introduces the complication of grid twisting. More complicated algorithms for managing the grid motion may be able to overcome this difficulty. I used only the simplest grid motions. Last, the Runge Kutta like method I used for the time integration proved to be very stable. It allowed the program to use the largest possible steps consistent with the requested precision with a minimum of overhead. It is straightforward to understand and implement. The method was clearly superior to using fixed time steps, either user chosen or calculated, or to using the Courant condition. Using the Courant condition becomes complicated with the addition of viscosity, conductivity, and other dispersive effects. Once implemented, the method was insensitive to other changes in the program. I would strongly recommend this method to others. 92 A number of the aspects of the program, although satisfactory, leave room for change and improvement. Foremost among these is the choice of numerical boundary conditions. From my work with this program, I would have to conclude that finding appropriate, stable, and easily implemented boundary conditions is the most difficult aspect of simulating magnetohydrodynamics. The method of following a grid point at the local wave velocity worked well for simulations of waves and other smooth variations but was not perfect for shocks and other discontinuities. Problem specific numerical boundary conditions may be required for these types of flow. The use of a spectral method for taking spatial derivatives worked well for the problems on which I concentrated; however, there is some cost is using them. The accuracy of the derivatives obtained from the spectral method greatly exceeded that of the finite difference method for a given number of grid points, N. The finite difference method was faster, however, for a given N. This trade-off favored the spectral method only for N232. Thus for many problems with a small number of grid points, it would have been preferable to use finite difference methods in both directions. When computer power allows a larger grid or when using vector machines, the spectral method is clearly more powerful. For problems for which periodic boundary conditions are not appropriate spectral methods should not be used. The modular structure used in my program allowed me to easily substitute different routines for the spectral derivative subroutine. Another aspect of this research which may require further work for future problems is the presentation and interpretation of the data. This type of program generates large volumes of data which can be difficult to interpret. The linegraph and contour plotting routines which I wrote were adequate for displaying the static characteristics of one and two dimensional problems; however, some form of animation would have been helpful in understanding some of the dynamic aspects of the problems. Additional display techniques will be required to adequately interpret three dimensional results. Both animation and three dimensional problems require more computing power than I had available. In general, I would conclude that the algorithms, numerical methods, and the resulting program were successful in simulating the problems attempted within the constraints imposed by available computing power. The conclusions which can be drawn from the simulation of non-linear waves 93 incident normal to a magnetic flux slab are quite straightforward. First the presence of the slab does not affect the final state of the fluid away from the slab. Second, the final state of the interior is different from that which would result if there were no magnetic structure. The details of the differences are given in section 4.1. Lastly, a source of shocks and rarefactions, such as the solar convection zone, would not concentrate the field. Similar conclusions can be drawn for the simulation of non-linear waves incident normal to a flux tube. Once again, the magnetic structure effects the final state within the tube but not in the environment far from the slab. It was not as clear that the internal structure would be unaffected by repeated passes of shocks and rarefactions of equal amplitudes. A finer grid and more CPU time would be required to make a definite conclusion. The conclusions which can be drawn from the last simulation are discussed in the next section. 94 5.2 Discussion of Acoustic Absorption by Sunspots The recent observation of absorption of high-degree p-mode solar wave energy by sunspots (Braun et al, 1987) can be considered in light of the numerical results of section 4.3. The simulated problem can be interpreted as a simplified simulation of the interaction between solar p-mode acoustic waves and the sun spot boundary. From this simple approach, I should be able to address several questions. First, is the resonant absorption of wave energy of a sufficient magnitude to explain the observed results? If not, does a sufficient fraction of the incident wave energy pass through the interface into the sun spot interior where other mechanism could absorb or redirect the energy? Lastly, is the two dimensional magnetic structure of the sun spot simulation sufficient to explain the observed absorption or is three dimensional structure required? First I must show that the dimensionless parameters chosen are appropriate for the physical problem. I used the following for the values of the sun spot (Allen,1973): Rs=15Mm radius of sunspot B=2750 gauss magnetic field P=8 x104 dyn/cm2 gas pressure c=8 km/sec . speed of sound The units were chosen to be consistent with those used by Braun et al. The choices for Rs, P, and c yielded the following scaling factors (see section 1.5): M=2 x 10'7 grams/cm3 density scale factor L=0.1 Mm length scale factor T=12.5 sec time scale factor Using these scaling values and the parameters used in the simulation, I get the following for the physical parameters: parameter scaled physical 7. 25 2.5 Mm Tmax 200 2500 sec (0 0.25 0.02 rad/sec B 7.5 2730 gauss 6 interface thickness 2 0.2 Mm p 1 2 x 10-7 g/cm3 These values are consistent with the sun spot values and the frequencies used by Braun et al. Note that for the radius and length scaling factor used, the plane 95 interface should have been an arc of about 10°. An additional simplification is the uniform temperature. The above scaling factors give a physical temperature of about 5500K while the actual temperature varies from 4240K on the interior of the sunspot to 6050K in the surrounding photosphere. Addressing the first question above, I can consider the energy absorption by the resonant layer in the interface. Braun et al observed up to 50% absorption. Since the amount of energy absorbed for a simulation at any angle never exceeded 5% and was ~0% for angles less than 25°, 1 can conclude that the resonant absorption can not be the primary mechanism for the observed energy absorption. To answer the second question, consider the following figure. Incident wave transmitted 122831119 = «sinee C Figure 5.1: Wave incident on circular sunspot. The critical angle, 6c, is the angle at which the majority of the wave energy is reflected. If 9c=(25°:l;4°) is used as the results of the simulation suggest, the fraction, f, of the incident energy which passes into the interior is (4215)%. This result is consistent with observation if a mechanism can be found inside the sunspot which can absorb nearly all of the acoustic energy which enters. Lastly, can any two dimensional magnetic structure account for the observed absorption? The most promising model for such a sunspot consists of a large number of narrow flux tubes. Incident acoustic waves would be partially transmitted and partially reflected repeatedly as they pass through this bundle of tubes. Since the results of the simulations (and observations) suggest that the absorption rate is largely independent of scaling effects, the results of the simulations may be applicable to each of these tubes. Using 60:25° and an absorption rate of 3% for the reflected part of the wave, one gets an average absorption of 1-2% for each tube 96 interaction. The observed absorption would require an average of 40-50 interactions. This value is not completely unreasonable. Since the critical region occurs where the magnetic field is relatively large, the magnetic field need not vanish between the narrow flux tubes. Three dimensional structures are even more promising since all is required is a mechanism for deflecting the energy downward. In summary, 1 would conclude that the simulation shows that resonant absorption by a single two dimensional magnetic structure cannot account for the observed absorption. However, the numerical results are consistent with a mechanism inside the sunspot which absorbs or deflects the energy downward. Moreover, the results are consistent with absorption by a two dimension fine magnetic structure in which the magnetic field varies about a relatively large value. 97 5.3 Future Problems There are a very large number of interesting problems which can be simulated by this program, by its three dimensional sibling, and by programs using similar algorithms written for different geometries. Most of these require more computing power than I currently have available; however, some of them do not require a supercomputer. The current program should be used to simulate the normal incidence of non-linear waves on flux tubes with a much finer grid than was used here. This should resolve the question whether a source of small shocks and rarefactions can concentrate the field in a tube. The interaction of acoustic waves and sunspots could be further studied using the same circular flux tube. My experiences in section 4.3 suggest that a grid at least 10 times as fine as that used in section 4.2 would be required to study the absorption zone. The two dimensional code could also be used to study surface waves and solitons along flux slabs. I was able to take a preliminary look at these problems using the Vax but a detailed analysis required more grid points and CPU time than was practical. A completely three dimensional Cartesian program would allow for the study of flux tube models of sunspots. By placing the z direction along the symmetry axis of the tube, gravity could be included. This would allow for the modeling of tapering flux tubes, sausage and kink mode tube waves, and a large number of similar problems. Even using a supercomputer, however, the total number of grid points would have to be kept fairly small. Thus problems such as the oblique incidence of acoustic waves on flux tubes could not be done with the resolution necessary to study small resonance zones. Perhaps the greatest promise for simulating these flux tube problems lies in rewriting the program in cylindrical coordinates. Small cells could be used in the interface while larger cells could be used on both the inside and outside. The two dimensional program could be used to simulate normal incidence. This problem may be within the grasp of the Vax and will probably be the next problem I consider unless a larger computer becomes available. A three dimensional program would put the modeling of oblique incidence of acoustic waves on flux tubes within the grasp of supercomputers. Simulations of non-symmetric tube waves would also be 98 possible. A two or three dimensional spherical algorithm would be possible using methods similar to those used in my current program. I have no plans at present to attempt this since no currently accessible astrophysical problems lend themselves to this symmetry. When sufficient computing power becomes available it may be possible to model proto-stellar collapse including magnetic fields. A Poisson solving algorithm would be required to handle the self-gravity. I include this aside because it was interest in this problem which originally started me down this line of research. 99 Appendix A Glossary of Symbols B— magnetic flux density c— speed of light D— electric flux density E— electric field F— total force f— body force per unit volume g— gravitational field H— magnetic field J— current density P— pressure R— array containing all eight fluid variables q— electric charge t— time v— fluid velocity oc—ratio of densities B—ratio of gas pressure to magnetic pressure y—ratio of specific heats e—permitivity C—viscosity n— magnetic diffusivity u—permeability p— mass density 96'— charge density o— electric conductivity t—viscous stress tensor 101 Appendix B Summary of Equations In chapter 2, l have developed the following equations which describe the time evolution of a magnetohydrodynamic fluid. The variables are defined in the laboratory frame, are dimensionless, and have the stratification divided out. Each equation is written below in vector form and summation form. The equations are presented in complete detail on the pages 104-105. 1. The continuity equation g—p+V- -=pv 0 (1.8) becomes _23 -21: +-V -pv H with the addition of stratification. In summation form 1_p _a_ -va at ax,pj= H 2. The momentum equations Bl2 a (B-V)B _ v .. = _— atp +v. [pVV+(P+IB 2110 l); ;] pg+ “a (1.14) becomes 2 a 181 (____B' V)B vaz _ v . vv — _— atp +V[p +0” 211,.)1 3h!“ u, H In summation form a a 51.5., a B +PV1Vz — v.+— v-v. P+ 8---t-- : - B atP 1 axj[P 1 J{ 2P6] 1) 1)] 991{ kaT k]p—:-+ H 3. The internal energy equations a by 513‘31V[‘-'(Pe+P)]=v-Mr~1VT11‘fija—v1j11mlvxBl2 (1.170) becomes "1' 11v): BIZ fl—ze" a 'ane+V'[' (pe+P)]= --1-VVP+VkTVT+Tij:-;j+ H 102 In summation form a a 3P 6 _3_T —pe+—lv,-256)then begin writeln(’n larger than 256, using n=256'): n:=256 end:{if n>256} writeln('reading data from file'); getxy: page(output): HideCursor: setWTitle(theWindow,'Density vs 2'): graph(z,rho,n,tickflag,pointflag); moveto(0,0): page(output): setWTitle(theWindow,'Vx vs 2'); graph(z,vx,n,tickflag,pointflag); moveto(0,0): page(output): setWTitle(theWindow,'Vz vs 2'): graph(z,vz,n,tickflag,pointflag): moveto(0,0): page(output): setWTitle(theWindow,'Temperature vs 2'); graph(z,t,n,tickflag,pointflag); moveto(0,0): page(output): setWTitle(theWindow,'Bx vs 2'); graph(z,bx,n,tickflag,pointflag); moveto(0,0): page(output): setWTitle(theWindow,'Bz vs 2'); graph(z,bz,n,tickflag,pointflag): moveto(0,0): end:{if not quit} until quit: close(thefile): openFile: end:{while not done} end.{main} 120 D.2 Contour PROGRAM Contour: {This program produces contour plots on the Macintosh using encoded data send by subroutine MAKCON (in FORTRAN) from the mainframe. full Macintosh interfacel} CONST {menu stuff} AppleID = 1000: FileID = 1001: EditID = 1002: nextID = 1003: VAR done, doneWithFile, next : Boolean; theEvt : eventRecord: wRecord : windowRecord: myWindow, TheWindow : windothr; WindowRect, blankRect : Rect: appleMenu, fileMenu, editMenu, nextMenu : MenuHandle; thefile : text: PROCEDURE ProcessMenu_in (CodeWOrd : longint); forward: PROCEDURE plot: CONST hmin vmin space = 0: skip = 65: nextcol = 66: quit = 67: VAR c, t : char: d, h, i, ni, ii : integer: thru : boolean: plotrect : rect: 5: 4 o I BEGIN thru := false: moveto(hmin, vmin); h := hmin: REPEAT BEGIN WHILE ((NOT thru) AND (NOT eoln(theFile))) BEGIN read(theFile, c); d := ord(c) — 40: CASE d OF space : skip : move(0, 64); nextcol - BEGIN h := h + l: moveto(h, vmin) END;{nextcol} quit . BEGIN moveto(300, 10); 121 It supports the ni := l: readln(theFile): FOR ii := 1 TO 4 DO BEGIN WHILE ((NOT eoln(theFile)) AND (ni < 35)) DO BEGIN read(theFile, t): DrawChar(t): ni := ni + 1 END;{while} ni := 1: readln(theFile): moveto(300, 10 + 12 * ii): END:{for} thru := true: END: OTHERWISE BEGIN {all valid moves} move(0, d): 1ine(0, 0): END;{otherwise} END;{case d} END;{while not eoln} readln(thefile): END:{until} UNTIL (thru): SetRect(plotRect, hmin - 3, vmin - 3, h + 3, vmin + 293); FrameRect(plotRect): END:{plot} PROCEDURE miniloop: VAR WindowPointedTo : Windothr: MouseLoc : Point: WindoLoc : integer: BEGIN HiliteMenu(0); REPEAT IF GetNextEvent(everyEvent, theEvt) THEN CASE theEvt.what OF mousedown : BEGIN MouseLoc := theEvt.Where; WindoLoc := FindWindow(MouseLoc, WindowPointedTo): CASE WindoLoc OF inMenuBar : ProcessMenu;in(MenuSelect(MouseLoc)); inSysWindow : SystemClick(theEvt, WindowPointedTo): OTHERWISE END;{case theEvt.what} END:{mousedown} mouseup : updateEvt, activateEvt : OTHERWISE I 122 END:{case what event} {and of then} UNTIL done OR doneWithFile OR next: END:{miniloop} PROCEDURE findnext: VAR one : char: BEGIN REPEAT IF eof(theFile) THEN DoneWithFile := true ELSE readln(theFile, one); UNTIL (one = '~') OR DoneWithFile END:{findnext} PROCEDURE openplot: VAR reply : SFreply: typeList : SFTypeList: where : point: BEGIN EnableItem(nextMenu, O); DisableItem(fileMenu, 3): EnableItem 0 THEN BEGIN {go ahead and process the command} Menu_No HiWord(CodeWord): {get the Hi word of...} Item;no : LoWord(CodeWord): {get the L0 word of...} 124 CASE Menu_No OF AppleID : BEGIN GetItem(GetMHandle(AppleID), Item;No, NameHolder); DNA := OpenDeskAcc(NameHolder); END; FileID : BEGIN CASE Item_No OF 1 : BEGIN Done := True: {quit} doneWithFile := true: END:{quit} { 2: ------- } 3 : openplot: doneWithFile := true; {close} END: END: EditID : BEGIN IF NOT SystemEdit(Item_no — 1) THEN {if not for a desk accessory} CASE Item4No OF 1 : BEGIN END; {undo} { 2: line divider} 3 : BEGIN END; {cut} 4 : BEGI END; {copy} 5 : BEGIN END; {paste} 6 : BEGIN END; {clear} END; END: NextID : next := true: END: HiliteMenu(O): {unhilite after processing menu} END: END; {of ProcessMenu_in procedure} PROCEDURE initThings: BEGIN{initThings} setupmenus: END:{initThings} PROCEDURE loop: VAR 125 WindowPointedTo : Windothr: MouseLoc : Point: WindoLoc : integer: BEGIN REPEAT IF GetNextEvent(everyEvent, theEvt) THEN CASE theEvt.what OF mousedown : BEGIN MouseLoc := theEvt.Where: WindoLoc := FindWindow(MouseLoc, WindowPointedTo); CASE WindoLoc OF inContent IF WindowPointedTo <> FrontWindow THEN SelectWindow(WindowPointedTo); inDrag : inGrow : inGkoay : done := TrackGkoay(WindowPointedTo, MouseLoc); inMenuBar ProcessMenu_in(MenuSelect(MouseLoc)); inSysWindow : SystemClick(theEvt, WindowPointedTo); OTHERWISE END:{case theEvt.what} END:{mousedown} mouseup updateEvt, activateEvt OTHERWISE END:{case what event} {and of then} UNTIL done: END:{loop} BEGIN{main program} Setup: initThings: done := false: loop: END.{Main program} END. 126 D.3 Three-D PROGRAM ThreeD: {This program produces a projection of a three dimensional graph from data encoded and sent by subroutine Threed (in FORTRAN) from the Mainframe It supports the full Macintosh Interface and shares much of its Macintosh skeleton with contour.pas} CONST {menu stuff} AppleID = 1000: FileID = 1001: EditID = 1002: nextID = 1003: VAR done, doneWithFile, next : Boolean: theEvt : eventRecord: wRecord : windowRecord: myWindow, TheWindow : windothr; WindowRect, blankRect : Rect: appleMenu, fileMenu, editMenu, nextMenu : MenuHandle; pen : penState: thefile : text: PROCEDURE ProcessMenu_in (CodeWord : longint); forward; PROCEDURE plot: CONST numlines = 16: dhdi = 16: dhdj = 0; dhdk = —16: dvdi = 2: dvdj = -2: dvdk = 12; h0 = 256: v0 = 128: VAR d : char: nx, nz, i, j, k : integer: x, 2, h, v : integer: dxdi, dzdk : integer: f : ARRAY[0..63, 0..63] OF integer; BEGIN readln(theFile, nx, nz); FOR x := 0 TO nx - 1 DO BEGIN FOR 2 := 0 TO nz - 1 DO BEGIN read(theFile, d); flx, z} := ord(d) - 40; END:{for z} readln(thefile); END:{for x} dxdi := nx DIV numlines: dzdk := nz DIV numlines; FOR 1 := 0 TO numlines — 1 DO BEGIN x := i * dxdi; 127 h := hO + dhdi * i + v = v0 + dvdi * i + moveto (h, v) ; FOR 2 = 1 TO nz — 1 BEGIN h °= hO + dhdi v := v0 + dvdi lineto(h, v); END:{for z} END:{for 1} FOR k := 0 TO numlines — 1 BEGIN z = k * dzdk; h = hO + dhdk * k + v °= v0 + dvdk * k + moveto(h, v); FOR x °= 1 TO nx - 1 BEGIN h '= hO + dhdk v = v0 + dvdk lineto(h, v): END:{for x} END:{for k} h := hO: v := v0: moveto(h, v): getPenState(pen): 2: := 2; setPenState(pen): 64 pen.anize.v : pen.pnsize.h line(64 * dhdj, moveto(h, v): line(l? * dhdi, moveto(h, v): line(17 * dhdk, l7 pen.anize.v := 1: pen.pnsize.h := 1: setPenState(pen): END:{Plot} PROCEDURE miniloop: VAR WindowPointedTo MouseLoc : Point: WindoLoc : integer: BEGIN HiliteMenu(O): REPEAT * dvdj); * dvdi); dhdj * f[x, 0]; dvdj * f[x, 0]: DO (2 * dhdk) DIV dzdk + dhdj * f[x, z]: * i + * i + (z * dvdk) DIV dzdk + dvdj * f[x, 2]: DO dhdj * f[0, z]; dvdj * f[O, 2]: DO (x * dhdi) DIV dxdi + dhdj * f[x, z]; * k + * k + (x * dvdi) DIV dxdi + dvdj * f[x, z]: {y axis} {x axis} 17 * dvdk):{z axis} : Windothr: IF GetNextEvent(everyEvent, theEvt) THEN CASE theEvt.what OF mousedown : BEGIN MouseLoc : WindoLoc : theEvt.Where: FindWindow(MouseLoc, WindowPointedTo); CASE WindoLoc OF inMenuBar : ProcessMenu_in(MenuSelect(MouseLoc)); inSysWindow : SystemClick(theEvt, WindowPointedTo): 128 OTHERWISE END:{case theEvt.what} END:{mousedown} mouseup : updateEvt, activateEvt : OTHERWISE END:{case what event} {and of then} UNTIL done OR doneWithFile OR next: END:{miniloop} PROCEDURE findnext (VAR t : char); VAR one : char: ni : integer: Qstring : str255: BEGIN Qstring := 'Type s to skip, to plot'; REPEAT IF eof(theFile) THEN DoneWithFile := true ELSE readln(theFile, one); UNTIL (one = '~') OR DoneWithFile; moveto(lOO, 10): hi := 1: IF (NOT donewithfile) THEN BEGIN WHILE ((NOT eoln(theFile)) AND (ni < 72)) DO BEGIN read(theFile, t); DrawChar(t): ni := ni + 1 END:{while} ni := 1: readln(theFile); moveto(lOO, 30): drawstring(qstring); read(t); END:{if} eraseRect(blankrect); END:{findnext} PROCEDURE openplot: VAR reply : SFreply: typeList : SFTypeList: where : point: t : char: BEGIN EnableItem(nextMEnu, 0): DisableItem(fileMenu, 3); EnableItem(fileMenu, 4): enableItem(NextMenu, 1): DrawMenuBar: 129 initCursor: where.h := 80: where.v := 100: typeList[0] := 'TEXT'; SFGetFile(where, ", NIL, 1, TypeList, NIL, reply); IF reply.good THEN BEGIN doneWithFile := false: open(theFile, reply.fName): findNext(t); WHILE NOT doneWithFile DO BEGIN CASE t OF 's' : OTHERWISE BEGIN plot: next := false: miniloop: eraseRect(blankrect); END;{Otherwise} END:{case} IF NOT doneWithFile THEN findNext(t); END:{while} close(theFile); END:{then and if} DisableItem(nextMenu, 0): DisableItem(fileMenu, 4): EnableItem(fileMenu, 3): DrawMenuBar: DrawMenuBar: END:{openplot} PROCEDURE Setup: BEGIN Initgraf(@thePort); Initfonts: FlushEvents(everyEvent, 0); SetEventMask(everyEvent): InitCursor: InitWindows: SetRect(WindowRect, l, 20, 512, 350); setRect(blankRect, 0, 0, 511, 340); myWindow := NewWindow(@wRecord, WindowRect, 'Contour Plot', pointer(—1), false, 0): ShowWindow(myWindow); SetPort(myWindow); myWindow*.thize := 10: SelectWindow(myWindow); END:{Setup} PROCEDURE SetupMenus: VAR MenuTopic : MenuHandle: apple : Char: BEGIN apple := '@': 130 false, 4, apple := chr(AppleMark); appleMenu := NewMenu(AppleID, apple): {get the apple desk accessories menu} AddResMenu(appleMenu, 'DRVR'); {adds all names into item list} InsertMenu(appleMenu, 0): {put in list held by menu manager} fileMenu := NewMenu(FileID, 'File'); {always need this for Quiting} AppendMenu(FileMenu, 'Quit/Q'): AppendMenu(fileMenu, '(-'): AppendMenu(fileMenu, 'Open.../O:(Close '): InsertMenu(fileMenu, 0): editMenu := NewMenu(EditID, 'Edit'); {always need for editing Desk Accessories} AppendMenu(EditMenu, 'UndO/z'); Appendmenu(editMenu, '(-'); appendMenu 0 THEN BEGIN {go ahead and process the command} Menu_NO := HiWOrd(COdeWord): {get the Hi word of...} Item_no := LoWord(CodeWord): {get the Lo word of...} CASE Menu;No OF AppleID : BEGIN GetItem(GetMHandle(AppleID), Item_No, NameHolder); DNA := OpenDeskAcc(NameHolder); END, FileID : BEGIN CASE Item;No OF 1 : BEGIN Done := True: {quit} doneWithFile := true: END:{quit} 1 2: -——----1 3 : openplot: 4 : doneWithFile := true; {close} END: END: EditID : 131 BEGIN IF NOT SystemEdit(Item_no - 1) THEN {if not for a desk accessory} CASE Item_No OF 1 : BEGIN END; {undo} { 2: line divider} 3 : BEGI END; {cut} 4 : BEGI 5 END: {copy} BEGIN END; {paste} 6 : BEGIN END; {clear} END: END: NextID : next := true: END: HiliteMenu(O): {unhilite after processing menu} END: END; {of ProcessMenu_in procedure} PROCEDURE initThings: BEGIN{initThings} setupmenus: END:{initThings} PROCEDURE loop: VAR WindowPointedTo : Windothr: MouseLoc : Point: WindoLoc : integer: BEGIN REPEAT IF GetNextEvent(everyEvent, theEvt) THEN CASE theEvt.what OF mousedown : BEGIN MouseLoc := theEvt.Where: WindoLoc := FindWindow(MouseLoc, WindowPointedTo): CASE WindoLoc OF inContent IF WindowPointedTo <> FrontWindow THEN SelectWindow(WindowPointedTo); inDrag : inGrow : iMmey: done := TrackGOAway(WindowPointedTo, MouseLoc): inMenuBar : ProcessMenu_in(MenuSelect(MouseLoc)); 132 inSysWindow : SystemClick(theEvt, WindowPointedTo): OTHERWISE END:{case theEvt.what} END;{mousedown} mouseup : updateEvt, activateEvt OTHERWISE END:{case what event} {and of then} UNTIL done: END;{loop} BEGIN{main program} Setup: initThings: done := false: loop: END.{Main program} END. 133 D.4 FFT * THESE ROUTINES ARE THE PAST FOURIER TRANSFORM ROUTINES * BASED ON PRESS ET AL SUBROUTINE FOUR1(DATA,NN,ISIGN) * THIS SUBROUTINE IS FROM PRESS ET AL DOUBLE PRECISION WR,WI,WPR,WPI,WTEMP,THETA REAL DATA(2*NN) N=2*NN J=1 DO 11 I=1,N,2 IF(J.GT.I)THEN TEMPR=DATA(J) TEMPI=DATA(J+1) DATA (J) =DATA (I) DATA(J+1)=DATA(I+1) DATA(I)=TEMPR DATA(I+1)=TEMPI ENDIF M=N/ 2 1 IF((M.GE.2).AND.(J.GT.M)) THEN J=J€M M=M/ 2 GOTO 1 ENDIF J=J+M 11 CONTINUE MMAX=2 2 IF(N.GT.MMAX) THEN ISTEP=2*MMAX THETA=6.28318530717959D0/(ISIGN*MMAX) WPR=-2.DO*DSIN(0.5D0*THETA)**2 WPI=DSIN(THETA) WR=1.D0 WI=0.D0 DO 13 M=1,MMAX,2 DO 12 I=M,N,ISTEP J=I+MMAX TEMPR=SNGL(WR)*DATA(J)-SNGL(WI)*DATA(J+1) TEMPI=SNGL(WR)*DATA(J+1)+SNGL(WI)*DATA(J) DATA(J)=DATA(I)-TEMPR DATA(J+1)=DATA(I+1)-TEMPI DATA (I) =DATA (I) +TEMPR DATA(I+1)=DATA(I+1)+TEMPI 12 CONTINUE WTEMP=WR WR=WR*WPR-WI*WPI+WR WI= WI*WPR+WTEMP*WPI+WI 13 CONTINUE MMAX=ISTEP GOTO 2 ENDIF RETURN END SUBROUTINE TWOFFT(DATA1,DATA2,FFT1,FFT2,N) * THIS ROUTINE WAS ADAPTED FROM PRESS ET AL * MODIFIED T.ESPINOLA REAL DATA1(N),DATA2(N) COMPLEX FFT1(N+1),FFT2(N+1),H1,H2,C1,C2 134 11 12 * THE 11 12 10 Cl=(0.5,0.0) C2=(0.0,-0.5) DO 11 J=1,N FFT1(J)=CMPLX(DATA1(J),DATA2(J)) CONTINUE CALL FOUR1(FFT1,N,1) FFT1(N+1)=FFT1 (l) N2=N+2 DO 12 J=1,N/2+1 H1=Cl*(FFT1(J)+CONJG(FFT1(N2-J))) H2=C2*(FFT1(J)—CONJG(FFT1(N2-J))) FFT1(J)=H1 FFT1(N2-J)=CONJG(H1) FFT2 (J) =H2 FFT2(N2-J)=CONJG(H2) CONTINUE RETURN END REMAINING ROUTINES ARE BY T. ESPINOLA SUBROUTINE FFTR(DATA1,DATA2,FFT1,N) REAL DATA1(N),DATA2 (N) COMPLEX FFT1(N+1) , H1, H2, C1, C2 C1=(0.5,0.0) C2=(0.0,-0.5) DO 11 J=1,N FFT1(J)=CMPLX(DATA1(J),DATA2(J)) CONTINUE CALL FOUR1(FFT1,N,l) FFT1(N+1)=FFT1(1) N2=N+2 DO 12 J=1,N/2+1 H1=C1*(FFT1(J)+CONJG(FFT1(N2—J))) H2=C2* (FFTl (J) -CONJG(FFT1 (NZ-J) ) ) FFT1(J)=H1 FFTl (NZ-J) =H2 CONTINUE RETURN END SUBROUTINE FFTIZ (DATAl , DATA2 , WORK, N) COMPLEX DATAl (N/Z) , DATA2 (N/2) ,WORK(N+1) , I I=(0.0,1.0) =N/2 N2=N+2 DO 10 J:2,NN WORK (J) =DATA1 (J) +DATA2 (J) *I WORK (NZ-J) =CONJG (DATAl (J) )+I*CONJG (DATA2 (J) ) CONTINUE WORK(1)=CMPLX(REAL(DATA1(1) ) ,REAL(DATA2 (1) ) ) WORK (NN+1) =CMPLX (AIMAG (DATA1 (1) ),AIMAG(DATA2(1) ) ) CALL FOURl(WORK,N,-1) RETURN END SUBROUT INE FFTI (DATAl , DATA2 , WORK, N) REAL DATAl (N) , DATA2 (N) COMPLEX WORK (N+1) CALL FFTI2(DATA1, DATA2 , WORK, N) DO 10 J=1, N 135 fi-X-fi-fl-l-fi-Jl' DATAl (J) =REAL (WORK (J) ) /N DATA2 (J) =AIMAG (WORK (J) ) /N 10 CONTINUE RETURN END SUBROUTINE FFT2 (DATAl , DATA2 , WORK, N, IS IGN ) THIS IS THE ROUTINE DIRECTLY CALLED BY GMHD DATAl AND DATA2 ARE THE TWO ARRAYS TO BE TRANSFORMED THE TRANSFORMATION IS STORED IN PLACE WORK IS WORK SPACE AND MUST BE DIMENSIONED AT LEAST 4* (N+1) N IS THE SIZE OF THE ARRAY AND MUST BE A POWER OF 2 ISIGN DETERMINES WHETHER IT IS A THE TRANSFORM OR AN INVERSE TRANSFORM ISIGN =1 FOR TRANSFORM ISGN=-1 FOR INVERSE TRANSFORM REAL DATAl (N) ,DATA2 (N) ,WORK (2*N-i-2, 2) IF (ISIGN.EQ.1)THEN CALL TWOFFT (DATA1,DATA2,WORK(1, 1) ,WORK(1,2) ,N) DO 10 I=1,N DATA1(I)=WORK(I, 1) DATA2 (I)=WORK(I, 2) 10 CONTINUE DATA1 (2) =WORK (N+1, 1) DATA2 (2) =WORK (N+1, 2) ELSE CALL FFTI (DATAl , DATA2 , WORK, N) ENDIF RETURN END 136 D.5 Makcon *li-ilrllrll- I» * SUBROUTINE MakCon(F,Z,NX,NZ,NUMLIN,TITLE) THESE ROUTINES MAKE A CONTOUR PLOT OF THE ARRAY F THE CELLS ARE EVENLY SPACED IN THE X DIRECTION WHILE THE ARRAY Z CONTAINS THE Z POSITION OF THE GRID POINTS THE PLOTTING INFORMATION IS ENCODED AS CHARACTERS TO BE DOWNLOADED TO THE MAC IMPLICIT NONE PASSED VARIABLES INTEGER NX,NZ,NUMLIN REAL F(NX,NZ),Z(NX,NZ) CHARACTER*20 TITLE LOCAL VARIABLES INTEGER NY, NH, NAX, MAXA, NHMAX, I, J, NYY,MA.XAA PARAMETER(NY=292,MAXA=1024,NHMAX=292) REAL A(NY,0:33),FMIN,FMAX,ZMIN,ZMAX,DF,DZ INTEGER FIRST(NY),LAST(NY) COMMON /CONZZL/ NH, NYY, MAXAA, Dz, FMIN, ZMIN, DF IF(NX.LT.8)THEN PRINT *,‘NX MUST >= 8' RETURN ENDIF NYY=NY MAXAA=MAXA CALL FINDRA(F,NX,NZ,FMIN,FMAX) CALL FINDRA(Z,NX,NZ,ZMIN,ZMAX) IF(FMIN.EQ.FMAX.OR.ZMIN.EQ.ZMAX)THEN PRINT*,'Error in array passed to countour.‘ PRINT*,'Function or 2 has no variation.’ ELSE PRINT *,CHAR(126),' Start of plot. ',TITLE DF=REAL (MAXA) / {FMAX-FMIN) DZ=(ZMAX-ZMIN)/NY J:1 CALL GETCOL(FIRST,F,Z,NX,NZ,J) NAX=NHMAX/NX NH=1+(NX-1)*NAX DO 10 J=2,NX CALL GETCOL(LAST,F,Z,NX,NZ,J) CALL FILCOL(A,FIRST,LAST,NAX,NUMLIN) CALL OUTA(A,NAX) DO 20 I=1,NY FIRST(I)=LAST (I) 20 CONTINUE 10 CONTINUE ENDIF PRINT *,CHAR(107),'End Of plot.’ PRINT 1000,FMIN,FMAX,(fmax-fmin)/numlin 1000 FORMaT(1X,'Min = ',f9.4,/,1x,'max= ',f9.4,/,1x,'contours= ',f9.5) RETURN END SUBROUTINE GETCOL(COL,F,Z,NX,NZ,J) IMPLICIT NONE GLOBAL VARIABLES INTEGER NH,NY,MAXA REAL DZ,FMIN,ZMIN,DF 137 COMMON /CONZZL/NH,NY,MAXA,DZ,FMIN,ZMIN,DF * PASSED VARIABLES INTEGER NX,NZ,J REAL F(NX,NZ),Z(NX,NZ) INTEGER COL(NY) * LOCAL VARIABLES INTEGER K,L,KO,KK,K1 REAL DELTA,F0 * BEGIN GETCOL K=1 L=1 * WHILE 1 IF(Z(J,L).GT.(ZMIN+K*DZ))THEN COL(K)=-MAXA K=K+1 GOTOl ENDIF K1=K L=L+1 3 IF (L.LT.NZ)THEN KO=K DELTA=DZ*(F(J,L+l)-F(J,L))/(Z(J,L+1)-Z(J,L)) F0=F(J,L)-FMIN 2 IF(Z(J,L).GT.(ZMIN+K*DZ))THEN COL(K)=(F0+(K-KO)*DELTA)*DF K=K+1 GOTO 2 ENDIF =L+1 GOTO 3 ENDIF COL(K)=(F(J,NZ)-FMIN)*DF DO 10 KK=K+1,NY COL(KK)=-MAXA 10 CONTINUE RETURN END SUBROUTINE FILCOL(A,FIRST,LAST,NAX,NUMLIN) IMPLICIT NONE * GLOBAL VARIABLES INTEGER NH,NY,MAXA REAL DZ,FMIN,ZMIN,DF COMMON /CONZZL/NH,NY,MAXA,DZ,FMIN,ZMIN,DF * PASSED VARIABLES INTEGER A(NY, 0 : 33) ,FIRST (NY) ,LAST (NY) ,NAX,NUMLIN * LOCAL VARIABLES INTEGER I,K REAL DELTA,DC * BEGIN FILCOL DO 10 K=1,NY A(K,0)=FIRST(K) A(K,NAX)=LAST(K) DELTA=REAL(LAST(K)-FIRST(K))/NAX Do 20 I= l,NAX-l A(K,I)=FIRST(K)+DELTA*I 20 CONTINUE 10 CONTINUE DC=REAL(NUMLIN)/REAL(MAXA)*.5 138 DO 30 I=0,NAX DO 30 K=1,NY A(K,I)=(A(K,I)+ABS(A(K,I)))*DC 30 CONTINUE RETURN END SUBROUTINE OUTA(A,NAX) IMPLICIT NONE * GLOBAL VARIABLES INTEGER NH,NY,MAXA REAL DZ,FMIN,ZMIN,DF COMMON /CONZZL/NH,NY,MAXA,DZ,FMIN,ZMIN,DF * PASSED VARIABLES INTEGER.A(NY,0:33),NAX * LOCAL VARIABLES INTEGER NUMOUT,COUNT,K,I CHARACTER*1 OUTIT(5000) * BEGIN OUTA NUMOUT=1 DO 10 I=0,NAX-l OUTIT(NUMOUT)=CHAR(106) NUMOUT=NUMOUT+1 K=1 l IF(K.LT.NY)THEN COUNT=1 2 IF((COUNT.LE.64).AND.(K.LT.NY))THEN IF( ( (A(K,I).EQ.A(K,I+1)) .OR. (A(K,I)*A(K,I+1).EQ.O)) $.AND. ((A(K,I).EQ.A(K+1,I)).OR.(A(K,I)*A(K+1,I).EQ.O)))THEN COUNT=COUNT+1 ELSE OUTIT(NUMOUT)=CHAR(40+COUNT) NUMOUT=NUMOUT+1 COUNT=1 ENDIF K=K+1 GOTO 2 ENDIF IF(COUNT.GE.65)THEN OUTIT(NUMOUT)=CHAR(40+COUNT) NUMOUT=NUMOUT+1 ENDIF GOTO 1 ENDIF 10 CONTINUE WRITE(*,1000)(OUTIT(I),I=1,NUMOUT-1) 1000 FORMAT(1X,80A1) RETURN END SUBROUTINE FINDRA(F,NX,NZ,EMIN,FMAX) * PASSED VARIABLES INTEGER NX,NZ REAL F(NX,NZ),FMIN,FMAX * LOCAL VARIABLES INTEGER J,K * BEGIN FINDRA FMIN=F(1,1) FMAX=F(1,1) 139 10 DO 10 J=1,NX DO 10 K=1,NZ FMIN=AMIN1(FMIN, F (J, K) ) FMAX=AMAX1(FMAX, F (J, K) ) CONTINUE RETURN END 140 D.6 Make3D *ii-ifil- SUBROUTINE THREED(F,NX,NZ,TITLE) THESE ROUTINES PRODUCE A 3D PROJECTION GRAPH OF THE DATA IN ARRAY F IT DOES NOT ACCOUNT FOR THE Z POSITION OF THE GRID POINTS BUT PLOTS THEM EQUALLY SPACED. THE PLOTTING INFORMATION IS ENCODED AS CHARACTERS FOR DOWNLOADING TO THE MAC. THIS IS A BETA IMPLICIT NONE PASSED VARIABLES INTEGER NX,NZ REAL F(-1:NX,0:NZ-l) CHARACTER*40 TITLE LOCAL VARIABLES 2000 20 10 1000 100 REAL MAX,MIN,DF,DX,DZ,D,X,Z INTEGER J,K,I,NH,NV,NL,KK CHARACTER*1 A(0:63,0:63) MAX=F(0,0) MIN=F(0,0) DO 5 J=0,NX-l DO 5 K=0,NZ-1 MIN=AMIN1(MIN,F(J,K)) MAX=AMAX1 (MAX,F (J, K) ) CONTINUE IF(MAX.EQ.MIN)THEN PRINT *,‘NO VARIATION IN PLOT ’,TITLE RETURN ENDIF DF=64/(MAX-MIN) PRINT *,'~' WRITE( *,2000)TITLE(1:30),MAX,MIN FORMAT(1X,A30,' MAX=',F10.4,' MIN=',F10.4) NH=64 NV=64 DX=FLOAT(NX-l)/(NH-l) DZ=FLOAT(NZ-l)/(NV-l) DO 10 K=O,NV-1 Z=K*DZ KK=Z DO 20 J=0,NH-1 X=J*DX I=X D=F(I,KK)+(F(I+1,KK)-F(I,KK))*(X-I)+ $ {F(I,KK+1)-F(I,KK))*(Z-IG<) A(J,K)=CHAR(IFIX((D-MIN)*DF+40)) CONTINUE CONTINUE PRINT *,NH,NV DO 100 K=0,NV-l WRITE(*,1000)(A(J,K),J=0,NH-1) FORMAT(1X,80A1) CONTINUE END 141 Appendix E The Program The main program and its included subroutines and functions are given below. I have included the Nassi-Shneidarman diagrams, where appropriate to illustrate their structure. Main Program Call lnit T-O count-0 While T L=',I4) WRITE(6,3000)'J','Z','DENSITY','VX','VY','VZ','TEMP', $ 'BY','BZ' 3000 FORMAT(1X,A2,1X,9(A8,1X)) DO 30 J:XLO,XHI WRITE(6,4000)J,Z (J,L) ,D(J,L) ,VX(J,L) ,VY(J,L) , $ VZlJ,L),E(J,L).BY(J,L),BZ(J.L) 4000 FORMAT(1X,I3,1X,F8.4,1X,9(F8.4,1X)) 30 CONTINUE 20 CONTINUE ENDIF 157 00000000 1 2 4O 41 42 43 999 IF ((PFLAG.GE.3..AND.PFLAG.LT.5.).OR.(PFLAG.EQ.9))THEN GOTO (1,2)FLAG3D TITLE='DENSITY' CALL MAKCON(D,Z,NX,NL,10,TITLE) PRINT *,‘DENSITY AT T= ',T PRINT*,' ' TITLE='VX' CALL MAKCON(VX,Z,NX,NL,10,TITLE) PRINT *,‘PLOT OF VX AT T= ',T PRINT*,' ' TITLE='VZ' CALL MAKCON(VZ,Z,NX,NL,10,TITLE) PRINT *,‘VZ AT T= ',T PRINT*,' ' PRINT *,‘3D PLOTS AT T= ',T TITLE='PLOT OF ENERGY' CALL MAKCON(E,Z,NX,NL,10,TITLE) PRINT *,‘ENERGY DENSITY AT T= ',T PRINT*,' ' TITLE='SPEED' CALL MAKCON(V,Z,NX,NL,10,TITLE) PRINT *,‘SPEED AT T= ',T PRINT*,' ' GOTO 999 CONTINUE TITLE='DENSITY' CALL THREED(D,NX-2,NL,TITLE) TITLE='TEMPERATURE' CALL THREED(E,NX-2,NL,TITLE) TITLE='SPEED' CALL THREED(V,NX-2,NL,TITLE) GOTO 999 CONTINUE Q=0.4*NL—NC DO 40 J: 0,NR DO 40 K= 0,NR AZ(J,K)=Z(J,K+Q) DO 41 J= 0,NR DO 41 K= 0,NR A(J,K)=D(J,K+Q) TITLE='DENSITY' CALL MAKCON(A,AZ,NX,NX,10,TITLE) PRINT *,‘PLOT OF DENSITY AT T= ',T PRINT*,' ' DO 42 J"= 0,NR DO 42 K= 0,NR A(J.K) =E (J,K+Q) TITLE='PLOT OF ENERGY' CALL MAKCON(A,AZ,NX,NX,10,TITLE) PRINT *,‘TEMPERATURE AT T= ',T PRINT*,' ' DO 43 J= 0,NR DO 43 K: 0,NR A(JIK)=V(J,K+Q) TITLE='SPEED' CALL MAKCON(A,AZ,NX,NX,10,TITLE) PRINT *,‘SPEED AT T= ',T PRINT*,' ' CONTINUE ENDIF IF((PFLAG.EQ.1).OR.(PFLAG.EQ.3.5))CALL OUTZlD(R,Z,T) 158 IF((PFLAG.EQ.5).OR.(PFLAG.EQ.9))CALL OUTX1D(R,Z,T) IF(PFLAG.EQ.25.)THEN DO 720 L=10, 30 WRITE(6,2000)L WRITE(6,3000)'J','Z','DENSITY','VX','VY','VZ','TEMP', s 'BY"'BZ' DO 730 J:XLO,XHI 'WRITE(6,4000)J,Z(J,L),D(J,L),VX(J,L),VY(J,L), $ VZ(J,L),E(J.L),BY(J,L),BZ(J,L) 730 CONTINUE 720 CONTINUE ENDIF RETURN END 159 *************************************************************** * THIS IS THE BOUNDARY CONDITION ROUTINE *************************************************************** SUBROUTINE BC(R,Z,T) IMPLICIT NONE * PASSED VARIABLES REAL R(0:31,1:50,8),Z(O:31,1:50),T * GLOBAL VARIABLES INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT REAL DZDX(0:31,1:50),DZDL(0:31,1:50),DZDT(0:31,1:50) COMPLEX DX(0:31) REAL G,QH,GM1,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF REAL BXO,BYO,BZO,E0,R0,VXO,VYO,VZO REAL ALF,ALFX,ALFY,ALFZ,BETA,CFM,CSM,CT,CSURF,ME,MO REAL WORK(0:31,1:50,8) INTEGER SYMFLAG OCOMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT 1 /GRID/DZDX,DZDL,DZDT,DX 2 /PARAM/G,QH,GM1,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF 3 /ZEROES/BXO,BYO,BZO,E0,RO,VXO,VYO,VZO 4 /MAGNET/ALF,ALFX,ALFY,ALFZ,BETA,CFM,CSM,CT,CSURF,ME,MO 5 /FFT/WORK,SYMFLAG * LOCAL VARIABLES INTEGER J,L,M REAL VPSTART,W,R1,E1,D,SIGN,A,U,MM,W0,UO REAL XFACE,ZFACE,SN,CSN CHARACTER*8 BCFLAG ****************************************************************** * BCFLAG DETERMINES WHICH BC ARE USED ****************************************************************** BCFLAG='PISTONZ' IF(BCFLAG.EQ.'XPISLAB')THEN DO 5 J:XLO,XHI SN=DZDL(J,1)/DZDL(J,2) CSN=DZDL(J,NL)/DZDL(J,LM) DO 6 M:1,8 R(J,1,M)=R(J,2,M}*SN R(J,NL,M)=R(J,LM,M)*CSN 6 CONTINUE 5 CONTINUE GOTO 999 ENDIF * BORING BC IN Z DO 20 J:XLO,XHI :R(J,1,l)=R(J,2,1)*DZDL(J,1)/DZDL(J,2) R(J,NL,1)=R(J,LM, 1) *DZDL (J,NL) /DZDL (J,LM) R(J11:2)=R(J:2:2)*R(J,1:1)/R{J:2:1) R(JINL12)=R(JIIMI2) *R(JINLl1) /R(JII-Ml1) R(Jlll4)=-R(JI214) *R(JI1I1) /R(JI2I 1) R(J,N'L,4)='R(J,IM,4)*R(J,NL,1)/R(J,LM,1) R(J, 1, 5)=R(J, 2, 5) *R(J,1,1) /R(J,2,1) R(JINLI 5)=R(Jl LMI 5) *R(JINLI1) /R(JIIMI1) 20 CONTINUE IF(T.LT.6.2831853/OM)THEN FOR MAGNETOACOUSTIC WAVES DO 40 L=1,NL R(1,L,1)=RO*(1.+W/A)*DZDL(1,L) R(l, L, 4) =-ALFZ*ALFX/ (A*A-ALFZ*ALFZ) *W*R (1, L, 1) R(1,L,3)=0. 0000 $0 160 R(1,L,2)=W*R(1,L,1) R(1,L, 5)=EO* (1.0+GMl*W/A) *R(1,L, 1) R(1,L,8)=BZO*(1.O+A*W/(ATAFALFZ*ALFZ))*DZDL(1,L) R(1,L,7)=0. R(1,L,6)=BXO*DZDL(1,L) 4O CONTINUE ELSE XLO=0 XHI=NR ENDIF IF(BCFLAG.EQ.'PISTONZ')THEN BC FOR Z PISTON IF(SYMFLAG.GE.4)THEN DO 14 L=1,NL DO 12 M=1,8 R(0,L,M)=R(1,L,M)*DZDL(0,L)/DZDL(1,L) 2*R(l,L,M)-R(2,L,M) R(NR,L,M)=R(NRr1,L,M)*DZDL(NR,L)/DZDL(NRr1,L) 2*R(NRF1,L,M)-R(NR-2,L,M) 12 CONTINUE R(0,L,2)=0.5*(R(0,L,2)-R(NR,L,2)) R(NR,L,2)=-R(0,L,2) 14 CONTINUE ENDIF DO 10 J=XLO,XHI R(J, 1, l)=R(J,2, 1) *DZDL (J, 1) /DZDL(J,2) R(J,l,2)=R(J,2,2)*DZDL(J,1)/DZDL(J,2) C R(J,1,2)=-0.05*R(J,1,1) R(J, 1, 4)=VP*R(J, 1, 1) C R(J,1,4)=2*R(J,1,l)*VP-R(J,2,4)*DZDL(J,1)/DZDL(J,2) R(J,1,5)=R(J,2,5)*DZDL(J,1)/DZDL(J,2) R(J, 1, 6)=R(J,2, 6) *DZDL(J, 1) /DZDL(J,2) R(J,1,8)=R(J,2,8)*DZDL(J,1)/DZDL(J,2) R(J,NL,4)=0.0 10 CONTINUE GOTO 999 ENDIF :1- 0000000000 0 0 IF(BCFLAG.EQ.'ZPISLAB')THEN * BC FOR Z PISTON IN SLAB DO 100 J=XLO,XHI R(J,1,1)=R(J,2,1)*DZDL(J,1)/DZDL(J,2) R(J,1,2)=R(J,2,2)*DZDL(J,1)/DZDL(J,2) R(J,1,4)=0.0 C R(J,1,4)=2*R(J,1,1)*VP-R(J,2,4)*DZDL(J,1)/DZDL(J,2) R(J,1,5)=R(J,2,5)*DZDL(J,1)/DZDL(J,2) R(J,1,6)=R(J,2,6)*DZDL(J,1)/DZDL(J,2) R(J,1,8)=R(J,2,8)*DZDL(J,1)/DZDL(J,2) R(J,NL,4)=0.0 100 CONTINUE DO 110 J=XLO,XHI C SPLIT+1,NX-SPLIT-1 R(J,1,4)=VP*R(J,1,1) 110 CONTINUE GOTO 999 ENDIF FOR ALFVEN WAVE DO 20 J=XLO,XHI R(J, 1,1)=R(J, 2, 1) *DZDL(J, 1) /DZDL(J,2) R(J,1,2)=R(J,1,1)*W R(J,1,4)=0. R(J,1,5)=R(J,2,5)*DZDL(J,l)/DZDL(J,2) 161 00000 11- C R(J,1,6)=(BXO-BZO*W/ALF)*DZDL(J,1) C R(J,NL,4)=0. C 20 CONTINUE* SURFACE WAVES IN THE X DIRECTION IF(BCFLAG.EQ.'SURFACEX')THEN IF (2 . 0*T*OM.GT. 6 .2831853) THEN SN=0.0 CSN=0.0 XLO=1 XHI=NC ELSE SN=SIN(OM*T) CSN=COS(OM*T) XLO=0 XHI=NR ENDIF J=l C ZFACE=0.5*(Z(J,SPLIT)+Z(J,SPLIT+1)) ZFACE=Z(J,SPLIT) * THE FIELD-FREE SIDE OF THE INTERFACE W0=ME*CSURF*VP/((1.0-CSURF**2)*OM)*SN U0=VP*CSN DO 200 L=1,SPLIT-1 W=W0*EXP(ME*(Z(J,L)-ZFACE)) =U0*EXP(ME*(Z(J,L)-ZFACE)) R(J,L,1)=RMO*(1.0+CSURF*W)*DZDL(J,L) R(J,L,4)=R(J,L,1)*U R(J,L,2)=R(J,L,1)*W R(J,L,5)=(RMO*EO+RMO*CSURF*W/GM1)*DZDL(J,L) R(J,L,6)=0.0 C (-MM*IW/OM)*BXO*DZDL(J,L) R(J,L, 8)=0.0 C (BZO+BXO*W/CSURF)*DZDL(J,L) 200 CONTINUE * ON THE INTERFACE R(J,SPLIT,2)=0.0 R(J,SPLIT,4)=U0*R(J,SPLIT,1) R(J,SPLIT,8)=(0.5*BXO*U0/CSURF)*DZDL(J,SPLIT) * MAGNETIC SIDE OF INTERFACE C W0=-CSURF*MO*VP/((1-CSURF**2)*OM)*SN W0=-MO*CSURF*VP/((1.0-CSURF**2)*OM)*SN DO 210 L=SPLIT+1,NL =W0*EXP(-MO*(Z(J,L)-ZFACE)) U=U0*EXP(-MO*(Z(J,L)-ZFACE)) R(J,L,1)=RO*(1.0+CSURF*W)*DZDL(J,L) R(J,L,4)=R(J,L,1)*U R(J,L,2)=R(J,L,1)*W R(J,L,5)=(R0*E0+R0*CSURF*W/GM1)*DZDL(J,L) R(J,L,6)=BXO*(l.0-(1-CSURF**2)*W/CSURF)*DZDL(J,L) R(J,L,8)=(-BXO*U/CSURF)*DZDL(J,L) 210 CONTINUE GOTO 999 ENDIF * SURFACE WAVES IN THE +Z DIRECTION IF(BCFLAG.EQ.'SURFACEZ')THEN IF(T*OM.GT.6.2831853)THEN SN=0.0 CSN=1.0 ELSE SN=SIN(OM*T) CSN=COS(OM*T) ENDIF L=1 162 XFACE=LX*SPLIT+0.5*LX * THE FIELD-FREE SIDE OF THE INTERFACE W0=ME*CSURF*VP/((1.0-CSURF**2)*OM)*SN U0=VP*CSN DO 300 J:0,SPLIT W=W0*EXP(ME*(LX*J‘XFACE)) =UO*EXP(ME*(LX*J‘XFACE)) R(J,L,1)=RMO*(1.0-CSURF*W)*DZDL(J,L) R(J,L,2)=R(J,L,1)*U R(J,L,4)=R(J,L,1)*W R(J,L,5)=(RMO*E0-RMO*CSURF*W/GM1)*DZDL(J,L) R(J,L,6)=0.0 C (-MM*IW/OM)*BXO*DZDL(J,L) R(J,L,8)=0.0 C (BZO+BXO*W/CSURF)*DZDL(J,L) 300 CONTINUE * MAGNETIC SIDE OF INTERFACE 310 W0=-MO*CSURF*VP/((1.0-CSURF**2)*OM)*SN DO 310 J=SPLIT+1,NR W=W0*EXP(-MO*(LX*J‘XFACE)) U=U0*EXP(-MO*(LX*J-XFACE)) R(J,L,1)=R0*(1.0-CSURF*W)*DZDL(J,L) R(J,L,2)=R(J,L,1)*U R(J,L,4)=R(J,L,1)*W R(J,L,5)=(R0*E0-R0*CSURF*W/GM1)*DZDL(J,L) R(J,L,8)=BZO*(1.0-(1-CSURF**2)*W/CSURF)*DZDL(J,L) R(J,L,6)=(-BZO*U/CSURF)*DZDL(J,L) CONTINUE GOTO 999 ENDIF IF(BCFLAG.EQ.'JPISTON')THEN * BC FOR Z PISTON 410 D0 410 L=1,NL R(0,L,1)=R(1,L,1)*DZDL(O,L)/DZDL(1,L) R(0,L, 4)=R(1,L, 4) *DZDL(O,L) /DZDL(1,L) R(1,L,2)=-0.05*R(1,L,1) R(0,L,2)=VP*R(0,L,1) R(0,L,5)=R(1,L,5)*DZDL(0,L)/DZDL(1,L) R(O, L, 6)=R(1,L, 6) *DZDL(O,L) /DZDL(1,L) R(0,L,8)=R(1,L,8)*DZDL(O,L)/DZDL(1,L) R(NR,L,2)=0.0 CONTINUE GOTO 999 ENDIF PERIODIC (IN Z) BC 100 D0 100 M=1,8 DO 100 J=XLO,XHI R(J, 1,M)=R(J, LM3,M) *DZDL (J, 1) /DZDL(J, LM3) R(J,2,M)=R(J,LM2,M)*DZDL(J,2)/DZDL(J,LM2) R(J,LM,M)=R(J,3,M)*DZDL(J,LM)/DZDL(J,3) R(J,NL,M)=R(J,4,M)*DZDL(J,NL)/DZDL(J,4) CONTINUE 999 CONTINUE THE END OF THE CASE STRUCTURE RETURN **********************‘k**‘k*********************‘k'k'k'k************************* * THE ROUTINES TO SMOOTH THE X 1 CELL VARIATIONS 163 **************************************************************************** SUBROUTINE SMOOTH(R) IMPLICIT NONE * PASSED VARIABLES REAL R(0:31,1:50,8) * GLOBAL VARIABLES INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT REAL DZDX(0:31,1:50),DZDL(0:31,1:50),DZDT(0:31,1:50) COMPLEX DX(0:31) OCOMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT 1 /GRID/DZDX,DZDL,DZDT,DX * LOCAL VARIABLES REAL A(O:31,1:50) INTEGER M, J, L * BEGIN SMOOTH DO 10 M;1,8 DO 20 J=XLO,XHI DO 20 L=1,NL A(J,L)=R(J,L,M)/DZDL(J,L) 20 CONTINUE CALL SMOOTH1(A) DO 30 J=XLO,XHI DO 30 L=1,NL R(J,L,M)=A(J,L)*DZDL(J,L) 30 CONTINUE 10 CONTINUE RETURN END ********************************************************************** SUBROUTINE SMOOTH1(V) IMPLICIT NONE *GLOBAL VARIABLES REAL WORK(0:31,1:50,8),TRIGS(451) INTEGER IFAX(13),NPTS,INC,JUMP,NVEC INTEGER SYMFLAG INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT COMMON /FFT/WORK,SYMFLAG $ /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT * PASSED VARIABLES COMPLEX V(0:NC,NL) * LOCAL VARIABLES INTEGER.L,M,ISIGN,NVEC3 C CALL FFT99(V,WORK,TRIGS,IFAX,INC,JUMP,NPTS,NVEC3,ISIGN) DO 50 L=1,NL 50 V(NC,L)=0.0 C CALL FFT99(V,WORK,TRIGS,IFAX,INC,JUMP,NPTS,NVEC3,ISIGN) RETURN END 164 set dzmin=0 for all cells dzdt:fv*vz dzm1n=m1n(dzmin,z ”-1- 2L) if dzmin<0 then else print "points crossed” a exceptional stop use ddl to calculate dzdl use ddx to calculate dzdx ***************************************************************** * THE GRID ROUTINE CONTROLS THE MOTION OF THE GRID. * DZDL,DZDX, & DZDT ARE CALCULATED HERE ***************************************************************** SUBROUTINE GRID(R,Z,T,DT) IMPLICIT NONE * PASSED VARIABLES REAL R(0:31,1:50,8),Z(O:31,1:50),T,DT * GLOBAL VARIABLES INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT REAL G,QH,GM1,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF REAL TMAX,TPRINT,PFLAG,TVIEW REAL DZDX(0:31,1:50),DZDL(0:31,1:50),DZDT(0:31,1:50) COMPLEX DX(0:31) OCOMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT 1 /PARAM/G,QH,GM1,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF 2 /PRINTS/TMAX,TPRINT,PFLAG,TVIEW 3 /GRID/DZDX,DZDL,DZDT,DX * LOCAL VARIABLES INTEGER J,L,M REAL DZl,DZMIN,A(0:31,1:50) * BEGIN GRID 20 10 DZMIN=LZ DO 10 J=XLO,XHI DZDT(J,1)=R(J,1,4)/R(J,1,1) DZDT(J,2)=FV*R(J,2,4)/R(J,2,1) DZDT(J,LM)=FV*R(J,LM,4)/R(J,LM,1) DZDT(J,NL)=1.*R(J,NL,4)/R(J,NL,1) DO 20 L=3,LM2 DZDT(J,L)=FV*R(J,L,4)/R(J,L,1) DZl=Z(J,L+1)-Z(J,L) DZMIN=AMIN1(DZMIN,D21) CONTINUE CONTINUE IF(DZMIN.LE.0.)THEN 165 PRINT *,' POINTS CROSSED AT T=',T CALL OUTPUT(R,T,Z) STOP ENDIF CALL DDL(Z,A) DO 30 J=XLO,XHI DO 30 L=ZLO,ZHI DZDL(J,L)=A(J,L) 30CONTINUE CALL DDX(1,Z,A) DO 40 J2XLO,XHI DO 40 L=ZLO,ZHI DZDX(J,L)=A(J,L)/DZDL(J,L) 40CONTINUE IF(DT.LT.lE-7)THEN PRINT *,‘DT TOO SMALL AT DT=',DT CALL OUTPUT(R,T,Z) STOP ENDIF RETURN END ****-k1k******************************1k*******************************inki-*int- SUBROUTINE OUTX1D(R,Z,TIME) COMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT $ /CONST/F1D15,F16D15,0VER8PI,PI,FOURPI $ /GRID/DZDX,DZDL,DZDT,DX s /PRINTS/TMAX,TPRINT,PFLAG,TVIEW $ /PARAM/G,QH,GM1,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF REAL G,QH,GMl,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF INTEGER I,J,V,VMAX,VAXIS,L,M,NX,NL,NR,NC,LM,LM2,LM3,LM4, VD,VV,VT,XLO,XHI,ZLO,ZHI,SPLIT REAL R(0:31,1:50,8),MIND,MAXD,DY,OVER8PI,DZDL(0:31,1:50), DZDX(0:31,1:50),D(0:31),VX(O:31),T(0:31),MAXVZ,MINVZ, MAXT,MINT,Z(O:31,1:50),DD,DVZ,DTT,DZDT(0:31,1:50), TMAX,TPRINT,PFLAG,TVIEW,VY,VZ,BX,BY,BZ COMPLEX DX(0:31) mmm {D PRINT *,' ' PRINT *,'@FTF' PRINT *,NR,‘ NUMBER OF POINTS FOR PLOTTER' WRITE(6,1000)TIME 1000 FORMAT(' TIME= ',F11.4,F10.5) L=NL/2 WRITE(*,ZOOO)'J','X','DENSITY',’VX','VZ','TEMP','BX', $ 'BZ','VY','BY' WRITE(*,3100) ' 0 ',0.,1.,0.,0.,1.,0.,0.,0.,0. 3100 FORMAT(1X,A4,1X,9(F7.4,1X)) 2000 FORMAT(1X,A4,1X,9(A7,1X)) DO 20 J=XLO,XHI D(J)=R(J,L,1)/DZDL(J,L) VX(J)=R(JILI2)/R(JILI1) VY=R(J,L,3)/R(J,L,1) VZ=R(J,L,4)/R(J,L,1) T(J)=R(J,L,5)/R(J,L,1)/O.9DO BX=R(J,L,6)/DZDL(J,L) BY=R(J,L,7)/DZDL(J,L) BZ=R(J,L,8)/DZDL(J,L) WRITE(*,3000)J,J*LX,D(J),VX(J),VZ,T(J),BX,BZ,VY,BY 3000 FORMAT(lX,I4,1X,F8.4,1X,9(F7.4,1X)) 166 20 CONTINUE RETURN END SUBROUTINE OUTZlD(R,Z,TIME) COMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT $ /CONST/F1D15,F16D15,0VER8PI,PI,FOURPI $ /GRID/DZDX,DZDL,DZDT,DX $ /PRINTS/TMAX,TPRINT,PFLAG,TVIEW $ /ZEROES/BXO,BYO,BZO,E0,R0,VXO,VYO,VZO REAL BXO,BYO,BZO,EO,RO,VXO,VYO,VZO CHARACTER*1,A(-l:132) INTEGER I, J,V, VMAX, VAXIS,L,M, NX, NL,NR,NC, LM,LM2, LM3, LM4, VD,VV,VT REAL R(0:31,1:50,8),MIND,MAXD,DY,OVER8P1,DZDL(0:31,1:50), DZDX(0:31,1:50),D(1:50),VZ(1:50),T(1:50),MAXVZ,MINVZ, MAXT,MINT,Z(0:31,1:50),DD,DVZ,DTT,DZDT(0:31,1:50),VY,BY TMAX,TPRINT,PFLAG,TVIEW COMPLEX DX(0:31) (1)-(DU) {D PRINT *,' ' PRINT *,'@FTF' PRINT *,NL,’ NUMBER OF POINTS FOR PLOTTER' WRITE(6,1000)TIME 1000 FORMAT(' TIME= ',F11.4,F10.5) J=NC WRITE(*,ZOOO)'L','Z','DENSITY','VX','VZ','TEMP', $ IBXI,IBZ"!VYIIIBYI WRITE(*,3100) '-0',0.,1.,0.,0.,l.,BX0,0.0 3100 FORMAT(1X,A4,2X,9(F7.4,1X),1A25) 2000 FORMAT(1X,A4,2X,9(A7,1X)) DO 20 L=1,NL D(L)=R(J,L,1)/DZDL(J,L) VX=R(J,L,2)/R(J,L,1) VY=R(J,L,3)/R(J,L,1) VZ(L)=R(J,L,4)/R(J,L,l) T(L)=R(J,L,5)/R(J,L,1)/0.9D0 BX=R(J,L,6)/DZDL(J,L) BY=R(J,L,7)/DZDL(J,L) BZ=R(J,L,8)/DZDL(J,L) WRITE(*,3000)L,Z(J,L),D(L),VX,VZ(L),T(L),BX,BZ,VY,BY 3000 FORMAT(1X,I4,2X,F8.4,1X,9(F7.4,1X)) 20 CONTINUE RETURN END LOGICAL FUNCTION CHECKDT(R,R1,R2,T,DT) IMPLICIT NONE * PASSED VARIABLES REAL R(0:31,1:50,8),Rl(0:31,1:50,8),R2(O:31,1:50,8),T,DT * GLOBAL VARIABLES INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT REAL FlD15,F16D15,0VER8PI,PI,FOURPI REAL TMAX,TPRINT,PFLAG,TVIEW OCOMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT 1 /CONST/F1D15,F16D15,0VER8PI,PI,FOURPI 2 /PRINTS/TMAX,TPRINT,PFLAG,TVIEW * LOCAL VARIABLES 167 REAL EPD, EPE, EPV, DLIM, ELIM, VLIM, CRIT, DTMAX, DTVIEW, CURRENT INTEGER J,L,M,MSFLAG DATA DLIM,ELIM,VLIM,DTMAX/.00001,.00001,.00001,2.0/ EPD=0. EPE=0. EPV=0. MSFLAG=O DTVIEw=-DT+TVIEW*0.5 IF (DTVIEW.LE.0.0)THEN DTVIEw=DTMAX ENDIF DO 10 J=1,NR-1 DO 10 L=2,LM2 EPD=AMAX1(EPD,ABS((R1(J,L,1)-R2(J,L,1))/R2(J,L,l))) EPE=AMAX1(EPE,ABS((R1(J,L, 5)-R2 (J,L, 5) ) /R2 (J,L, 5) )) EPv=AMAX1(EPv,ABS((R1(J,L,4)-R2(J,L,4))/R2(J,L,1))) 10 CONTINUE CRIT=AMAX1(EPD/DLIM,EPE/ELIM,EPV/VLIM) IF(CRIT.GE.1.)THEN CHECKDT=.TRUE. DT=.9*DT*(CRIT**(-0.25)) PRINT *,‘REPEATING STEP AT T=',T,' DT=',DT ELSEIF(CRIT.GT.0.)THEN CHECKDT=.FALSE. CURRENT=T+2.*DT DT=AMIN1(.8*DT*(CRIT**(-0.2)),DTMAx,DTVIEW) IF(MSFLAG.NE.O)PRINT *,‘SETTING DT=',DT,' AT T=',CURRENT ELSE CHECKDT=.FALSE. ENDIF RETURN END 'k***‘k****************************‘k‘k********************************* * THIS SUBROUITNE CALCULATES THE WAVES SPEEDS *‘k‘k'k*‘k‘k********‘A'*******‘k***'k*‘k‘k************************************'k SUBROUTINE SOMMER(R,NEWR,DT,Z,NEWZ) IMPLICIT NONE * PASSED VARIABLES REAL R(0:31,1:50,8),NEWR(0:31,1:50,8),NEWZ(0:31,1:50),DT REAL Z(0:31,1:50) * GLOBAL VARIABLES INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT REAL DZDX(0:31,1:50),DZDL(0:31,1:50),DZDT(0:31,1:50) COMPLEX DX(0:31) REAL G,QH,GM1,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF REAL C(0:31,1:50,8) OCOMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT 1/GRID/DZDX,DZDL,DZDT,DX 2 /PARAM/G,QH,GM1,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF 3/SOMMER/C * LOCAL VARIABLES INTEGER J,L,M REAL A(0:31,1:50),DADL(0:31,1:50),Q * BEGIN SOMMER DO 10 J:XLO,XHI NEWR(J,NL,1)=R(J,LM,1)*DZDL(J,NL)/DZDL(J,LM) 10CONTINUE DO 20 M=6,8 DO 20 J=XLO,XHI 0 C(J,LM,M)=AMIN1(LZ/DT,AMAX1(1.0,-(NEWR(J,LM,M)/DZDL(J,LM)- 1R(J:LM,M)/DZDL(J,LM))*(Z(J,NL)'Z(J,LM2))/ 168 2(R(J,NL,M)/DZDL(J,NL)-R(J,LM2,M)/DZDL(J,LM2)+lE-20))) 20CONTINUE DO 30 M=2,5 DO 30 J=XLO,XHI C(J,LM,M)=AMIN1(LZ/DT,AMAX1(1.0,-(NEWR(J,LM,M)/NEWR(J,LM,1)- 1R(JILMPM)/R(JILM11))/DT*(Z(JINL)-Z(JILM2))/ 2(R(J,NL,M)/R(J,NL,1)-R(J,LM2,M)/R(J,LM2,1)+1E-20))) 30 CONTINUE DO 40 M=6,8 DO 40 J=XLO,XHI Q=C(J,LM:M)*DT/(Z{J:NL)'Z(J:LM)) NEWR(J,NL,M)=R(J,LM,M)*DZDL(J,NL)/DZDL(J,LM)*Q+(1.-Q)*R(J,NL,M) 40CONTINUE DO 50 M=2,5 DO 60 J=XLO,XHI Q=C(J:LMJM)*DT/(Z(J:NL)‘Z{J:LM)) NEWR(J}NLIM)=R(JILM4M)*R(J1NLpl)/R(JpLM11)*Q+(1--Q)*R(JINLrM) 60CONTINUE ‘ 50 CONTINUE RETURN END ********************************************************************* *ALL OF THE INITIALIZATION ROUTINES FOLLOW ************************************************************** * THIS SUBROUTINE INITIALIZES THE PARAMETERS AND VARIABLES ******************************************************************** SUBROUTINE INIT(R,Z,DT) IMPLICIT NONE * PASSED VARIABLES REAL R(0:31,1:50,8),Z(0:31,1:50),DT * GLOBAL VARIABLES REAL TMAX,TPRINT,PFLAG,TVIEW REAL BXO,BYO,BZO,E0,R0,VXO,VYO,VZO REAL G,QH,GM1,VP,OM,LZ,RMO,FV,ZETA2,ZETA1,ETAO,LX,LY,ERF REAL F1D15,F16D15,0VER8PI,PI,FOURPI REAL ALF,ALFX,ALFY,ALFZ,BETA,CFM,CSM,CT,CSURF,ME,MO INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT OCOMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT 1 /ZEROES/BXO,BYO,BZO,E0,R0,VXO,VYO,VZO 2 /PARAM/G,QH,GM1,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF 3 /CONST/F1D15,F16D15,0VER8PI,PI,FOURPI 4 /MAGNET/ALF,ALFX,ALFY,ALFZ,BETA,CFM,CSM,CT,CSURF,ME,MO * LOCAL VARIABLES REAL T,RATIO,W,E1,R1,PMO,PM,S,QO,RADIUS INTEGER J,L,MIDJ,MIDL,SPLIT2 CHARACTER*B INITFLAG INITFLAG='Y TUBE' WRITE(*,1001)INITFLAG 1001 FORMAT(‘l GMHDI INITIAL CONDITIONS= ',A8) * SET PARAMETERS CALL INITNUM CALL INITZER CALL INITPAR CALL SETCON IF((BXO+BYO+BZO.NE.0.0))CALL INITMAG * SET UP INITIAL ATMOSPHERE DO 10 J=0,NR 169 10 R(J,L,1)=R0 R(J,L,2)=VXO R(J,L,3)=VYO R(J,L,4)=VZO R(J,L,5)=EO R(J,L,6)=BXO R(J,L,7)=BYO R(J,L,8)=BZO CONTINUE * SPECIAL INIT CONDITIONS IF (INITFLAG.EQ.'Z TUBE')THEN * Shock tube initial conditions 20 30 RATIO=0.02 PRINT *,‘SHOCK TUBE WITH INITIAL PRESSURE RATIO OF ',RATIO SPLIT=NL*.5 J=NC DO 30 J=XLO,XHI DO 20 L=1,SPLIT R(J,L,1)=R0*RATIO R(J,L,5)=E0*RATIO CONTINUE R(J,SPLIT,1)=R0*.5*(RATIO+1) R(J,SPLIT,5)=E0*.5*(RATIO+1) CONTINUE GOTO 999 ENDIF (INITFLAG.EQ.'X FACE')THEN * x magnetic interface 140 150 160 split=nl/2 PMO=(BXO*BXO+BYO*BYO+BZO*BZO)*OVERBPI RMO=R0*(1+PMO/(GM1*EO)) DO 150 J=XLO,XHI DO 140 L=1,SPLIT R(J,L,6)=0.0 R(J,L,7)=0.0 CONTINUE R(J,SPLIT,6)=0.5*(R(J,SPLIT-l,6)+R(J,SPLIT+1,6)) R(J,SPLIT,7)=O.5*(R(J,SPLIT-1,7)+R(J,SPLIT+1,7)) R(J,SPLIT,8)=0.5*(R(J,SPLIT-l,8)+R(J,SPLIT+1,8)) CONTINUE DO 160 J=XLO,XHI DO 160 L=1,SPLIT PM;PMO-(R(J,L,6)**2+R(J,L,8)**2)*OVER8PI R(J,L,1)=R0+PM/(GM1*E0) R(J,L,5)=R(J,L,1)*E0 CONTINUE GOTO 999 ENDIF IF (INITFLAG.EQ.'Z FACE')THEN * x magnetic interface 240 split=NC PM=(BXO*BXO+BYO*BYO+BZO*BZO)*OVER8PI RMO=RO*(1+PM/(GM1*E0)) DO 250 J=0,SPLIT DO 240 L=1,NL R(J,L,6)=0.0 R(J,L,7)=0.0 R(J,L,8)=0.0 R(J,L,5)=E0+R0*PM/GM1 R(J,L,1)=RMO R(J,L,5)=E0*R(J,L,1) CONTINUE 170 250 CONTINUE GOTO 999 ENDIF IF (INITFLAG.EQ.'X SLAB')THEN * x magnetic interface split=NL PMO=(BXO*BXO+BYO*BYO+BZO*BZO)*OVER8PI RMO=RO*(1+PMO/(GM1*EO)) DO 350 J=XLO,XHI DO 340 L=1,SPLIT R(J,L,6)=0.0 R(J,L,7)=0.0 340 (CONTINUE SPLIT2=NL-SPLIT+1 DO 345 L=SPLIT2,NL R(J,L,6)=0.0 R(J,L,7)=0.0 345 CONTINUE R(J,SPLIT,6)=0.5*(R(J,SPLIT-l,6)+R(J,SPLIT+1,6)) R(J,SPLITZ,6)=0.5*(R(J,SPLITZ-l,6)+R(J,SPLIT2+1,6)) 350 CONTINUE DO 360 J:XLO,XHI DO 360 L=1,NL PM:PMO-(R(J,L,6)**2+R(J,L,8)**2)*OVER8PI R(J,L,1)=R0+PM/(GM1*E0) R(J,L,5)=R(J,L,1)*E0 360 CONTINUE * TO PRODUCE SHOCK IN X DIRECTION DO 370 L=1,NL DO 370 J=O,NC R(J,L,2)=-VP*R(J,L,1) R(NR-J,L,2)=VP*R(NR-J,L,1) 370 CONTINUE GOTO 999 ENDIF IF (INITFLAG.EQ.'Z SLAB')THEN * x magnetic interface split=NC—4 PMO=(BXO*BXO+BYO*BYO+BZO*BZO)*OVER8PI RMO=R0*(1+PMO/(GM1*E0)) DO 450 L=1,NL DO 440 J=O,SPLIT R(J,L,8)=0.0 440 CONTINUE SPLIT2=NX-SPLIT DO 445 J=SPLIT2,NR R(J,L,8)=0.0 445 CONTINUE R(SPLIT2,L,8)=0.5*(R(SPLIT2-1,L,8)+R(SPLIT2+1,L,8)) R(SPLIT,L,8)=O.5*(R(SPLIT-1,L,8)+R(SPLIT+1,L,8)) 450 CONTINUE DO 460 J=XLO,XHI DO 460 L=1,NL PM=PMO-(R(J,L,6)**2+R(J,L,8)**2)*OVER8PI R(J,L,1)=R0+PM/(GM1*E0) R(J,L,5)=R(J,L,1)*E0 460 CONTINUE GOTO 999 ENDIF IF(INITFLAG.EQ.'TEST')THEN * TO PRODUCE Z SHOCK 171 490 495 D0 495 J=XLO,XHI DO 490 L=1,15 R(J,L,4)=VP*R(J,L,1) DO 495 L=15,NL R(J,L,4)=-VP*R(J,L,1) GOTO 999 ENDIF IF(INITFLAG.EQ.'Y TUBE')THEN * A CYLINDRICAL FLUX TUBE EXTENDING IN THE Y DIRECTION 1000 S=0.50 RADIUS=4.0 MIDJ=NC MIDL=NL*.4 PMO=(BXO*BXO+BYO*BYO+BZO*BZO)*OVER8PI WRITE(*,1000)MIDJ,MIDL,RADIUS,S FORMAT(' CENTER: ',I3,',',I3,' RADIUS= ',F6.3, $ ' THICKNESS=', F7.4) DO 570 L=1,NL DO 560 J=XLO,XHI *HYPERBOLIC TANGENT IN r 560 570 580 999 QO=SQRT(((JTMIDJ)*LX)**2+((L-MIDL)*LZ)**2) R(J,L,7)=0.5*BYO*(1.0+TANH((RADIUS-QO)/S)) PRINT *,J,L,QO,R(J,L,7) CONTINUE CONTINUE DO 580 J=XLO,XHI DO 580 L=1,NL PM:PMO-(R(J,L,6)**2+R(J,L,7)**2+R(J,L,8)**2)*OVER8PI R(J,L,1)=R0+PM/(GM1*E0) R(J,L, 5)=R(J,L,1) *EO CONTINUE GOTO 999 ENDIF CONTINUE CALL SETGRID(R,Z,DT) CALL INITFFT(R) RETURN END ***fr************************‘k**************************** SUBROUTINE INITNUM IMPLICIT NONE * GLOBAL VARIABLES INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT INTEGER FXSYM(8) OCOMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT 1 /SYMS/FXSYM NX=32 NC=(NX-2)/2 NR=NX-1 NL=50 PRINT *,‘NX= ',NX,’ = ',NL LM=NL-1 LM2=NL-2 LM3=NL-3 LM4=NL-4 XLO=0 XHI=NR ZLO=1 ZHI=NL FXSYM(1)=-l 172 FXSYM(2)=+1 FXSYM(3)=-1 FXSYM(4)=-1 FXSYM(S) =-1 FXSYM(6)=-l FXSYM(7)=+1 FXSYM(8)=+1 RETURN END ************************************************************************* SUBROUTINE INITZER IMPLICIT NONE * GLOBAL VARIABLES REAL BXO,BYO,BZO,EO,R0,VXO,VYO,VZO COMMON /ZEROES/BXO,BYO,BZO,E0,R0,VXO,VYO,VZO R0=1.0 VXO=0.0 VYO=0.0 VZO=0.0 E0=0.9 BXO=0.0 BYO=3.0 BZO=0.0 RETURN END ************************************************************************* SUBROUTINE INITPAR IMPLICIT NONE * GLOBAL VARIABLES REAL G,QH,GM1,VP,OM,LZ,RMO,FV,ZETA2,ZETA1,ETAO,LX,LY,ERF REAL on,BY0,Bz0,E0,Ro,vxo,VYo,vzo ' REAL TMAX,TPRINT,PFLAG,TVIEW OCOMMON /PARAM/G,QH,GMl,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF 1 /ZEROES/BXO,BYO,BZO,E0,RO,VXO,VYO,VZO 2 /PRINTS/TMAX,TPRINT,PFLAG,TVIEW GM1=2.0/3.0 G=0.0 QH=G*RO/(GM1*E0) IF(G.EQ.0.)THEN PRINT *,' No Gravity' ELSE PRINT *,'G= ',G,'SCALE HEIGHT= ',1./QH ENDIF C READ (*,*)VP VP=0.1 OM=0.0 FV:1.0 WRITE(*,900)VP,OM,FV 900 FORMAT(1X,'VP= ',F10.S,' OM; ',F10.5,' FV: ',F10.5) ZETA2=9*(.05+VP) ZETAl=ZETA2/3 IF(ZETA1+ZETA2.EQ.0.)THEN PRINT *, 'No Viscosity' ELSE WRITE(*,1000)ZETA1,ZETA2/3. 1000 FORMAT(1X,'Zeta1= ',F6.4,' Zeta2= ',F6.4) ENDIF ETAO=0.0 173 IF(ETAO.EQ.0.)THEN PRINT *,'Infinite Conductivity' ELSE PRINT *,'Eta=',ETAO ENDIF ERF=0. LX=1.5 LY=1.0 LZ=1.0 PRINT *,'LX= ',LX,' LZ= ',LZ TMAX=50.0 tprint=10.0 PFLAG=25.0 * REMEMBER TO CHANGE FLAG3D PRINT *, ' = ' ,TMAX, ' TPRINT= ' ,TPRINT C TVIEWfiTPRINT C TVIEW=0. TVIEW:30. SETTING TVIEw=0.0 CAUSES THE INITIAL CONDITONS TO BE PRINTED WHILE TVIEw=TPRINT CAUSES IT TO SKIP THE FIRST PRINT * * RETURN END ************************************************************************* SUBROUTINE SETCON IMPLICIT NONE * GLOBAL VARIABLES REAL F1D15,F16DlS,OVER8PI,PI,FOURPI COMMON /CONST/F1D15,F16D15,0VER8PI,PI,FOURPI PI=4.*ATAN(1.0) FOURPI=4.*PI OVER8PI=.125/PI F16D15=16.D0/15.D0 F1D15=1.D0/15.D0 RETURN END ************************************************************************* SUBROUTINE INITMAG IMPLICIT NONE * GLOBAL VARIABLES REAL ALF,ALFX,ALFY,ALFZ,BETA,CFM,CSM,CT,CSURF,ME,MO REAL F1D15,F16D15,0VER8PI,PI,FOURPI REAL BXO,BYO,BZO,E0,R0,VXO,VYO,VZO REAL G,QH,GMl,VP,OM,LZ,RMO,FV,ZETAZ,ZETA1,ETAO,LX,LY,ERF OCOMMON /MAGNET/ALF,ALFX,ALFY,ALFZ,BETA,CFM,CSM,CT,CSURF,ME,MO 1 /CONST/F1D15,F16D15,0VER8PI,PI,FOURPI 2 /ZEROES/BXO,BYO,BZO,E0,RO,VXO,VYO,VZO 3 /PARAM/G,QH,GM1,VP,OM,LZ,RMO,FV,ZETA2,ZETA1,ETAO,LX,LY,ERF BETA=1E20 IF(BZO.NE.0..OR.BXO.NE.0..OR.BYO.NE.0.) $ BETA=.6/((Bzo*Bzo+BYo*BYo+on*Bx0)*OVERBPI) ALFZ=BZO/SQRT(FOURPI) ALFY=BYO/SQRT(FOURPI) ALFX=BXO/SQRT(FOURPI) ALF=SQRT(ALFX*ALFX+ALFY*ALFY+ALFZ*ALFZ) CSM=SQRT(.5*(l.+ALF*ALF-SQRT((1+ALF*ALF)**2-4.*ALFZ*ALFZ))) CFM=SQRT(.5*(1.+ALF*ALF+SQRT((1+ALF*ALF)**2-4.*ALFZ*ALFZ))) PRINT *,' BETA: ',BETA PRINT *, ' ALFVEN VELOCITY (A,AX,AY,AZ)= ',ALF,ALFX,ALFY,ALFZ 174 PRINT *,' SLO MODE SPEED= ',CSM PRINT *, ' FAST MODE SPEED= ',CFM CSURF=SQRT((SQRT((ALF**2+2)**2+(GM1+1)**2*ALF**4+4*GM1*ALF**2) $ -(ALF**2+2))/(0.5*(GM1+1)**2*ALF**2+2*GM1)) ME=SQRT(OM**2*(1/CSURF**2-1.0)) CT=SQRT(ALF**2/(1+ALF**2)) MO=OM/CSURF*SQRT((1-CSURF**2)*(ALF**2-CSURF**2) $ /(1+ALF**2)/(CT**2-CSURF**2)) WRITE(*,1000)CSURF,MO,ME 1000 FORMAT(1X,'Csurf= ',f10.5,' Mo= ',F10.5,' Me= ',F10.5) RETURN END ************************************************************************* * THIS ROUTINE INITIALIZES THE GRID AND CONVERTS * R TO MOVING GRID ************************************************************************* SUBROUTINE SETGRID(R,Z,DT) IMPLICIT NONE * PASSED VARIABLES REAL T,R(O:3l,1:50,8),Z(0:31,1:50),DT * GLOBAL VARIABLES REAL G,QH,GM1,VP,OM,LZ,RMO,FV,ZETA2,ZETA1,ETAO,LX,LY,ERF INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT REAL TMAX,TPRINT,PFLAG,TVIEW REAL F1D15,F16D15,0VER8PI,PI,FOURPI REAL DZDX(0:31,1:50),DZDL(0:31,1:50),DZDT(0:31,1:50) COMPLEX DX(0:31) OCOMMON /NUMBER/LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT 1 /PARAM/G,QH,GM1,VP,OM,LZ,RMO,FV,ZETA2,ZETA1,ETAO,LX,LY,ERF 2 /CONST/FlDlS,F16D15,0VER8PI,PI,FOURPI 3 /PRINTS/TMAX,TPRINT,PFLAG,TVIEW 4 /GRID/DZDX,DZDL,DZDT,DX * LOCAL VARIABLES COMPLEX II INTEGER J,L,M REAL A(0:31,1:50) * CREATE DX FOR DERIVATIVES 10 30 20 50 60 II=(0.,1.) IF(NX.GT.O)THEN DO 10 J:0,NC DX(J)=-2.*PI*II*J/(LX*NX) CONTINUE ENDIF DT=0.01 DO 20 J=0,NR DO 30 L=1,NL Z(J,L)=LZ*(L-l) CONTINUE DO 50 J=O,NR DO 50 L=1,NL DZDT(J,L)=O. CONTINUE CALL DDL(Z,A) 60 J=0,NR DO 60 L=1,NL DZDL(J,L)=A(J,L) CONTINUE 175 MULTIPLY BY DZDL TO CHANGE GAS VARIABLES AS DESIRED FOR DYNAMICAL ZONING * * fi 4 DO 80 M=1,8 DO 80 J=0,NR DO 80 L=1,NL 80 R(J,L,M)=R(J,L,M) *DZDL(J,L) T=0.0 C CALL BC(R,Z,T) RETURN END ************************************************************* * THIS SUBROUTINE SETS UP THE FFT PARAMETERS ************************************************************* SUBROUTINE INITFFT(R) IMPLICIT NONE * PASSED VARIABLES REAL R(0:31,1:50,8) * GLOBAL VARIABLES INTEGER LM,LM2,LM3,LM4,NC,NL,NR,NX,XLO,XHI,ZLO,ZHI,SPLIT REAL WORK(0:31,1:50,8),TRIGS(451) INTEGER IFAX(13),NPTS,INC,JUMP,NVEC INTEGER SYMFLAG COMMON / FFT/ WORK, SYMFLAG $ /NUMBER/LM, LMZ, LM3, LM4, NC, NL,NR, NX, XLO, XHI, ZLO, ZHI, SPLIT SYMFLAG=1 PRINT *, 'SYMFLAG= ',SYMFLAG IF ((NX.LT.4) .AND. (SYMFLAG.NE.3) )SYMFLAG=0 IF ((SYMFLAG.NE.O) .AND. (SYMFLAG.NE.3) )THEN IF(NL.NE.(2*(NL/2)))THEN PRINT *, 'NL must be even. ' STOP ENDIF ELSE XHI=O ENDIF RETURN END 176 Acknowledgements I would like to express my gratitude to Dr. Robert Stein for his patient guidance. I would also like to thank Dr. Sheridan Simon and Dr. Rex Adelberger for their support and assistance— both professional and personal. I would also like to especially thank Charlie White and the rest of the Guilford College computer services staff for their patience and assistance. This research was supported in part by NSF grant AST 83-16231. The encouragement of Guilford College and their support, both economic and moral, has made the completion of this work possible. 177 Bibliography Abramowitz, M., and l. A. Stegun. 1964. Handbook of Mathematical Functions. Volume 55 of Applied Mathematics Series. New York: Dover Publications. Alexander, L. F., and J. D. Walecka. 1980. Theoretical Mechanics of Particles and Continua. New York: McG raw-Hill. Allen, C. W. 1973. Astrophysical Quantities. London: The Athlone Press. Braun, D,C., T.L. Duvall, and B.J. Labonte. 1987. Acoustic Absorption by Sunspots. Astrophysical Joumal 31 9:L27 Braun, D,C., T.L. Duvall, and B.J. Labonte. 1988. The Absorption of High-Degree P_mode Oscillations In and Around Sunspots. Accepted for publication in the Astrophysical Journal. May,1 988. Castor, J. I., C. G. Davis, and D. K. Davisson. 1977. Dynamical Zoning Vlflthin a Lagrangian Mesh by Use of DYN, a Stellar Pulsation Code. Los Alamos: Los Alamos Scientific Laboratory. Conte, S. D., and C. de Boor. 1972. Elementary Numerical Analysis: An Algorithmic Approach. New York: McGraw-Hill. Gottlieb, D., and S. A. Orszag. Numerical Analysis of Spectral Methods: Theory and Applications. CBMS-NSF Regional Conference series, monograph 26. Philadelphia: Society of Industrial and Applied Mathematics. Huang, Kerson. 1963. Statistical Mechanics. New York: John Wiley & Sons. Hughes, W. F., and F. J. Young. 1966. The Electrodynamics of Fluids. New York: John Wiley & Sons. Jackson, J. D. 1975. Classical Electrodynamics. New York: John Wiley & Sons. 178 Krall, N. A., and A. W. Trivelpiece. 1973. Principles of Plasma Physics. New York: McGraw-Hill. Landau, L. D., and E. M. Lifshitz. 1959. Fluid Mechanics. Volume 6 of Course of Theoretical Physics. Translated from the Russian by J. B. Sykes and W. H. Reid. Oxford: Pergamon Press. ----------- . 1960. Electrodynamics of Continuous Media Volume 8 of Course of Theoretical Physics. Translated from the Russian by J. B. Sykes and J. S. Bell. Oxford: Pergamon Press. Lighthill, James. 1978. Waves in Fluids. Cambridge: Cambridge University Press. Orlanski, l. 1976. A simple boundary condition for unbounded hyperbolic flows. Journal of Computational Physics 21 :251-269. Orszag, S. A. 1980. Spectral Methods for problems in complex geometries. Journal of Computational Physics 27:70-92. Pain, H. J. 1983. The Physics of Vibrations and Waves. Chichester: John Wiley & Sons. Press, W. H., B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling. 1986. Numerical Recipes: The Art of Scientific Computing. Cambridge: Cambridge University Press. Rae, l. C., and B. Roberts. 1983. MHD wave motion in magnetically structured atmospheres. Astronomy and Astrophysics 1 1 9:28-34. Roberts, 8. 1981. Wave propagation in a magneticlly structured atmosphere I: Surface Waves at a magnetic interface. Solar Physics 69:27-38. 1981. Wave propagation in a magneticlly structured atmosphere ll: Waves in a magnetic slab. Solar Physics 69:38-56. 179 1982. Wave propagation in a magneticlly structured atmosphere III: The slab in a magnetic environment. Solar Physics 76:239-259. Steinolfson, RS. 1984. Resonant absorption of phased-mixed Alfvén surface waves in ideal and resistive magnetohydrodynamics: Initial-value problem. Phys. Fluids 27:781-783. Tataronis, J.A. 1975. Energy absorption in the continuous spectrum of ideal MHD. Journal of Plasma Physics 13:87-105. Wilson, P. R. 1978. Wave modes in a magnetic flux sheath. Astrophysical Journal 221 :672-676. 180 MK HIG AN STATE UNIVERSITY LIBRARIE IIHHHIHHH 31293 02461 8492