1. (a) Johda ns. Batemanin yhtälöt eli hiukkastiheyksien taseyhtälöt huomioiden radioaktiivisen hajoamisen ja neutronireaktiot. (b) Kirjoita yhtälöt matriisimuodossa ja esitä formaali ratkaisu, kun kerroinmatriisi on vakio. (c) Miksi formaali ratkaisu ei toimi reaktorisovelluksissa sellaisenaan? Ratkaisu (a) Batemanin yhtälöt kuvaavat nuklidien määrän muutosta ajassa. Nuklidin i tasapainoyhtälö on + j dn i (t) = hajoaminen i:ksi i:n hajoaminen dt +syntyminen neutronien vaikutuksesta hajoaminen neutronien vaikutuksesta = b j i λ j N j (t) λ i N i (t) j σ j i (E)N j (t)φ(e, t)de σ i,a (E)N i (t)φ(e, t)de (1.1) missä kaksi ensimmäistä termiä tulevat radioaktiivisesta hajoamista ja kaksi viimeistä neutronien aiheuttamista reaktioista. λ i on nuklidin i hajoamisvakio ja b j i antaa todennäköisyyden, että nuklidin j hajoaminen tuottaa nuklidin i 1.1. σ i,a on nuklidin i absorptiovaikutusala ja σ j i transmutaatiovaikutusala eli vaikutusala sille, että nuklidi j muuttuu nuklidiksi i tähän on nyt ajateltu sisältyvän fissiot, mutta toki semmoinen termi voitaisiin ottaa erikseen. φ on neutronivuo. Neutronivuointegraaleista voi kehittää efektiiviset 1-ryhmäiset vastineensa suorittamalla integraalin numeerisesti. Tällöin dn i (t) dt = j missä yksiryhmäsuureet ovat σ j i(t) φ(t) = σ i,a (t)φ(t) = 1.1 engl. branching ratio. [b j i λ j + σ j i (t)φ(t)] N j (t) [λ i + σ i,a (t)φ(t)] N i (t), σ j i (E, t)φ(e, t)de, σ i,a (E, t)φ(e, t)de, (1.2) (1.3a) (1.3b) 1
ja φ(t) = φ(e, t)de on yksiryhmävuo, ja energiariippuvat vaikutusalat riippuvat ajasta lämpötilariippuvuuden vuoksi. Saman asian voi vielä kirjoittaa efektiivisillä hajoamisvakioilla a muodossa dn i (t) dt = j a j i (t)n j (t) a i (t)n i (t), (1.4) missä a j i (t) = b j i λ j + σ j i (t)φ(t), (1.5a) a i (t) = λ i + σ i,a (t)φ(t). (1.5b) Mikäli neutronivuo tiedetään ongelma palautuu siis hajoamisyhtälöihin efektiivisillä hajoamisvakioilla. (b) Selvästi kyseessä on lineaarinen yhtälöryhmä, joten sen voi kirjoittaa matriisimuodossa: d N(t) dt = A(t) N(t), (1.6) missä matriisi A pitää sisällään yhtälön (1.4) kertoimet. Mikäli A A(t) (eli mikroskooppiset vaikutusalat ja neutronivuo on vakio) ratkaisuna on N(t) = e At N(0), (1.7) minkä laskemiseksi löytyy tehokkaita ja tarkkoja numeerisia menetelmiä. (c) Reaktorisovelluksissa ratkaisun ongelma tulee juuri ehdosta, että A ei saa riippua ajasta, vaikka todellisuudessa vuo riippuu ajasta. Yleensä sovelluksissa vuo oletetaan vakioksi aika-askeleella ja käytetään korjaavia menetelmiä, kuten ennusta- ja korjaa menetelmää. Kerroinmatriisin aikariippuvuus tulee yhtälön (1.1) mikroskooppisten vaikutusalojen ja neutronivuon aikariippuvuudesta. Näistä ensimmäinen riippuu lämpötilasta, joka on pitkällä aikavälillä hitaasti muuttuva, ja jälkimmäinen riippuu nuklidikonsentraatioista. Nuklidikonsentraatioidenkin muutokset ovat pääsääntöisesti hitaita, joten vuota voi pääsääntöisesti pitää hitaasti muuttuvana ellei jopa vakiosuureena riittävän lyhyillä aikaväleillä. 2
2. TRIGAssa säteilytetään kultaa (100 % 197 79Au) neljän päivän ajan. Kuinka paljon kullasta on muuttunut aktiiviseksi 198 79Au:ksi ja kuinka paljon 198 79Au:ta on jäljellä suhteessa alkuperäiseen kultamäärään säteilytyksen loputtua. ROSFOND -vaikutusalakirjaston mukaan 197 79Au:n terminen sieppausvaikutusala on 98,70 b ja 198 79Au:n terminen sieppausvaikutusala on 2,841 10 4 b olettaen 293,6 K lämpötilan 2.1. 198 79Au:n puoliintumisaika on 2,695 d. Reaktorissa pidetään vakiovuo 5 10 13 cm 2 s 1. Ratkaise tehtävä matriisieksponenttia hyödyntäen. Ratkaisu Kirjoitetaan Batemanin yhtälö matriisimuodossa Aukikirjoitettuna tämä on ] [ dn198 (t) dt dn 197 (t) dt = d N(t) dt = A(t) N(t). (2.1) [ λ198 σ 198,a φ σ 197 198 φ 0 σ 197,a φ ] [ N198 (t) N 197 (t) ], (2.2) kun huomioidaan (a) 198 79Au:n puoliintuminen, (b) 198 79Au:n transmutatoituminen muiksi aineiksi, (c) 197 79Au:n transmutatoituminen 198 79Au:ksi ja (d) 197 79Au:n transmutatoituminen muiksi aineiksi. Transmutaatiovaikutusala σ 197 198 tunnistetaan sieppausvaikutusalaksi σ 197,γ. Paremman puutteessa arvioidaan absorptiovaikutusaloja σ 197,a ja σ 198,a vastaavilla sieppausvaikutusaloilla. Nyt halutaankin laskea enää matriisin A matriisieksponentti. Tätä varten tarvitaan ominaisarvot- ja vektorit. Kirjoittaen lyhennysmerkinnöin [ ] [ ] a c 4,4029 10 A = = 6 s 1 4,9350 10 9 s 1 0 d 0 4,9350 10 9 s 1 (2.3) saadaan ominaisarvoiksi suoraan diagonaalilta λ 1 = a ja λ 2 = d. Näitä vastaavat ominaisvektorit ovat esimerkiksi [ ] [ ] 0 c 1 (A λ 1 I) v 1 = v 0 d a 1 = 0 = v 1 = ja (2.4a) 0 [ ] [ ] a d c c (A λ 2 I) v 2 = v 0 0 2 = 0 = v 2 =. (2.4b) d a 2.1 Voit olettaa vaikutusalojen olevan riittävän edustavia kyseiselle reaktorille 3
Tällöin matriisieksponentti on e At = V e Λt V 1 [ ] [ ] [ ] 1 c exp(at) 0 1 d a c = 0 d a 0 exp(dt) d a 0 1 [ ] [ ] 1 c 1 (d a) exp(at) c exp(at) = 0 d a d a 0 exp(dt) [ ] exp(at) c (exp(dt) exp(at)) = d a. (2.5) 0 exp(dt) Ottaen huomioon alkuehdon saadaan N(t) = e At N(0) = [ c d a (exp(dt) exp(at)) exp(dt) ] N 197 (0). (2.6) Ratkaisu on oikeastaan luonnollinen: 197 79Au hajoaa 198 79Au:ksi ja 198 79Au:ta poistuu sekä hajoamisella että absorptiolla. Helpommin tämä olisi tullut suoraan differentiaaliyhtälön ratkaisusta. Matriisien käyttäminen on kuitenkin parempi isojen hajoamisketjujen ymmärtämiseksi. Sijoittamalla lukuarvot saadaan aktiivisen kullan määräksi N 198 (4 d)/n 197 (0) = 0,08752 % ja alkuperäisen kullan määräksi N 197 (4 d)/n 197 (0) = 99,83 % eli aktiivista kultaa on saatu 0,088 %, mutta tätä varten kullasta on käytetty 0,17 % - noin puolet syntyneestä aktiivisuudesta on jo käytetty. 4
3. Termistä koereaktoria käytetään vanhan virastotavan mukaisesti maanantaista perjantaihin kello kahdeksasta kuuteentoista päivällä. Näin on toimittu jo 40 vuoden ajan. Arvioi reaktorissa olevan 131 I:n keskimääräisen tiheyden historia. Miten 131 I-tiheyden alkuviikkojen sykli eroaa loppuviikkojen syklistä? Reaktoria ajetaan 250 kw teholla ja sen polttoaineen tilavuus on 32600 cm 3. Toista lasku 135 Xe:lle ja 137 Cs:lle. Nuklidikohtaisia vakioita on taulukossa 3.1. Voit olettaa, että nuklidit syntyvät suoraan fissiosta ja, että reaktoria ajetaan niin pienellä vuolla, absorptiot eivät ole merkittäviä. Päteekö oletukset jollekin tarkasteltavalle nuklidille? Taulukko 3.1: Nuklidikohtaisia vakioita. Nuklidi T 1/2 χ c 131 I 8,02 d 0,02879 135 Xe 9,10 h 0,06647 137 Cs 30,17 a 0,06236 Kumulatiivinen saanto fissiota kohti. Ratkaisu Merkitään reaktorin tehoa sen ollessa päällä P 0 :llä. Mallinnetaan tehjakaumaa tasaisena paremman tiedon puutteessa, jolloin P 0 = ɛσ f ( r,t)φ( r,t)dv = ɛσ f (t)φ(t)v, (3.1) missä V on polttoaineen tilavuus. Tästä saadaan Σ f (t)φ(t) = P/(ɛV ). Tehtävänannon oletuksin jodin taseyhtälö on N (t) = χ c Σ f (t)φ(t) λn(t), (3.2) missä N on jodikonsentraatio ja hajoamisketjussa aiemmin olevat nuklidit on yksinkertaisuuden vuoksi ajateltu hajoavan jodiksi välittömästi. Kun reaktori ei ole päällä, taseyhtälöstä saadaan N (t) = λn(t) = N(t) = N 0 exp( λt). (3.3) 5
Kun reaktori on päällä, taseyhtälö on ensimmäisen asteen epähomogeeninen yhtälö N (t) = χ c Σ f φ λn(t), (3.4) jonka homogeeniosan täydellinen ratkaisu on N(t) = A exp( λt) ja epähomogeeniosan yksittäisratkaisu on N = χ c Σ f φ/λ. Alkuehdolla N(0) = N 0 kokonaisratkaisu on siis N(t) = ( N 0 χ ) cσ f φ λ exp( λt) + χ cσ f φ. (3.5) λ Nyt koereaktorin nukliditiheydelle voidaan arvioida: annetaan nukliditiheydelle nolla-arvo, ajetaan reaktoria ensimmäisen päivän käyttöjakson yli ja päivitetään nukliditiheyden arvo kaavalla (3.5). Annetaan reaktorin jäähtyä seuraavaan käyttöjaksoon päivittämällä nukliditiheys kaavalla (3.3). Tätä jatketaan kunnes noin 40 vuotta on kulunut. Tuloksina saadaan kuvan 3.1 mukaiset tiheysarviot. Reaktorin alkuaikoina 131 I:n määrä kasvaa, mutta sen tiheys saturoituu 40 vuoden aikana - viimeiset viivat ovat käytännössä päällekkäin. 135 Xe:lle saturoituminen tapahtuu jo ensimmäisen syklin aikana, ja 137 Cs:nkin saturoituu, mutta hitaammin kuin 131 I. 137 Cs:n hajoaminen ei käytännössä näy viikon aikana - sahalaitoja ei ole. Oletukset ovat kohtuullisia muille nuklideille kuin 135 Xe, joka syntyy pääasiassa 135 I:n hajoamistuotteena. 135 I:n puoliintumisaika on kohtuullisen pitkä, 6,6 h, joten xenonia ei ehdi syntymään reaktorin ollessa käynnissä niin paljoa kuin tässä on arvioitu. Toisaalta 135 Xe:n ison absorptiovaikutusala jättäminen huomiotta vaikuttaa toiseen suuntaan. Tulokset riippuvat täysin fissiotaajuustiheydestä, joten sen tarkempi tuntemus olisi tarpeen kunnollisia tuloksia varten. Tässä ei myöskään huomioida talvi- ja kesäajan aiheuttamia muutoksia virastoajoissa. Tässä vielä Matlab-skripti jolla kuva 3.1 luotiin: % This script assumes that the nuclide is born instantly from the fission % (and from decay of some other nuclide), and that the flux is so low that % absorption can be ignored. For example neither of those conditions are % met with Xe-135. function burnup_nuclides_in_triga() a = 24*365; d = 24; h = 1; 6
Kuva 3.1: Karkeat arviot 131 I, 135 Xe ja 137 Cs:n tiheyksistä. % 250 kw / 32600 cm^3 / 200 MeV fissiondensityrate = 239321700000; % 1/(cm^3s) data = { I-131, 8.02*d, 0.02879, I_131 ; 7
Xe-135, 9.10*h, 0.06247, Xe_135 ; Cs-137, 30.17*a, 0.06236, Cs_137 }; nnuclides = size(data, 1); nuclides = data(:,1); T_half = [data{:,2}] ; lambda = log(2)./ T_half; % in 1/hour chi = [data{:,3}] ; id = data(:,4); close all; for I=1:nNuclides nweeks = ceil(365/7*40); N = computeconcentrations(nweeks, lambda(i), chi(i), fissiondensityrate); nweek = 2; H = visualize(n, nweek, nuclides{i}, lambda(i)); print(h, -dpng, [../figures/burnup_nuclides_in_triga_,... id{i},.png ]); nweek = nweeks-1; H = visualize(n, nweek, nuclides{i}, lambda(i)); print(h, -dpng, [../figures/burnup_nuclides_in_triga_1_,... id{i},.png ]); % Computes concentrations every eight hours assuming the reactor was % started on a Monday. function N = computeconcentrations(nweeks, lambda, chi, fissiondensityrate) npoints = 3*7*nWeeks; N = zeros(npoints, 1); % zero initial concentration deltat = 8; % hours SS = chi*fissiondensityrate/lambda; % steady state concentration I = 1; for W=1:nWeeks % Mon-Fri for D=1:5 % Shutdown from 0 to 8 8
I = I+1; N(I) = N(I-1)*exp(-lambda*deltaT); % Operating from 8 to 16 I = I+1; N(I) = (N(I-1)-SS)*exp(-lambda*deltaT)+SS; % Shutdown from 16 to 24 I = I+1; N(I) = N(I-1)*exp(-lambda*deltaT); % Sat-Sun for D=6:7 % Shutdown from 0 to 8 I = I+1; N(I) = N(I-1)*exp(-lambda*deltaT); % Shutdown from 8 to 16 I = I+1; N(I) = N(I-1)*exp(-lambda*deltaT); % Shutdown from 16 to 24 I = I+1; N(I) = N(I-1)*exp(-lambda*deltaT); % Visualizes a given week. function H = visualize(nn, nwek, nuclide, lambda) npoints = 50; styles = { r-, g-, b- }; H = figure(); set(h, PaperUnits, centimeters ) figure_width=5.5; figure_height=5.5; set(h, PaperSize,[figure_width, figure_height]); left=0.00*figure_width; width=1.00*figure_width; bottom=0.00*figure_height; height=1.00*figure_height; set(gcf, PaperPosition,[left, bottom, width, height]) factor = 50; 9
GG = get(gcf, Position ); X0 = GG(1); Y0 = GG(2)+GG(4)-height*factor; set(gcf, Position,[X0, Y0, width*factor, height*factor]) for J=1:3 % get leg right hold on plot([0, 0], [0, eps], styles{j}); hold off for J=1:3 nweek = nwek + J - 2; npointsperweek = 3*7; nppw = npointsperweek; nfrom = (nweek-1)*nppw+1; nto = nweek*nppw; N = NN(nFrom:nTo); hold on for I=1:length(N) T = linspace((i-1)*8, I*8, npoints); deltat = linspace(0, 8, npoints); if (I==2 I==5 I==8 I==11 I==14) % deduce SS SS = (N(I+1) - N(I)*exp(-lambda*8)) / (1-exp(-lambda*8)); C = (N(I)-SS)*exp(-lambda*deltaT)+SS; plot(t, C, styles{j}); else C = N(I)*exp(-lambda*deltaT); plot(t, C, styles{j}); hold off xlabel( Hour in week (-) ); ylabel([nuclide, concentration (1/cm^3) ]); YL = ylim(); ylim([0, YL(2)]); xlim([0, 7*24]); set(gca, Xtick, 0:24:7*24); leg({[ Week, num2str(nwek-1)],... [ Week, num2str(nwek+0)],... 10
[ Week, num2str(nwek+1)]},... Location, SouthEast ); 11
4. Tarkastellaan puhdasta näytettä radioaktiivista ainetta, jonka hajoamisketju päättyy I:n hajoamisen jälkeen stabiiliin ytimeen. Johda nukliditiheyksille analyyttinen ratkaisu ja sovella sitä 232 U:n hajoamisketjuun. Jätä muut kuin päähajoamismekanismit huomiotta. Ratkaisu Merkitään nuklidin i hajoamisvakiota λ i :lla. Taseyhtälöt ovat N 0(t) = λ 0 N 0, (4.1a) N i(t) = λ i 1 N i 1 λ i N i, kun 0 < i < I, ja, (4.1b) N I = λ I 1 N I 1. (4.1c) Aikaderivaattaa on tässä merkitty pilkulla. Tulkitsemalla λ I = 0 saadaan myös yhtälö (4.1c) yhtälön (4.1b) muotoon. Nämä ovat Batemanin yhtälöt, joiden kerroinmatriisi on alakolmiomatriisi. Ongelma ratkennee siis helposti ratkaisemalla yhtälöt ylhäältä alaspäin. Ensimmäisen yhtälön on homogeeninen ensimmäisen asteen differentiaaliyhtälö, jonka ratkaisu on N 0 (t) = N 0 e λ 0t, (4.2) missä N 0 on puhtaan näytteen nuklidimäärä. Toinen yhtälön on nyt epähomogeeninen ensimmäisen asteen differentiaaliyhtälö. Sen homogeeniyhtälön ratkaisu on N 1 (t) = A 1 e λ 1t, (4.3) ja epähomogeeniyhtälön yksittäisratkaisu löytyy taas yritteellä N 1 (t) = B 1 e λ 0t. (4.4) Kertoimeksi B 1 saadaan N 0 λ 0 /(λ 1 λ 0 ). Yhdistämällä ratkaisut ja alkuehdon N 1 (0) = 0 saadaan kokonaisratkaisuksi Haetaan siis yleistä ratkaisua muodossa N 1 (t) = N 0 λ 1 λ 1 λ 0 ( e λ 0 t e λ 1t ). (4.5) N i (t) = i C i,j e λjt. (4.6) 12
Sijoitetaan tämä yhtälöön (4.1b), jolloin i i 1 λ j C i,j e λjt = λ i 1 C i 1,j e λjt i λ i C i,j e λjt, i 1 i 1 i 1 λ j C i,j e λjt = λ i 1 C i 1,j e λjt λ i C i,j e λjt, i 1 [ λj C i,j e λjt λ i 1 C i 1,j e λjt + λ i C i,j e ] λ jt = 0. (4.7) Koska i j = λ i λ j ovat eri eksponenttifunktiot lineaarisesti riippumattomia, ja voidaan laskea vain kertoimilla: λ j C i,j λ i 1 C i 1,j + λ i C i,j = 0, C i,j = λ i 1 C i 1,j. (4.8) λ i λ j Näin saatiin kertoimet C i,j, i = 1,...,I, j = 0,...,i 1 määritettyä rekursiivisesti. Kertoimet C i,i, i = 1,...,I saadaan alkuehdosta N i (0) = 0: Kerroin C 0,0 olikin jo N 0. i 1 C i,i = C i,j. (4.9) Kuvassa 4.1 on esitetty aluksi puhtaan 232 U näytteen nuklidikonsentraatiot 10 puoliintumisajan ajalta. Tarvittavat vakiot on esitetty taulukossa 4.1. Muiden kuin 232 U:n konsentraatiot saavuttavat kohtuullisen nopeasti omat maksitiheytensä, ja alkavat vähentyä tästä. Tila on lähes tasapainossa siinä mielessä, että tiheyksien suhteet ovat lähes vakioita 208 Pb:tä lukuunottamatta. Tässä ei kuitenkaan huomioitu haarautumisia eli sitä, että nuklidi voi hajota monella eri tavalla. Tässä on ongelma on lineaarinen eli ei-puhtaisiin radioaktiivisiin aineisiin riittää, että soveltaa yllä olevaa jokaiselle nuklidille erikseen, ja summaa lopputulokset. Sovelluksissa tämän analyyttisen lähestystavan yhtenä ongelmana on numeerinen stabiilius: λ i λ j :llä jakaminen kadottaa merkitseviä numeroita, kun λ i λ j. Tässä vielä Matlab-skripti jolla kuva 4.1 luotiin: 13
Taulukko 4.1: 232 U:n hajoamisketjun vakiot. Tässä on oletettu, että ylemmän rivin nuklidi hajoaa aina alemman rivin nuklidiksi. Nuklidi T 1/2 232 U 68,9 a 228 Th 1,913 a 224 Ra 3,66 d 220 Rn 55,6 s 216 Po 0,15 s 212 Pb 10,64 h 212 Bi 9 m 212 Po 17,1 ns 208 Pb Kuva 4.1: Nuklidikonsentraatioiden kehitys 232 U:n hajoamisketjussa. 14
% Decay chain of a pure sample of U-232: % Time units a = 365.25*24*60*60; % year is badly defined d = 24*60*60; h = 60*60; m = 60; % minute or month? this is minute. s = 1; ms = 1e-3; us = 1e-6; ns = 1e-9; % Data N0 = 1; % atoms, atoms / cc or something proportional to those. % data = { U-233, 1.592e5*a, k-, 2;... % Th-229, 7880*a, k--, 1;... % Ra-225, 14.8*d, k--, 1;... % Ac-225, 10.0*d, k--, 1;... % Fr-221, 4.9*m, k--, 1;... % At-217, 32.3*ms, k--, 1;... % Bi-213, 45.59*m, k--, 1;... % Po-213, 4.2*us, k--, 1,... % Pb-209, 3.253*h, k--, 1;... % Bi-209, inf, k-, 2}; data = { U-232, 68.9*a, k-, 2;... Th-228, 1.913*a, k--, 1;... Ra-224, 3.66*d, b-, 1;... Rn-220, 55.6*s, b--, 1;... Po-216, 0.15*s, g-, 1;... Pb-212, 10.64*h, g--, 1;... Bi-212, 9*m, r-, 1;... Po-212, 17.1*ns, r--, 1;... Pb-208, inf, r-, 2}; nnuclides = size(data, 1); names = data(:,1); T_half = [data{:,2}]; lambda = log(2)./ T_half; styles = data(:,3); linewidths = data(:,4); 15
% Decay chain C = zeros(nnuclides, nnuclides); C(1,1) = N0; for I=1:nNuclides for J=1:(I-1) C(I,J) = lambda(i-1) / (lambda(i) - lambda(j)) * C(I-1,J); C(I,I) = C(I,I) - C(I,J); % Time discretization npoints = 11111; T = linspace(0, 10*T_half(1), npoints); % Values N = zeros(nnuclides, length(t)); for I=1:nNuclides for K=1:length(T) for J=1:I N(I,K) = N(I,K) + C(I,J)*exp(-lambda(J)*T(K)); % Visualize close all H = figure(); set(h, PaperUnits, centimeters ) figure_width=12.5; figure_height=7.5; set(h, PaperSize,[figure_width, figure_height]); left=0.00*figure_width; width=1.00*figure_width; bottom=0.00*figure_height; height=1.00*figure_height; set(gcf, PaperPosition,[left, bottom, width, height]) factor = 50; GG = get(gcf, Position ); X0 = GG(1); Y0 = GG(2)+GG(4)-height*factor; set(gcf, Position,[X0, Y0, width*factor, height*factor]) 16
hold on for I=1:nNuclides plot(t/a, N(I, :), styles{i}, LineWidth, linewidths{i}); hold off set(gca, YScale, log ); leg(names, Location, EastOutside ) xlabel( Time (years) ) ylabel( Concentration (N_0) ) XL = xlim(); xlim([xl(1), 10*T_half(1)/a]); print(h, -dpng,../figures/burnup_decay_chain.png ); 17