PHGN590 Introduction to Nuclear Reactor Physics J.A. McNeil Modeling Neutron Diffusion in Reactors (February 29, 2009) Packages to be Used Data Cons = 8kB Ø 1.38066 µ 10 ^ -23 , Troom Ø 293.15, e -> 1.60219 µ 10 ^ -19, mn Ø 1.674929 µ 10 ^ -27<; D2Odata = 8r Ø .001105, nd -> .03323, Ss -> .4519, Sg Ø 4.42 µ 10 ^ -5 , Sf Ø 0, n Ø 0<; C12data = 8r Ø .00160, nd Ø .08023, Ss -> .3811, Sg Ø .0002728 , Sf Ø 0, n Ø 0<; H* Thermal neutron values *L Nadata = 8r Ø .00097, nd Ø .02541, Ss Ø .08131, Sg Ø .01347 , Sf Ø 0, n Ø 0<; U235data = 8r Ø .01886, nd Ø .04833, Ss Ø .01588, Sg Ø 4.833, Sf -> 28.37, n Ø 2.42<; U238data = 8r Ø .0191, nd Ø .04833, Ss Ø .4301, Sg Ø .13194, Sf -> 0, n Ø 0<; Pu239data = 8r Ø .0196, nd Ø .04938, Ss Ø .3902, Sg Ø 13.27, Sf -> 36.66 , n Ø 2.98<; H* Fast neutron values *L Nadata = 8r Ø .00097, nd Ø .02541, Ss Ø .083853, Sg Ø .000020328 , Sf Ø 0, n Ø 0<; U235data = 8r Ø .01886, nd Ø .04833, Ss Ø .328644, Sg Ø .0120825, Sf -> .06766, n Ø 2.6<; U238data = 8r Ø .0191, nd Ø .04833, Ss Ø .33347, Sg Ø .007732, Sf -> .004591, n Ø 2.6<; Pu239data = 8r Ø .0196, nd Ø .04938, Ss Ø .33578, Sg Ø .0128388, Sf -> .091353, n Ø 2.98<; 2 NeutronDiffusion.nb Introduction Nuclear energy arises from the splitting of large nuclei by neutrons which, in addition to releasing copius amounts of energy, release more neutrons. These in turn can cause additional fissions leading to a sustained chain reaction, or in the case of a nuclear weapon, an exponentially increasing cascade and explosion. Fundamentally, a neutron interacting with a nucleus can undergo three fundamental scattering processes: 1) it can bounce off (elastically or inelastically), 2) it can be absorbed by emitting a gamma, and 3) for fissile nuclei, it can be absorbed and then induce fission which releases additional neutrons. In essence the control of nuclear energy comes down to controlling the neutrons. The relative probabilities for any of these events are governed by the cross section. The rate for any process is the neutron flux (number density times average speed) times the relevant cross section times the number density of target nuclei. For convenience, these last two factors are usually multiplied together to give the "macroscopic cross section". Specifically, the rate ” ” ” that neutrons are absorbed at location r is given by Sa j HrL,where j HrLis the neutron flux (number of neutrons per unit area per unit time) and Sa is the macroscopic cross section for absorption. (For fissile materials the absorption cross section includes both the gamma and fission processes.) Using Fick's law and the continuity equation, one arives at the governing equation for the neutron flux, ” 1 ∂ j Ir, tM ”2 ” ” D “ j Ir, tM + Hn Sf - Sa L j Ir, tM = ê , ∂t v where j is the neutron flux (neutron number density times average speed), D is the diffusion constant due to elastic scattering, n is the average number of neutrons produced by a fission, Sa and Sf are the macroscopic cross sections for absorption and fission respectively. The diffusion constant is related to the macroscopic scattering cross section by D = 1 ê H3 HSa + Ss H1 - mLLL. (This is an approximate expression.) Analysis of the problem can be simplified by introducing a parameter, k, which scales the rate of neutron production. One can consider k to be adjusted to give a steady state time-independent neutron flux, ”2 ” D “ j HrL + n Sf k ” - Sa j HrL = 0. As will be explained later, k is the net neutron multiplication factor that determines if the reactor is critical (self-sustaining). Define the "buckling" constant, B2 = 1 n Sf D k - Sa , and, solving for k find, k= n Sf D B2 + Sa , In terms of the buckling constant, the steady-state diffusion equation can be written as an eigenvalue problem, ”2 ” ” “ j HrL = - B2 j HrL. One strategy to investigate criticality of a reactor configuration is to solve the eigenvalue problem to obtain allowed values of the buckling constant, B, for some reactor composition and geometry. The geometric information about the reactor is contained in B. From Eq.(5) one can understand that the lowest buckling eigenvalue will dominate any cascade process since any larger eigenvalue necessarily yields a smaller neutron multiplication factor. Setting k = 1 for the lowest eigenvalue will determine the geometry that will give a critical reactor for the given fuel/moderator mixture. Maxwell velocity distribution NeutronDiffusion.nb Maxwell velocity distribution ü Calculate the Maxwell velocity distribution and plot it for room temperature Clear@MB, m, v, vavg, vrms, vpeakD MB@v_, T_D = mn 2 p kB T 3ë2 - ‰ mn v2 2 kB T ; NormCheck = 4 p IntegrateBv2 MB@v, TD, 8v, 0, ¶<, Assumptions Ø :ReB mn kB T Print@" Maxwell distribution normalization check = ", NormCheckD F > 0>F; vavg@T_D = SimplifyB4 p IntegrateBv3 MB@v, TD, 8v, 0, ¶<, Assumptions Ø :ReB mn kB T vrms@T_D = . SimplifyB4 p IntegrateBv4 MB@v, TD, 8v, 0, ¶<, Assumptions Ø :ReB F > 0>FF; mn kB T F > 0>FF; vpeak@T_D = v ê. FlattenASolveA∂v Iv2 MB@v, TDM ã 0, vEEP3T; Print@" Vavg = ", vavg@TDD; Print@" Vrms = ", vrms@TDD; Print@" Vpeak = ", vpeak@TDD; vmax = 3 vavg@Troom D ê. Cons; horizaxis = Style@"v", FontFamily Ø "Tahoma", FontColor Ø Blue, FontWeight Ø Bold, FontSize Ø 12D; vertaxis = Style@"P", FontFamily Ø "Tahoma", FontColor Ø Blue, FontWeight Ø Bold, FontSize Ø 12D; plotname = Style@"Maxwell Veclocity Distribution", FontFamily Ø "Tahoma", FontColor Ø Black, FontWeight Ø Bold, FontSize Ø 14D; PlotA4 p v2 MB@v, Troom D ê. Cons, 8v, 0, vmax<, PlotStyle Ø 8Black, Thickness@0.01`D<, Frame Ø True, GridLines Ø Automatic, PlotLabel Ø plotname, FrameLabel Ø 8horizaxis, vertaxis<, ImageSize Ø 400, Background Ø LightOrange, PlotRange Ø AllE 3 NeutronDiffusion.nb Maxwell distribution normalization check = 1 2 p 2 Vavg = mn T kB Vrms = T kB 3 Vpeak = mn 2 T kB mn Maxwell Veclocity Distribution 0.0003 P 4 0.0002 0.0001 0.0000 0 1000 2000 3000 4000 5000 6000 7000 v Clear@A, v, vboost, vcm, EnD vpeakvalue = 100 vpeak@Troom D ê. Cons; H* most probable speed in cmês *L vrmsvalue = 100 vrms@Troom D ê. Cons ;H* rms speed in cmês *L vavgvalue = 100 vavg@Troom D ê. Cons; H* average speed in cmês *L vspeed = vavgvalue; vboost@A_D = vspeed ê H1 + AL 80, 0, 1< ; H* speed between CM and lab frames *L vcm@A_D = A vspeed ê H1 + AL ; En = H kB Troom ê eL ê. Cons; Print@" Thermal energy, kB T = ", En, " eV"D Print@" Vavg = ", vavgvalue, " cmês"D; Print@" Vrms = ", vrmsvalue, " cmês"D; Print@" Vpeak = ", vpeakvalue, " cmês"D; H* v=2.2 10^5 cmês *L Thermal energy, kB T = 0.0252617 eV Vavg = 248 062. cmês Vrms = 269 247. cmês Vpeak = 219 839. cmês NeutronDiffusion.nb 5 Task 1: Point Source Task 1. Before tackling nuclear reactor models, let's just study simple neutron diffusion without any fission. Consider an infinite volume of some material, say sodium to be specific, at room temperature with a thermal neutron point source at the origin that emits S neutrons per second isotropically. The analytic solution for the steady state neutron flux is j HrL = S ‰-rêL 4pD r where D is the diffusion constant, L = , D ê Sa is called the diffusion length (refer to the class notes). Develop a Monte Carlo simulation for this system and show that the flux follows this form, evaluate the diffusion length, and compare with the analytic result. (One strategy is to launch a neutron from the origin in an arbitrary direction and track the trajectory until it is absorbed. Assume that the neutron scatters isotropically from the nuclei of the moderating material. Keep track of the radius of the neutron (suitably binned) for the purposes of constructing j, calculating the effective diffusion length at the end of the simulation, and compare your Monte Carlo result with the analytic result, Eq.(7).) ü Analytic results for mean free path and diffusion lengths H* Use Sodium thermal neutron data *L Avalue = 23; data = 8r Ø .00097, nd Ø .02541, Ss Ø .08131, Sg Ø .01347 , Sf Ø 0, n Ø 0<; H* Use Carbon thermal neutron data *L Avalue = 12; C12data = 8r Ø .00160, nd Ø .08023, Ss -> .3811, Sg Ø .0002728 , Sf Ø 0, n Ø 0<; muavg@A_D = 2 ê H3 AL; Sa = HSg + Sf L ê. data; MFP = 1 ê Ss ê. data ê. Cons; MFPabs = 1 ê Sa ê. data ê. Cons; MFPtotal = 1 ê HSs + Sg + Sf L ê. data ê. Cons; Diff = 1 ê HSa + Ss H1 - muavg@AvalueDLL ê 3 ê. data ê. Cons; DAlt = Ss ê HSa + Ss H1 - muavg@AvalueDLL ^ 2 ê 3 ê. data ê. Cons; L = Sqrt@Diff ê Sa D ê. data ê. Cons; LAlt = Sqrt@DAlt ê Sa D ê. data ê. Cons; AbsorptionLength = 1 ê Sa ê. data ê. Cons; DiffTh = vspeed Diff; H* Ss , Sa Ø cm^-1 *L Print@" Mean Free Path HscatteringL = ", MFP, " cm"D Print@" Mean Free Path HabsorptionL = ", MFPabs, " cm"D Print@" Mean Free Path HtotalL = ", MFPtotal, " cm"D Print@" Flux Diffusion constant: D = ", Diff, " cm,", " DHaltL = ", DAlt, " cm"D Print@" Diffusion Length: L = ", L, " cm,", " LHaltL = ", LAlt, " cm"D Print@" Absorption MFP: = ", AbsorptionLength, " cm"D Print@" Theoretical Density Diffusion constant = ", DiffTh, " cm^2ês"D Mean Free Path HscatteringL = 12.2986 cm Mean Free Path HabsorptionL = 74.239 cm Mean Free Path HtotalL = 10.5507 cm Flux Diffusion constant: D = 3.69292 cm, Diffusion Length: Absorption MFP: L = 16.5577 cm, DHaltL = 3.32664 cm LHaltL = 15.7152 cm = 74.239 cm Theoretical Density Diffusion constant = 916 073. cm^2ês ü Monte Carlo tracking of neutron paths 6 NeutronDiffusion.nb Monte Carlo tracking of neutron paths ü Track one neutron dt = 5. µ 10 ^ -6; ds = 100 vavg@Troom D dt ê. Cons; dPs = Ss ds ê. data; dPa = HSg + Sf L ds ê. data; Print@" For time step of ", dt, " sec, and average speed of, v = ", vspeed, " cmês, distance per step = ", ds, " cm"D Print@" The probability of scattering in one time step:"D Print@" Pscatt = ", dPs, " Pabs = ", dPaD For time step of 5. µ 10-6 sec, and average speed of, v = 248 062. cmês, distance per step = 1.24031 cm The probability of scattering in one time step: Pscatt = 0.10085 Pabs = 0.016707 Clear@r, rlist, vectorsD r = 80, 0, 0<; rlist = 8<; vcmvalue = vcm@AvalueD; voverAplus1 = vspeed 1 + Avalue ; ForB8vhat = 80, 0, 1<; r = 80, 0, 0<; iStep = 1; iStop = -1<, iStop < 0 && iStep < 103 , iStep ++, :ran = RandomReal@D; IfBran < dPs, :vhatold = vhat; thcm = p RandomReal@D; phicm = 2 p RandomReal@D; vlab = vcmvalue 8Sin@thcmD Cos@phicmD, Sin@thcmD Sin@phicmD, Cos@thcmD< + voverAplus1 vhat; vlab vhat = ; cos = vhat.vhatold; AppendTo@rlist, 8rP1T, rP2T<D>F; vlab.vlab If@dPs < ran < dPs + dPa, iStop = 1D; r = r + ds vhat; rmag = r.r ;>F; AppendTo@rlist, 8rP1T, rP2T<D; rLen = Length@rlistD; vectors = Table@8rlistPiT, rlistPi + 1T - rlistPiT<, 8i, 1, rLen - 1<D; If@rLen - 1 > 0, ListVectorFieldPlot@vectors, PlotRange Ø AllD, Print@" Absorbed on first step...try again"DD ü NeutronDiffusion.nb ü Monte Carlo simulation Nexp = number of "experiments" Nneutrons= number of neutrons per experiment dt = 5. 10 ^ -6; ds = vspeed dt; dPs = Ss ds ê. data ê. Cons; dPa = HSg + Sf L ds ê. data ê. Cons; Print@" For time step of ", dt, " sec, and average speed of, v = ", vspeed, " cmês, distance per step = ", ds, " cm"D Print@" The probability of scattering in one time step:"D Print@" Pscatt = ", dPs, " Pabs = ", dPaD For time step of 5. µ 10-6 sec, and average speed of, v = 248 062. cmês, distance per step = 1.24031 cm The probability of scattering in one time step: Pscatt = 0.10085 Pabs = 0.016707 7 8 NeutronDiffusion.nb Clear@LenCosD Nexp = 100; Nneutrons = 1000; Rmax = 4 L; NRbins = 40; dR = Rmax NRbins ; NumDen = Table@0, 8i, 1, NRbins + 1<D; vcmvalue = vcm@AvalueD; voverAplus1 = vspeed 1 + Avalue ; TimingBCosAvgTable = 8<; MFPAvgTable = 8<; RAvgTable = 8<; R2AvgTable = 8<; RAbsAvgTable = 8<; NAbsAvgTable = 8<; DoBRtable = 8<; MFPtable = 8<; costable = 8<; Rabstable = 8<; nabstable = 8<; DoBForB8vhat = 80, 0, 1<; r = 80, 0, 0<; NoScatt = 0; NoScattList = 8<; cossum = 0; nscatt = 0; iStep = 1; iStop = -1<, iStop < 0 && iStep < 105 , iStep ++, :ran = RandomReal@D; IfBran > dPs + dPa, NoScatt ++, IfBran < dPs, :vhatold = vhat; thcm = p RandomReal@D; phicm = 2 p RandomReal@D; vlab = vcmvalue 8Sin@thcmD Cos@phicmD, Sin@thcmD Sin@phicmD, Cos@thcmD< + voverAplus1 vhat; vlab vhat = ; nscatt ++; cos = vhat.vhatold; cossum = cossum + cos; vlab.vlab AppendTo@NoScattList, NoScattD; NoScatt = 0>, AppendTo@NoScattList, NoScattD; AppendTo@nabstable, iStepD; AppendTo@Rabstable, rmagD; iStop = 1FF; r = r + ds vhat; rmag = rindex = FloorB rmag dR F + 1; If@rindex > NRbins, NumDenPNRbins + 1T ++, NumDenPrindexT ++D;>F; IfBnscatt > 0, AppendToBcostable, cossum nscatt IfBLenNos > 0, AppendToBMFPtable, NB FF; AppendToBRtable, ds ⁄LenNos NoScattListPiT i=1 LenNos ⁄i=1 LenCos LenCos = Length@costableD; AppendToBCosAvgTable, NB r.r F; LenNos = Length@NoScattListD; FFF;, 8j, 1, Nneutrons<F; costablePiT LenCos FF; LenMFP = Length@MFPtableD; ⁄i=1 LenMFP AppendToBMFPAvgTable, NB MFPtablePiT LenMFP FF; LenR = Length@RtableD; AppendToBRAvgTable, NB AppendToBR2AvgTable, NB LenR ⁄i=1 RtablePiT2 LenR LenR ⁄i=1 RtablePiT LenR FF; FF; LenRabs = Length@RabstableD; ⁄i=1 LenRabs AppendToBRAbsAvgTable, ⁄i=1 RabstablePiT LenRabs LenNabs AppendToBNAbsAvgTable, 8287.685, Null< r.r ; nabstablePiT LenNabs F; LenNabs = Length@nabstableD; F;, 8iexp, 1, Nexp<F;F NeutronDiffusion.nb ü Calculate averages and deviations H* Cosine Avergage *L muavg@AvalueD; LenCos = Length@CosAvgTableD; CosAvg = N@Sum@CosAvgTable@@iDD, 8i, 1, LenCos<D ê LenCosD; DelCos = Sqrt@Sum@HCosAvg - CosAvgTable@@iDDL ^ 2, 8i, 1, LenCos<D ê LenCosD; H* Mean Free Path *L LenMFP = Length@MFPAvgTableD; MFPavg = N@Sum@MFPAvgTable@@iDD, 8i, 1, LenMFP<D ê LenMFPD; DelMFP = Sqrt@Sum@HMFPAvgTable@@iDD - MFPavgL ^ 2, 8i, 1, LenMFP<D ê LenMFPD; H* Average absorption radius *L LenR = Length@RAvgTableD; Ravg = N@Sum@RAvgTable@@iDD, 8i, 1, LenR<D ê LenRD; R2avg = N@Sum@R2AvgTable@@iDD, 8i, 1, LenR<D ê LenRD; DelR = Sqrt@Sum@HRAvgTable@@iDD - RavgL ^ 2, 8i, 1, LenR<D ê LenRD; LenNabs = Length@NAbsAvgTableD; LenAbs = Length@RAbsAvgTableD; If@LenNabs > 0, 8DisAbs = ds Sum@NAbsAvgTable@@iDD, 8i, 1, LenNabs<D ê LenNabs; Rabsavg = Sum@RAbsAvgTable@@iDD, 8i, 1, LenAbs<D ê LenAbs; DelRabs = Sqrt@Sum@HRabsavg - RAbsAvgTable@@iDDL ^ 2, 8i, 1, LenAbs<D ê LenAbsD< D; Lifetime = dt Sum@NAbsAvgTable@@iDD, 8i, 1, LenNabs<D ê LenNabs; H* Print Monte Carlo results *L Print@" Avg of cosine of scattering angle = ", CosAvg, " +ê- ", DelCos, " Analytic value = ", N@muavg@AvalueDDD Print@" Mean Free Path: HMonte CarloL = ", MFPavg, " +ê- ", DelMFP, " HAnalyticL = ", 1 ê HSg + Ss L ê. data, " cm"D Print@" Average radius of the neutron distribution = ", Ravg, " +ê- ", DelR, " cm HanalyticL = ", 2 L, " cm"D Print@" RMS radius = ", Sqrt@R2avgD, " cm HanalyticL = ", Sqrt@6D L, " cm"D Print@" Lifetime = ", LifetimeD Print@" Average total distance traveled before absorption = ", DisAbs, " cm"D Print@" Average radius value at absorption = ", Rabsavg, " +ê_ ", DelRabs, " cm"D PrintA" Flux diffusion constant DHfluxL = ", MFP ê 3, " +ê_ ", DelMFP ê 3, " cm-1 "E PrintA" Density Diffusion Constant DHdensityL = ", R2avg ê H6 LifetimeL, " cm2 ês HAnalyticL = ", DiffTh, " cm2 ês"E Avg of cosine of scattering angle = 0.0472911 +ê- 0.0134047 Mean Free Path: HMonte CarloL = 9.30533 +ê- 0.176019 Analytic value = 0.0555556 HAnalyticL = 10.5507 cm Average radius of the neutron distribution = 30.7983 +ê- 0.853436 cm RMS radius = 39.114 cm HanalyticL = 40.558 cm HanalyticL = 33.1155 cm Lifetime = 0.000298491 Average total distance traveled before absorption = 74.0442 cm Average radius value at absorption = 30.7741 +ê_ 0.834495 cm Flux diffusion constant DHfluxL = 4.09954 +ê_ 0.0586731 cm-1 Density Diffusion Constant DHdensityL = 854 246. cm2 ês HAnalyticL = 916 073. cm2 ês 9 10 NeutronDiffusion.nb ü Plot results F, 8i, 1, NRbins<F; Rmax Hi dRL2 RPhiTable = Table@i dR PhiTablePiT, 8i, 3, NRbins<D; LogRPhiTable = Table@Log@RPhiTablePiTD, 8i, 1, Length@RPhiTableD<D; PhiFit@x_D = Fit@LogRPhiTable, 81, x<, xD; Ravg dR LFit = ; LMC = ; PhiFit@1D - PhiFit@0D 2 Print@" Diffusion Length Monte Carlo L = ", LMC, " cm"D Print@" Fit to simulation data L = ", LFit, " cm"D Print@" Diffusion L = ", L, " cm"D Print@" Diffusion-alt L = ", LAlt, " cm"D horizaxis = Style@"r HdR unitsL", FontFamily Ø "Tahoma", FontColor Ø Blue, FontWeight Ø Bold, FontSize Ø 12D; vertaxis = Style@"Log @r jD", FontFamily Ø "Tahoma", FontColor Ø Blue, FontWeight Ø Bold, FontSize Ø 12D; plotname = Style@"Fit to Log@r jD", FontFamily Ø "Tahoma", FontColor Ø Black, FontWeight Ø Bold, FontSize Ø 14D; p1 = ListPlot@LogRPhiTable, DisplayFunction Ø Identity, PlotStyle Ø 8RGBColor@1, 0, 0D, PointSize@0.02`D<, Frame Ø True, GridLines Ø Automatic, PlotLabel Ø plotname, FrameLabel Ø 8horizaxis, vertaxis<, ImageSize Ø 400, Background Ø LightOrange, PlotRange Ø AllD; p2 = Plot@PhiFit@xD, 8x, 0, NRbins<, DisplayFunction Ø Identity, PlotStyle Ø 8Blue, Thickness@0.005`D<, Frame Ø True, GridLines Ø Automatic, PlotLabel Ø plotname, FrameLabel Ø 8horizaxis, vertaxis<, ImageSize Ø 400, Background Ø LightOrange, PlotRange Ø AllD; Show@p1, p2, DisplayFunction Ø $DisplayFunctionD PhiTable = TableBIfBNumDenPiT ã 0, 1 , NumDenPiT 2 Monte Carlo L = 15.3992 cm Fit to simulation data L = 15.5973 cm Diffusion L = 16.5577 cm Diffusion-alt L = 15.7152 cm Diffusion Length Fit to Log@r jD Log @r jD 10 9 8 7 6 0 10 r HdR unitsL 20 30 40 NeutronDiffusion.nb norm = ‚ NumDenPiT; DenNormed = TableBNB NRbins NumDenPiT i=1 norm ShellVol@iR_D = dR3 4 p iR2 ; PhiMCTable = TableB: i - Phi@x_D = ‰ x LD x ; norm = 4 p ‡ Phi@xD x2 „ x; Phi0@x_D = ¶ 0 11 F, 8i, 1, NRbins<F; 1 2 dR, Phi@xD norm DenNormedPiT ShellVol@iD >, 8i, 1, NRbins<F; ê. LD Ø L; dRF>, 8i, 1, NRbins<F; 2 2 horizaxis = Style@"r HcmL", FontFamily Ø "Tahoma", FontColor Ø Blue, FontWeight Ø Bold, FontSize Ø 12D; vertaxis = Style@"j", FontFamily Ø "Tahoma", FontColor Ø Blue, FontWeight Ø Bold, FontSize Ø 12D; plotname = Style@"Neutron Flux", FontFamily Ø "Tahoma", FontColor Ø Black, FontWeight Ø Bold, FontSize Ø 14D; p1 = ListPlot@PhiMCTable, DisplayFunction Ø Identity, PlotStyle Ø 8RGBColor@1, 0, 0D, PointSize@0.02`D<, Frame Ø True, GridLines Ø Automatic, PlotLabel Ø plotname, FrameLabel Ø 8horizaxis, vertaxis<, ImageSize Ø 400, Background Ø LightOrange, PlotRange Ø AllD; p2 = ListPlot@PhiAnalyticTable, Joined Ø True, DisplayFunction Ø Identity, PlotStyle Ø 8Blue, Thickness@0.004`D<, Frame Ø True, GridLines Ø Automatic, PlotLabel Ø plotname, FrameLabel Ø 8horizaxis, vertaxis<, ImageSize Ø 400, Background Ø LightOrange, PlotRange Ø AllD; Show@p1, p2, DisplayFunction Ø $DisplayFunctionD PhiAnalyticTable = TableB: i - 1 dR, Phi0B i - 1 Task 2: Criticality for the infinite reactor Task 2. Consider an infinite homogeneous mix of fissile 235 U (10% by weight) and sodium (90% by weight) at room temperature. (a) First find the composition average values for the macroscopic scattering, absorption, and fission cross sections. (b) Develop a Monte Carlo simulation for this reactor to estimate the neutron multiplication factor, k¶ , and compare with the expected analytic result, k¶ = n Sf Sa . Track the neutron locations and plot the Monte Carlo modeled flux as a function of radius (suitably binned and normalized). ü Calculate the macroscopic cross sections for the mixture (10% 235U, 99% Na) (by weight) and analytic value of k¶ . Clear@soln, massNa, nNa, massU, nU, VNa, VU, MixD H* Thermal neutron values *L Nadata = 8r Ø .00097, nd Ø .02541, Ss Ø .08131, Sg Ø .01347 , Sf Ø 0, n Ø 0<; U235data = 8r Ø .01886, nd Ø .04833, Ss Ø .01588, Sg Ø 4.833, Sf -> 28.37, n Ø 2.42<; VNa = 1 ë nd ê. Nadata; VU = 1 ë nd ê. U235data; amu = 1.67 µ 10 ^ -27; rhoNa = r ê. Nadata; rhoU = r ê. U235data; Mix = .1; soln = Flatten@Solve@8nNa massNa Mix ã H1 - MixL massU nU, nNa VNa + nU VU == 1<, 8nNa, nU<DD; NdenNa = HHnNa ê. solnL ê. 8VNa Ø massNa ê rhoNa, VU Ø massU ê rhoU<L ê. 8massU Ø 235 amu, massNa Ø 23 amu<; NdenU = HHnU ê. solnL ê. 8VNa Ø massNa ê rhoNa, VU Ø massU ê rhoU<L ê. 8massU Ø 235 amu, massNa Ø 23 amu<; H* check *L NdenNa massNa ê HNdenU massUL ê. 8massU Ø 235 amu, massNa Ø 23 amu<; Print@" Number density of Sodium = ", NdenNa, " H10^24êcm^3L"D Print@" Number density of Uranium = ", NdenU , " H10^24êcm^3L"D SigGMix = IINdenNa ë nd M Sg ê. NadataM + IINdenU ë nd M Sg ê. U235dataM; SigSMix = IINdenNa ë nd M Ss ê. NadataM + IINdenU ë nd M Ss ê. U235dataM; SigFMix = IINdenNa ë nd M Sf ê. NadataM + IINdenU ë nd M Sf ê. U235dataM; NdenMix = NdenNa + NdenU; rhoMix = HNdenNa 23 amu + NdenU 235 amuL; etaMix = n ê. U235data; data = 8r Ø rhoMix, nd Ø NdenMix, Ss Ø SigSMix, Sg Ø SigGMix, Sf Ø SigFMix, n Ø etaMix< kinf = Hn Sf ê HSf + Sg LL ê. data; Print@" k¶ HAnalyticL = ", kinfD 12 NeutronDiffusion.nb Number density of Sodium = 0.0252655 H10^24êcm^3L Number density of Uranium = 0.000274755 H10^24êcm^3L 9r Ø 1.07828 µ 10-27 , nd Ø 0.0255403, Ss Ø 0.080938, Sg Ø 0.040869, Sf Ø 0.161283, n Ø 2.42= k¶ HAnalyticL = 1.93075 ü Analytic diffusion properties muavg@A_D = 2 ê H3 AL; Avalue = 23; Sa = HSg + Sf L ê. data; MFP = 1 ê Ss ê. data; MFPabs = 1 ê Sa ê. data; MFPtotal = 1 ê HSs + Sg + Sf L ê. data; Diff = 1 ê H 3 HSa + Ss H1 - muavg@AvalueDLLL ê. data; L = Sqrt@Diff ê Sa D ê. data; AbsorptionLength = 1 ê Sa ê. data; DiffTh = v Diff; H* Ss , Sa Ø cm^-1 *L Print@" Mean Free Path HscatteringL = ", MFP, " cm"D Print@" Mean Free Path HabsorptionL = ", MFPabs, " cm"D Print@" Mean Free Path HtotalL = ", MFPtotal, " cm"D Print@" Flux Diffusion constant: D = ", Diff, " cm"D Print@" Diffusion Length: L = ", L, " cm"D Print@" Absorption MFP: = ", AbsorptionLength, " cm"D Print@" Theoretical Density Diffusion constant = ", DiffTh, " cm^2ês"D Mean Free Path HscatteringL = 12.3551 cm Mean Free Path HabsorptionL = 4.94677 cm Mean Free Path HtotalL = 3.53245 cm Flux Diffusion constant: D = 1.18732 cm Diffusion Length: Absorption MFP: L = 2.42351 cm = 4.94677 cm Theoretical Density Diffusion constant = 294 529. cm^2ês ü Monte Carlo calculation of" \!\Hk\_¶\L" dt = 1. 10 ^ -6; ds = v dt ê. data ê. Cons; dPs = Ss ds ê. data ê. Cons; dPf = Sf ds ê. data ê. Cons; dPg = Sg ds ê. data ê. Cons; dPa = dPf + dPg; Print@" For time step of ", dt, " sec, and average speed of, v = ", v, " cmês, distance per step = ", ds, " cm"D Print@" The probability of scattering in one time step:"D Print@" Scatter = ", dPs, " fission = ", dPf, " capture =", dPgD For time step of 1. µ 10-6 sec, and average speed of, v = 248 062. cmês, distance per step = 0.248062 cm The probability of scattering in one time step: Scatter = 0.0200776 fission = 0.0400082 capture =0.010138 NeutronDiffusion.nb TimingBNneutrons = 20 000; Rtable = 8<; vcmvalue = vcm@AvalueD; voverAplus1 = v 1 + Avalue 13 ; nfiss = 0; DoBForB8vhat = 80, 0, 1<; r = 80, 0, 0<; NoScatt = 0; iStep = 1; iStop = -1<, iStop < 0 && iStep < 104 , iStep ++, :ran = RandomReal@D; IfBran > dPs + dPg + dPf, Null, IfBran < dPs, :vhatold = vhat; thcm = p RandomReal@D; phicm = 2 p RandomReal@D; vlab = vcmvalue 8Sin@thcmD Cos@phicmD, Sin@thcmD Sin@phicmD, Cos@thcmD< + voverAplus1 vhat; vhat = vlab vlab.vlab If@ran < dPs + dPf, nfiss ++D; iStop = 1FF; r = r + ds vhat;>F; AppendToBRtable, 816.0877 Second, Null< kinfMC = Hn nfiss ê NneutronsL ê. data; Print@" k¶ HMonte CarloL = ", kinfMC, " HAnalyticL = ", kinfD; H* Average radius *L LenR = Length@RtableD; Ravg = N@Sum@Rtable@@iDD, 8i, 1, LenR<D ê LenRD; ê PrintA" Diffusion length HMC = Rê2L = ", Ravg ê 2, " cm Analytic = ", L, " cm"E k¶ HMonte CarloL = 1.93116 HAnalyticL = 1.93075 ê Diffusion length HMC = Rê2L = 2.15267 cm Analytic = 2.42351 cm r.r F;, 8j, 1, Nneutrons<F;F >,