Auto sync: 2025-11-09 16:10:52 (15 files changed)
M .task/backlog.data M .task/completed.data M .task/pending.data M .task/undo.data M Class_Work/nuce2101/exam2/latex/main.aux M Class_Work/nuce2101/exam2/latex/main.fdb_latexmk M Class_Work/nuce2101/exam2/latex/main.fls M Class_Work/nuce2101/exam2/latex/main.log
This commit is contained in:
parent
df8f28fce3
commit
04125fe837
@ -267,3 +267,4 @@
|
||||
{"description":"Problem 6","end":"20251108T202639Z","entry":"20251105T160720Z","modified":"20251108T202639Z","project":"class.NUCE2101.Exam2","status":"completed","uuid":"fcbcec80-81e1-4a7d-9ea8-d8b1c6f9737c"}
|
||||
{"description":"Problem 3","entry":"20251105T160709Z","modified":"20251108T202716Z","project":"class.NUCE2101.Exam2","start":"20251108T202716Z","status":"pending","uuid":"5429f3ab-06f9-4df3-909d-ba5920169000"}
|
||||
{"description":"Problem 3","end":"20251108T225056Z","entry":"20251105T160709Z","modified":"20251108T225056Z","project":"class.NUCE2101.Exam2","status":"completed","uuid":"5429f3ab-06f9-4df3-909d-ba5920169000"}
|
||||
{"description":"Problem 2","end":"20251109T205515Z","entry":"20251105T160706Z","modified":"20251109T205515Z","project":"class.NUCE2101.Exam2","status":"completed","uuid":"5c30cc0b-222a-4975-a62b-9de8a78ab813"}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
[description:"Problem 2" end:"1762721715" entry:"1762358826" modified:"1762721715" project:"class.NUCE2101.Exam2" status:"completed" uuid:"5c30cc0b-222a-4975-a62b-9de8a78ab813"]
|
||||
[description:"Problem 3" end:"1762642256" entry:"1762358829" modified:"1762642256" project:"class.NUCE2101.Exam2" status:"completed" uuid:"5429f3ab-06f9-4df3-909d-ba5920169000"]
|
||||
[description:"Problem 6" end:"1762633599" entry:"1762358840" modified:"1762633599" project:"class.NUCE2101.Exam2" status:"completed" uuid:"fcbcec80-81e1-4a7d-9ea8-d8b1c6f9737c"]
|
||||
[dep_95cfe200-a13e-491f-8f11-6106ef66a55d:"x" depends:"95cfe200-a13e-491f-8f11-6106ef66a55d" description:"Submit INL Application on Taleo" end:"1762546859" entry:"1762189764" modified:"1762546859" project:"Internship" status:"completed" tags:"NEXT" tags_NEXT:"x" uuid:"571eaf72-995c-4e76-9983-a68799c02946"]
|
||||
|
||||
@ -59,7 +59,6 @@
|
||||
[description:"project zk.perm Reactor Coolant Inventory Control" entry:"1761852439" modified:"1761852541" project:"zk.perm" status:"pending" uuid:"8e9a01f7-fe14-4a41-a085-0d99d8e0f03e"]
|
||||
[description:"Review Simeonas comments and implement them\n" entry:"1762182404" modified:"1762182404" project:"ERLM" status:"pending" tags:"editing" tags_editing:"x" uuid:"4f55e685-ed77-4533-9865-2ebe64b80632"]
|
||||
[description:"Problem 1" entry:"1762358812" modified:"1762358812" project:"class.NUCE2101.Exam2" status:"pending" uuid:"a2c8dc0b-e889-451a-a8c0-00a3ae9c5efd"]
|
||||
[description:"Problem 2" entry:"1762358826" modified:"1762358826" project:"class.NUCE2101.Exam2" status:"pending" uuid:"5c30cc0b-222a-4975-a62b-9de8a78ab813"]
|
||||
[description:"Problem 4" entry:"1762358831" modified:"1762358831" project:"class.NUCE2101.Exam2" status:"pending" uuid:"c39c9349-74b7-4a5c-8e75-27d341488c14"]
|
||||
[description:"Problem 5" entry:"1762358836" modified:"1762358836" project:"class.NUCE2101.Exam2" status:"pending" uuid:"7bdde787-042d-4b9b-b2de-19e11b40d032"]
|
||||
[dep_5429f3ab-06f9-4df3-909d-ba5920169000:"x" dep_5c30cc0b-222a-4975-a62b-9de8a78ab813:"x" dep_7bdde787-042d-4b9b-b2de-19e11b40d032:"x" dep_a2c8dc0b-e889-451a-a8c0-00a3ae9c5efd:"x" dep_c39c9349-74b7-4a5c-8e75-27d341488c14:"x" dep_fcbcec80-81e1-4a7d-9ea8-d8b1c6f9737c:"x" depends:"5429f3ab-06f9-4df3-909d-ba5920169000,5c30cc0b-222a-4975-a62b-9de8a78ab813,7bdde787-042d-4b9b-b2de-19e11b40d032,a2c8dc0b-e889-451a-a8c0-00a3ae9c5efd,c39c9349-74b7-4a5c-8e75-27d341488c14,fcbcec80-81e1-4a7d-9ea8-d8b1c6f9737c" description:"Submit Exam 2" due:"1762750800" entry:"1762358874" modified:"1762358874" project:"class.NUCE2101.Exam2" status:"pending" uuid:"ab2e56e4-4d9f-4e85-b40d-6f312ac17332"]
|
||||
|
||||
@ -955,3 +955,7 @@ time 1762642256
|
||||
old [description:"Problem 3" entry:"1762358829" modified:"1762633636" project:"class.NUCE2101.Exam2" start:"1762633636" status:"pending" uuid:"5429f3ab-06f9-4df3-909d-ba5920169000"]
|
||||
new [description:"Problem 3" end:"1762642256" entry:"1762358829" modified:"1762642256" project:"class.NUCE2101.Exam2" status:"completed" uuid:"5429f3ab-06f9-4df3-909d-ba5920169000"]
|
||||
---
|
||||
time 1762721715
|
||||
old [description:"Problem 2" entry:"1762358826" modified:"1762358826" project:"class.NUCE2101.Exam2" status:"pending" uuid:"5c30cc0b-222a-4975-a62b-9de8a78ab813"]
|
||||
new [description:"Problem 2" end:"1762721715" entry:"1762358826" modified:"1762721715" project:"class.NUCE2101.Exam2" status:"completed" uuid:"5c30cc0b-222a-4975-a62b-9de8a78ab813"]
|
||||
---
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
\relax
|
||||
\bibstyle{unsrt}
|
||||
\providecommand \oddpage@label [2]{}
|
||||
\gdef \@abspage@last{5}
|
||||
\gdef \@abspage@last{16}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
# Fdb version 4
|
||||
["pdflatex"] 1762642109.51825 "main.tex" "main.pdf" "main" 1762642110.0665 0
|
||||
["pdflatex"] 1762722326.59226 "main.tex" "main.pdf" "main" 1762722327.77528 0
|
||||
"../python/problem5_xenon_transient.png" 1762722262.28745 362131 23d1ffde6d27e1396c2d7648a6aac3c8 ""
|
||||
"/etc/texmf/web2c/texmf.cnf" 1726065852.27662 475 c0e671620eb5563b2130f56340a5fde8 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
|
||||
@ -18,6 +19,7 @@
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7y.tfm" 1136768653 1520 ad7b3c1a480a03b3e41b5fbb13d938f2 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1246382020 908 2921f8a10601f252058503cc6570e581 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1136768653 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm" 1136768653 1528 abec98dbc43e172678c11b3b9031252a ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1136768653 1296 45809c5a464d5f32c8f98ba97c1bb47f ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 ""
|
||||
@ -25,10 +27,12 @@
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt10.tfm" 1136768653 768 1321e9409b4137d6fb428ac9dc956269 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt12.tfm" 1136768653 772 9a936b7f5e2ff0557fce0f62822f0bbf ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/rsfs/rsfs10.tfm" 1229303445 688 37338d6ab346c2f1466b29e195316aa4 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" 1248133631 30251 6afa5cb1d0204815a708a080681d4674 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1248133631 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1248133631 35752 024fb6c41858982481f6968b5fc26508 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb" 1248133631 31099 c85edf1dd5b9e826d67c9c7293b6786c ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb" 1248133631 31764 459c573c03a4949a528c2cc7f557e217 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/urw/symbol/usyr.pfb" 1136849748 33709 b09d2e140b7e807d3a97058263ab6693 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb" 1136849748 44729 811d6c62865936705a31c797a1d5dada ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb" 1136849748 46026 6dab18b61c907687b520c72847215a68 ""
|
||||
@ -38,6 +42,7 @@
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf" 1136768653 3556 8a9a6dcbcd146ef985683f677f4758a6 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7m.vf" 1136768653 1132 27520247d3fe18d4266a226b461885c2 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7t.vf" 1136768653 1108 d271d6f9de4122c3f8d3b65666167fac ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7v.vf" 1136768653 1012 046369ac6a83af997c3aa05a43256ad5 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7y.vf" 1136768653 964 5673178ff30617b900214de28ab32b38 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty" 1644112042 7237 bdd120a32c8fdb4b433cf9ca2e7cd98a ""
|
||||
@ -225,13 +230,13 @@
|
||||
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1760105440.02229 5312232 f3296911be9cc021788f3f879cf0a47d ""
|
||||
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1726065868 6800790 607442c924ed54405961d2b8ac2a25ae ""
|
||||
"dane_proposal_format.cls" 1762633537.1272 2292 c3dc1b9d4d9635e69847824a1055af84 ""
|
||||
"main.aux" 1762642109.99625 86 793347c4e360fb7a52b1028bb605b67f "pdflatex"
|
||||
"main.aux" 1762722327.70358 87 617deccf33e53eb4c168a3ea45b9bdfe "pdflatex"
|
||||
"main.tex" 1762637252.88998 381 e3fa84403624479024c4d1493906da41 ""
|
||||
"problem1.tex" 1762631049.07356 0 d41d8cd98f00b204e9800998ecf8427e ""
|
||||
"problem2.tex" 1762631052.56168 0 d41d8cd98f00b204e9800998ecf8427e ""
|
||||
"problem2.tex" 1762721391.36755 13840 025c9b84901565e51d00dbe48ced4f6b ""
|
||||
"problem3.tex" 1762642107.75225 5471 4fa0087126c706f9320fe51d4e376901 ""
|
||||
"problem4.tex" 1762631059.52892 0 d41d8cd98f00b204e9800998ecf8427e ""
|
||||
"problem5.tex" 1762631062.57902 0 d41d8cd98f00b204e9800998ecf8427e ""
|
||||
"problem5.tex" 1762722326.08958 6129 548b59696b661740891ab0c9a06daf81 ""
|
||||
"problem6.tex" 1762633505.37954 1522 0be652ea60d5f77900c12441c2e8c487 ""
|
||||
(generated)
|
||||
"main.aux"
|
||||
|
||||
@ -407,9 +407,6 @@ INPUT problem1.tex
|
||||
INPUT ./problem2.tex
|
||||
INPUT ./problem2.tex
|
||||
INPUT problem2.tex
|
||||
INPUT ./problem3.tex
|
||||
INPUT ./problem3.tex
|
||||
INPUT problem3.tex
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
|
||||
@ -417,77 +414,97 @@ INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt12.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmtt10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmb7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmb7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7m.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7m.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7m.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7y.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7y.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7y.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7v.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7v.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7v.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7m.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7m.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7m.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7y.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7y.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7y.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7v.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7v.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/zptmcm7v.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr7t.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmb7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmb7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7m.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/psyro.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7m.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/psyro.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7y.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/symbol/psyr.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/rsfs/rsfs10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/symbol/psyr.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7y.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/rsfs/rsfs10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7y.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7m.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/psyro.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7t.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7v.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/symbol/psyr.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/rsfs/rsfs10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/zptmcm7m.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/psyro.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm
|
||||
INPUT ./problem3.tex
|
||||
INPUT ./problem3.tex
|
||||
INPUT problem3.tex
|
||||
INPUT ./problem4.tex
|
||||
INPUT ./problem4.tex
|
||||
INPUT problem4.tex
|
||||
INPUT ./problem5.tex
|
||||
INPUT ./problem5.tex
|
||||
INPUT problem5.tex
|
||||
INPUT ../python/problem5_xenon_transient.png
|
||||
INPUT ../python/problem5_xenon_transient.png
|
||||
INPUT ../python/problem5_xenon_transient.png
|
||||
INPUT ../python/problem5_xenon_transient.png
|
||||
INPUT ../python/problem5_xenon_transient.png
|
||||
INPUT ./problem6.tex
|
||||
INPUT ./problem6.tex
|
||||
INPUT problem6.tex
|
||||
INPUT main.aux
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/symbol/usyr.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/symbol/usyr.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2024.9.11) 8 NOV 2025 17:48
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2024.9.11) 9 NOV 2025 16:05
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
file:line:error style messages enabled.
|
||||
@ -876,38 +876,43 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <8> not available
|
||||
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 15.
|
||||
[1
|
||||
|
||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}] (./problem1.tex) (./problem2.tex) (./problem3.tex (/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
|
||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}] (./problem1.tex) (./problem2.tex (/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
|
||||
File: lstlang1.sty 2023/02/27 1.9 listings language file
|
||||
)
|
||||
LaTeX Font Info: Trying to load font information for TS1+ptm on input line 39.
|
||||
) [1]
|
||||
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available
|
||||
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 85.
|
||||
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <9> not available
|
||||
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 85.
|
||||
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7> not available
|
||||
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 85.
|
||||
LaTeX Font Info: Trying to load font information for TS1+ptm on input line 89.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd
|
||||
File: ts1ptm.fd 2001/06/04 font definitions for TS1/ptm.
|
||||
)
|
||||
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available
|
||||
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 41.
|
||||
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <9> not available
|
||||
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 41.
|
||||
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7> not available
|
||||
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 41.
|
||||
[1] [2] [3]) (./problem4.tex) (./problem5.tex) (./problem6.tex) [4] (./main.aux)
|
||||
) [2] [3] [4] [5] [6] [7]) (./problem3.tex [8] [9] [10]) (./problem4.tex) (./problem5.tex [11]
|
||||
<../python/problem5_xenon_transient.png, id=78, 858.5676pt x 713.7867pt>
|
||||
File: ../python/problem5_xenon_transient.png Graphic file (type png)
|
||||
<use ../python/problem5_xenon_transient.png>
|
||||
Package pdftex.def Info: ../python/problem5_xenon_transient.png used on input line 71.
|
||||
(pdftex.def) Requested size: 446.26582pt x 371.00784pt.
|
||||
[12] [13 <../python/problem5_xenon_transient.png>] [14]) (./problem6.tex) [15] (./main.aux)
|
||||
***********
|
||||
LaTeX2e <2023-11-01> patch level 1
|
||||
L3 programming layer <2024-01-22>
|
||||
***********
|
||||
)
|
||||
Here is how much of TeX's memory you used:
|
||||
25856 strings out of 476182
|
||||
531419 string characters out of 5795595
|
||||
2101975 words of memory out of 5000000
|
||||
47288 multiletter control sequences out of 15000+600000
|
||||
595489 words of font info for 116 fonts, out of 8000000 for 9000
|
||||
25943 strings out of 476182
|
||||
532712 string characters out of 5795595
|
||||
2210975 words of memory out of 5000000
|
||||
47368 multiletter control sequences out of 15000+600000
|
||||
598431 words of font info for 123 fonts, out of 8000000 for 9000
|
||||
14 hyphenation exceptions out of 8191
|
||||
110i,6n,107p,1008b,1397s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/symbol/usyr.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/symbol/usyr.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
|
||||
Output written on main.pdf (5 pages, 106867 bytes).
|
||||
110i,6n,107p,1008b,1778s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/symbol/usyr.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/symbol/usyr.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
|
||||
Output written on main.pdf (16 pages, 483552 bytes).
|
||||
PDF statistics:
|
||||
93 PDF objects out of 1000 (max. 8388607)
|
||||
51 compressed objects within 1 object stream
|
||||
142 PDF objects out of 1000 (max. 8388607)
|
||||
83 compressed objects within 1 object stream
|
||||
0 named destinations out of 1000 (max. 500000)
|
||||
109 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
114 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,388 @@
|
||||
\section*{Problem 2}
|
||||
|
||||
\subsubsection*{Cross-Section Data}
|
||||
|
||||
Two-group cross-section data stored in Python dictionary:
|
||||
|
||||
\begin{lstlisting}[language=Python,
|
||||
basicstyle=\ttfamily\small,
|
||||
keywordstyle=\color{blue},
|
||||
commentstyle=\color{gray},
|
||||
stringstyle=\color{red},
|
||||
showstringspaces=false,
|
||||
numbers=left,
|
||||
numberstyle=\tiny,
|
||||
frame=single,
|
||||
breaklines=true]
|
||||
import numpy as np
|
||||
|
||||
cross_sections = {
|
||||
'fast': {
|
||||
'D': 1.4, # Diffusion constant [cm]
|
||||
'Sigma_a': 0.010, # Absorption [cm^-1]
|
||||
'Sigma_s': 0.050, # Scattering from fast to thermal [cm^-1]
|
||||
'nu_Sigma_f': 0.000, # nu*Sigma_f [cm^-1]
|
||||
'chi': 1, # Fission spectrum
|
||||
'v': 1.8e7, # Average group velocity [cm/sec]
|
||||
},
|
||||
'thermal': {
|
||||
'D': 0.35, # Diffusion constant [cm]
|
||||
'Sigma_a': 0.080, # Absorption [cm^-1]
|
||||
'Sigma_s': 0.0, # Scattering from thermal to fast [cm^-1]
|
||||
'nu_Sigma_f': 0.125, # nu*Sigma_f [cm^-1]
|
||||
'chi': 0, # Fission spectrum
|
||||
'v': 2.2e5, # Average group velocity [cm/sec]
|
||||
}
|
||||
}
|
||||
|
||||
# Extract variables for easy access
|
||||
D_fast = cross_sections['fast']['D']
|
||||
D_thermal = cross_sections['thermal']['D']
|
||||
Sigma_a_fast = cross_sections['fast']['Sigma_a']
|
||||
Sigma_a_thermal = cross_sections['thermal']['Sigma_a']
|
||||
Sigma_s_fast = cross_sections['fast']['Sigma_s']
|
||||
nu_Sigma_f_fast = cross_sections['fast']['nu_Sigma_f']
|
||||
nu_Sigma_f_thermal = cross_sections['thermal']['nu_Sigma_f']
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection*{Part A}
|
||||
|
||||
\subsubsection*{Python Code}
|
||||
\begin{lstlisting}[language=Python,
|
||||
basicstyle=\ttfamily\small,
|
||||
keywordstyle=\color{blue},
|
||||
commentstyle=\color{gray},
|
||||
stringstyle=\color{red},
|
||||
showstringspaces=false,
|
||||
numbers=left,
|
||||
numberstyle=\tiny,
|
||||
frame=single,
|
||||
breaklines=true]
|
||||
# Four-Factor Formula: k_inf = epsilon * p * f * eta
|
||||
|
||||
# Fast fission factor: epsilon = 1 (no fast fissions)
|
||||
epsilon = 1.0
|
||||
|
||||
# Resonance escape probability
|
||||
p = Sigma_s_fast / (Sigma_a_fast + Sigma_s_fast)
|
||||
|
||||
# Thermal utilization factor: f = 1 (single-region)
|
||||
f = 1.0
|
||||
|
||||
# Reproduction factor
|
||||
eta = nu_Sigma_f_thermal / Sigma_a_thermal
|
||||
|
||||
# Four-Factor Formula
|
||||
k_inf = epsilon * p * f * eta
|
||||
|
||||
print(f"k_inf = epsilon * p * f * eta = {k_inf:.4f}")
|
||||
\end{lstlisting}
|
||||
|
||||
\subsubsection*{Solution}
|
||||
|
||||
The infinite multiplication factor is calculated using the \textbf{Four-Factor Formula}:
|
||||
|
||||
\[k_\infty = \varepsilon \cdot p \cdot f \cdot \eta\]
|
||||
|
||||
where:
|
||||
\begin{itemize}
|
||||
\item $\varepsilon$ = fast fission factor (neutrons from fast fissions per thermal fission)
|
||||
\item $p$ = resonance escape probability (fraction of fast neutrons reaching thermal energies)
|
||||
\item $f$ = thermal utilization factor (fraction of thermal neutrons absorbed in fuel)
|
||||
\item $\eta$ = reproduction factor (neutrons produced per thermal neutron absorbed in fuel)
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Given cross-sections:}
|
||||
\begin{itemize}
|
||||
\item $\nu\Sigma_{f,fast}$ = 0.000 cm$^{-1}$ (no fast fissions)
|
||||
\item $\nu\Sigma_{f,thermal}$ = 0.125 cm$^{-1}$
|
||||
\item $\Sigma_{a,fast}$ = 0.010 cm$^{-1}$
|
||||
\item $\Sigma_{a,thermal}$ = 0.080 cm$^{-1}$
|
||||
\item $\Sigma_{s,fast}$ = 0.050 cm$^{-1}$ (scattering from fast to thermal)
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Calculating each factor:}
|
||||
|
||||
\textbf{1. Fast fission factor:}
|
||||
\[\varepsilon = 1.0000 \quad \text{(no fast fissions since } \nu\Sigma_{f,fast} = 0\text{)}\]
|
||||
|
||||
\textbf{2. Resonance escape probability:}
|
||||
\[p = \frac{\Sigma_{s,fast}}{\Sigma_{a,fast} + \Sigma_{s,fast}} = \frac{0.050}{0.010 + 0.050} = \frac{0.050}{0.060} = 0.8333\]
|
||||
|
||||
\textbf{3. Thermal utilization factor:}
|
||||
\[f = 1.0000 \quad \text{(single-region, homogeneous medium)}\]
|
||||
|
||||
\textbf{4. Reproduction factor:}
|
||||
\[\eta = \frac{\nu\Sigma_{f,thermal}}{\Sigma_{a,thermal}} = \frac{0.125}{0.080} = 1.5625\]
|
||||
|
||||
\textbf{Final calculation:}
|
||||
\[k_\infty = \varepsilon \cdot p \cdot f \cdot \eta = 1.0000 \times 0.8333 \times 1.0000 \times 1.5625 = 1.3021\]
|
||||
|
||||
\[\boxed{k_\infty = 1.302}\]
|
||||
|
||||
\subsection*{Part B}
|
||||
|
||||
\subsubsection*{Python Code}
|
||||
\begin{lstlisting}[language=Python,
|
||||
basicstyle=\ttfamily\small,
|
||||
keywordstyle=\color{blue},
|
||||
commentstyle=\color{gray},
|
||||
stringstyle=\color{red},
|
||||
showstringspaces=false,
|
||||
numbers=left,
|
||||
numberstyle=\tiny,
|
||||
frame=single,
|
||||
breaklines=true]
|
||||
# Calculate diffusion lengths
|
||||
# L^2_fast = D_fast / Sigma_total_fast
|
||||
# where Sigma_total_fast = Sigma_a_fast + Sigma_s_fast (removal from fast group)
|
||||
Sigma_total_fast = Sigma_a_fast + Sigma_s_fast
|
||||
L_squared_fast = D_fast / Sigma_total_fast
|
||||
|
||||
# L^2_th = D_th / Sigma_a_th
|
||||
L_squared_th = D_thermal / Sigma_a_thermal
|
||||
|
||||
L_fast = np.sqrt(L_squared_fast)
|
||||
L_thermal = np.sqrt(L_squared_th)
|
||||
|
||||
print(f"L_fast = {L_fast:.3f} cm")
|
||||
print(f"L_thermal = {L_thermal:.3f} cm")
|
||||
\end{lstlisting}
|
||||
|
||||
\subsubsection*{Solution}
|
||||
|
||||
The diffusion lengths for each group are calculated as:
|
||||
|
||||
\[L^2 = \frac{D}{\Sigma_{removal}}\]
|
||||
|
||||
\textbf{Fast Group:}
|
||||
|
||||
The removal cross-section includes both absorption and scattering out:
|
||||
\[\Sigma_{removal,fast} = \Sigma_{a,fast} + \Sigma_{s,fast} = 0.010 + 0.050 = 0.060 \text{ cm}^{-1}\]
|
||||
|
||||
\[L^2_{fast} = \frac{D_{fast}}{\Sigma_{removal,fast}} = \frac{1.4}{0.060} = 23.333 \text{ cm}^2\]
|
||||
|
||||
\[L_{fast} = \sqrt{23.333} = 4.830 \text{ cm}\]
|
||||
|
||||
\textbf{Thermal Group:}
|
||||
|
||||
For the thermal group (lowest energy group), only absorption removes neutrons:
|
||||
\[L^2_{thermal} = \frac{D_{thermal}}{\Sigma_{a,thermal}} = \frac{0.35}{0.080} = 4.375 \text{ cm}^2\]
|
||||
|
||||
\[L_{thermal} = \sqrt{4.375} = 2.092 \text{ cm}\]
|
||||
|
||||
\[\boxed{L_{fast} = 4.830 \text{ cm}, \quad L_{thermal} = 2.092 \text{ cm}}\]
|
||||
|
||||
\subsection*{Part C}
|
||||
|
||||
\subsubsection*{Solution}
|
||||
|
||||
For a rectangular solid geometry (box) with dimensions $L_x$, $L_y$, and $L_z$, where the neutron flux goes to zero at the edges (bare reactor boundary condition), the \textbf{geometric buckling} is:
|
||||
|
||||
\[\boxed{B^2 = \left(\frac{\pi}{L_x}\right)^2 + \left(\frac{\pi}{L_y}\right)^2 + \left(\frac{\pi}{L_z}\right)^2}\]
|
||||
|
||||
This expression comes from solving the neutron diffusion equation with boundary conditions $\phi = 0$ at the reactor boundaries. The solution for the fundamental mode has the form:
|
||||
|
||||
\[\phi(x,y,z) = A \sin\left(\frac{\pi x}{L_x}\right) \sin\left(\frac{\pi y}{L_y}\right) \sin\left(\frac{\pi z}{L_z}\right)\]
|
||||
|
||||
The geometric buckling is the eigenvalue associated with this spatial mode, representing the curvature of the neutron flux distribution. Each term corresponds to the buckling in one spatial dimension:
|
||||
|
||||
\begin{itemize}
|
||||
\item $B_x^2 = \left(\frac{\pi}{L_x}\right)^2$ - buckling in x-direction
|
||||
\item $B_y^2 = \left(\frac{\pi}{L_y}\right)^2$ - buckling in y-direction
|
||||
\item $B_z^2 = \left(\frac{\pi}{L_z}\right)^2$ - buckling in z-direction
|
||||
\end{itemize}
|
||||
|
||||
The total geometric buckling is the sum of the directional components.
|
||||
|
||||
\textbf{Note:} The derivation of this formula from the diffusion equation was completed in Exam 1. The proof is left to that work.
|
||||
|
||||
\subsection*{Part D}
|
||||
|
||||
\subsubsection*{Python Code}
|
||||
\begin{lstlisting}[language=Python,
|
||||
basicstyle=\ttfamily\small,
|
||||
keywordstyle=\color{blue},
|
||||
commentstyle=\color{gray},
|
||||
stringstyle=\color{red},
|
||||
showstringspaces=false,
|
||||
numbers=left,
|
||||
numberstyle=\tiny,
|
||||
frame=single,
|
||||
breaklines=true]
|
||||
import sympy as sm
|
||||
|
||||
# Given dimensions
|
||||
L_x_val = 150 # cm (width)
|
||||
L_y_val = 200 # cm (length)
|
||||
|
||||
# Define L_z (height) as unknown
|
||||
L_z_sym = sm.Symbol('L_z', positive=True)
|
||||
|
||||
# Buckling with unknown height
|
||||
B_sq = (sm.pi / L_x_val)**2 + (sm.pi / L_y_val)**2 + (sm.pi / L_z_sym)**2
|
||||
|
||||
# Criticality equation: k_inf = (L^2_fast * B^2 + 1)(L^2_thermal * B^2 + 1)
|
||||
criticality_eq = (L_squared_fast * B_sq + 1) * (L_squared_th * B_sq + 1) - k_inf
|
||||
|
||||
# Solve for L_z
|
||||
L_z_solutions = sm.solve(criticality_eq, L_z_sym)
|
||||
L_z_critical = float([sol for sol in L_z_solutions if sol.is_real and sol > 0][0])
|
||||
|
||||
print(f"Critical height L_z = {L_z_critical:.2f} cm")
|
||||
\end{lstlisting}
|
||||
|
||||
\subsubsection*{Solution}
|
||||
|
||||
For a trough with width $L_x = 150$ cm and length $L_y = 200$ cm, we need to find the critical height $L_z$ where $k_{eff} = 1$.
|
||||
|
||||
\textbf{Criticality condition using two-group theory:}
|
||||
|
||||
At criticality, the effective multiplication factor equals unity:
|
||||
\[k_{eff} = \frac{k_\infty}{(L_{fast}^2 B^2 + 1)(L_{thermal}^2 B^2 + 1)} = 1\]
|
||||
|
||||
Rearranging:
|
||||
\[(L_{fast}^2 B^2 + 1)(L_{thermal}^2 B^2 + 1) = k_\infty\]
|
||||
|
||||
The geometric buckling for the rectangular trough is:
|
||||
\[B^2 = \left(\frac{\pi}{L_x}\right)^2 + \left(\frac{\pi}{L_y}\right)^2 + \left(\frac{\pi}{L_z}\right)^2\]
|
||||
|
||||
\textbf{Known values:}
|
||||
\begin{itemize}
|
||||
\item $k_\infty = 1.3021$
|
||||
\item $L_{fast}^2 = 23.333$ cm$^2$
|
||||
\item $L_{thermal}^2 = 4.375$ cm$^2$
|
||||
\item $L_x = 150$ cm
|
||||
\item $L_y = 200$ cm
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Calculation:}
|
||||
|
||||
Substituting the buckling expression:
|
||||
\[B^2 = \left(\frac{\pi}{150}\right)^2 + \left(\frac{\pi}{200}\right)^2 + \left(\frac{\pi}{L_z}\right)^2\]
|
||||
|
||||
\[B^2 = 4.386 \times 10^{-4} + 2.467 \times 10^{-4} + \frac{\pi^2}{L_z^2}\]
|
||||
|
||||
Substituting into the criticality equation:
|
||||
\[\left(23.333 \left(6.853 \times 10^{-4} + \frac{\pi^2}{L_z^2}\right) + 1\right) \left(4.375 \left(6.853 \times 10^{-4} + \frac{\pi^2}{L_z^2}\right) + 1\right) = 1.3021\]
|
||||
|
||||
Solving this equation numerically (or symbolically with SymPy) yields:
|
||||
|
||||
\[\boxed{L_z = 31.72 \text{ cm}}\]
|
||||
|
||||
\textbf{Verification:}
|
||||
\begin{itemize}
|
||||
\item $B^2 = 0.010496$ cm$^{-2}$
|
||||
\item $k_{eff} = 1.000000$ \checkmark
|
||||
\end{itemize}
|
||||
|
||||
The trough would become critical at a height of approximately 31.7 cm.
|
||||
|
||||
\subsection*{Part E}
|
||||
|
||||
\subsubsection*{Python Code}
|
||||
\begin{lstlisting}[language=Python,
|
||||
basicstyle=\ttfamily\small,
|
||||
keywordstyle=\color{blue},
|
||||
commentstyle=\color{gray},
|
||||
stringstyle=\color{red},
|
||||
showstringspaces=false,
|
||||
numbers=left,
|
||||
numberstyle=\tiny,
|
||||
frame=single,
|
||||
breaklines=true]
|
||||
# Prompt criticality
|
||||
BETA = 640e-5 # Delayed neutron fraction
|
||||
|
||||
# Prompt critical k_eff = 1/(1-beta)
|
||||
k_eff_prompt = 1 / (1 - BETA)
|
||||
|
||||
# Solve for height at prompt criticality
|
||||
L_z_prompt_sym = sm.Symbol('L_z_prompt', positive=True)
|
||||
B_sq_prompt = (sm.pi / L_x_val)**2 + (sm.pi / L_y_val)**2 + (sm.pi / L_z_prompt_sym)**2
|
||||
|
||||
prompt_crit_eq = (L_squared_fast * B_sq_prompt + 1) * \
|
||||
(L_squared_th * B_sq_prompt + 1) - k_inf / k_eff_prompt
|
||||
|
||||
L_z_prompt_solutions = sm.solve(prompt_crit_eq, L_z_prompt_sym)
|
||||
L_z_prompt = float([sol for sol in L_z_prompt_solutions
|
||||
if sol.is_real and sol > 0][0])
|
||||
|
||||
print(f"Prompt critical height L_z = {L_z_prompt:.2f} cm")
|
||||
\end{lstlisting}
|
||||
|
||||
\subsubsection*{Solution}
|
||||
|
||||
\textbf{Prompt criticality} occurs when the reactor can sustain a chain reaction on prompt neutrons alone, without relying on delayed neutrons. This happens when:
|
||||
|
||||
\[k_{eff} = \frac{1}{1 - \beta}\]
|
||||
|
||||
where $\beta$ is the delayed neutron fraction.
|
||||
|
||||
\textbf{Given:}
|
||||
\begin{itemize}
|
||||
\item $\beta = 640 \times 10^{-5} = 0.00640$
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Prompt critical condition:}
|
||||
\[k_{eff,prompt} = \frac{1}{1 - 0.00640} = \frac{1}{0.99360} = 1.00644\]
|
||||
|
||||
Using the same two-group criticality equation from Part D, but now solving for the height where $k_{eff} = 1.00644$:
|
||||
|
||||
\[\frac{k_\infty}{(L_{fast}^2 B^2 + 1)(L_{thermal}^2 B^2 + 1)} = 1.00644\]
|
||||
|
||||
Rearranging:
|
||||
\[(L_{fast}^2 B^2 + 1)(L_{thermal}^2 B^2 + 1) = \frac{k_\infty}{k_{eff,prompt}} = \frac{1.3021}{1.00644} = 1.2938\]
|
||||
|
||||
With $B^2 = \left(\frac{\pi}{150}\right)^2 + \left(\frac{\pi}{200}\right)^2 + \left(\frac{\pi}{L_z}\right)^2$, solving numerically:
|
||||
|
||||
\[\boxed{L_{z,prompt} = 32.18 \text{ cm}}\]
|
||||
|
||||
\textbf{Comparison:}
|
||||
\begin{itemize}
|
||||
\item Delayed critical height: $L_z = 31.72$ cm
|
||||
\item Prompt critical height: $L_{z,prompt} = 32.18$ cm
|
||||
\item Difference: $\Delta L_z = 0.46$ cm
|
||||
\end{itemize}
|
||||
|
||||
The liquid must rise an additional 0.46 cm above delayed criticality to reach prompt criticality. This small difference highlights why delayed neutrons are crucial for reactor control.
|
||||
|
||||
\subsection*{Part F}
|
||||
|
||||
\subsubsection*{Solution}
|
||||
|
||||
The presence of people near the trough could significantly impact the critical height.
|
||||
|
||||
\textbf{Physical mechanism:}
|
||||
|
||||
If the neutron flux is not actually zero at the trough edges (as assumed in our bare reactor model), people standing nearby would:
|
||||
|
||||
\begin{enumerate}
|
||||
\item \textbf{Act as neutron reflectors:} Human bodies contain significant amounts of water ($\sim$60\% by mass), which is an excellent neutron moderator and reflector
|
||||
|
||||
\item \textbf{Reduce neutron leakage:} Neutrons that would have escaped the trough can be scattered back by the hydrogen in the water content of human tissue
|
||||
|
||||
\item \textbf{Increase system reactivity:} Reduced leakage means more neutrons remain in the system to cause fissions
|
||||
\end{enumerate}
|
||||
|
||||
\textbf{Impact on critical height:}
|
||||
|
||||
\[\boxed{\text{Critical height would DECREASE}}\]
|
||||
|
||||
With people nearby acting as reflectors:
|
||||
\begin{itemize}
|
||||
\item The effective non-leakage probability increases
|
||||
\item Less fissile material is needed to achieve $k_{eff} = 1$
|
||||
\item Critical height would be \textbf{lower} than our calculated 31.72 cm
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Safety implications:}
|
||||
|
||||
This is a \textbf{serious criticality safety concern}. The presence of personnel near fissile liquid containers can:
|
||||
\begin{itemize}
|
||||
\item Make systems go critical at lower fill levels than predicted by bare reactor calculations
|
||||
\item Create inadvertent criticality accidents
|
||||
\item Necessitate larger safety margins and administrative controls
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Historical note:} Several criticality accidents have occurred due to personnel proximity acting as reflectors, including incidents during the Manhattan Project. This is why strict distance requirements and neutron shielding are mandated in facilities handling fissile materials.
|
||||
@ -0,0 +1,167 @@
|
||||
\section*{Problem 5}
|
||||
|
||||
\subsection*{Part A}
|
||||
|
||||
\subsubsection*{Solution}
|
||||
|
||||
The xenon-135 transient for the given power history is solved using the coupled differential equations for I-135 and Xe-135:
|
||||
|
||||
\[\frac{dI}{dt} = -\lambda_I I + \rho \gamma_I P_0\]
|
||||
|
||||
\[\frac{dX}{dt} = -\lambda_{Xe} X - \rho R^{Max} X + \lambda_I I + \rho \gamma_{Xe} P_0\]
|
||||
|
||||
where $\rho$ is the normalized power (1.0 = 100\% power).
|
||||
|
||||
\textbf{Power History:}
|
||||
\begin{itemize}
|
||||
\item 0-5 hours: 100\% power
|
||||
\item 5-15 hours: Shutdown
|
||||
\item 15-50 hours: 100\% power
|
||||
\item 50-80 hours: 40\% power
|
||||
\item 80-100 hours: Shutdown
|
||||
\item 100-150 hours: 100\% power
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Key features of the xenon transient:}
|
||||
|
||||
\begin{enumerate}
|
||||
\item \textbf{Initial equilibrium (0-5 hours):} At 100\% power, xenon reactivity = -2900 pcm
|
||||
|
||||
\item \textbf{First shutdown (5-15 hours):}
|
||||
\begin{itemize}
|
||||
\item Xenon burnout stops immediately (no neutron flux)
|
||||
\item I-135 continues to decay into Xe-135
|
||||
\item Xenon concentration rises, reaching a peak around 8-9 hours after shutdown
|
||||
\item Most negative xenon reactivity occurs
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{Return to full power (t = 15 hours):}
|
||||
\begin{itemize}
|
||||
\item Xenon burnout resumes at full rate
|
||||
\item System returns to equilibrium at 100\% power
|
||||
\item Xenon reactivity returns to -2900 pcm
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{Power reduction to 40\% (t = 50 hours):}
|
||||
\begin{itemize}
|
||||
\item Reduced burnout rate (40\% of full power)
|
||||
\item Xenon concentration increases
|
||||
\item System approaches new equilibrium at 40\% power
|
||||
\item Equilibrium xenon significantly higher at lower power
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{Second shutdown (80-100 hours):}
|
||||
\begin{itemize}
|
||||
\item Similar xenon peak behavior to first shutdown
|
||||
\item Starting from 40\% power equilibrium
|
||||
\item Peak less pronounced due to lower initial I-135 inventory
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{Return to full power (t = 100 hours):}
|
||||
\begin{itemize}
|
||||
\item Final return to 100\% power operation
|
||||
\item System approaches equilibrium xenon level
|
||||
\item Xenon reactivity returns to -2900 pcm
|
||||
\end{itemize}
|
||||
\end{enumerate}
|
||||
|
||||
The xenon transient is shown in the figure below (computed using scipy.integrate.odeint):
|
||||
|
||||
\begin{center}
|
||||
\includegraphics[width=0.95\textwidth]{../python/problem5_xenon_transient.png}
|
||||
\end{center}
|
||||
|
||||
\subsection*{Part B}
|
||||
|
||||
\subsubsection*{Python Code}
|
||||
\begin{lstlisting}[language=Python,
|
||||
basicstyle=\ttfamily\small,
|
||||
keywordstyle=\color{blue},
|
||||
commentstyle=\color{gray},
|
||||
stringstyle=\color{red},
|
||||
showstringspaces=false,
|
||||
numbers=left,
|
||||
numberstyle=\tiny,
|
||||
frame=single,
|
||||
breaklines=true]
|
||||
from scipy.integrate import odeint
|
||||
|
||||
# Define ODE system
|
||||
def xenon_ode(y, t, power_func):
|
||||
I, X = y
|
||||
t_hours = t / 3600
|
||||
rho = power_func(t_hours)
|
||||
|
||||
dI_dt = -lambda_I * I + rho * gamma_I * P0
|
||||
dX_dt = -lambda_Xe * X - rho * R_max * X + lambda_I * I + rho * gamma_Xe * P0
|
||||
|
||||
return [dI_dt, dX_dt]
|
||||
|
||||
# Initial conditions at full power equilibrium
|
||||
I0 = gamma_I * P0 / lambda_I
|
||||
X0 = abs(Xe_eq_reactivity) / K
|
||||
|
||||
# Solve ODE over time period
|
||||
t_hours = np.linspace(0, 150, 2000)
|
||||
t_seconds = t_hours * 3600
|
||||
solution = odeint(xenon_ode, [I0, X0], t_seconds, args=(get_power,))
|
||||
|
||||
# Find peak after first shutdown (5-15 hours)
|
||||
X_transient = solution[:, 1]
|
||||
Xe_reactivity = -K * X_transient
|
||||
mask = (t_hours >= 5) & (t_hours <= 15)
|
||||
peak_idx = np.argmin(Xe_reactivity[mask])
|
||||
\end{lstlisting}
|
||||
|
||||
\subsubsection*{Solution}
|
||||
|
||||
After the first shutdown at t = 5 hours (shutdown period: 5-15 hours), xenon-135 concentration increases due to:
|
||||
\begin{enumerate}
|
||||
\item Continued decay of I-135 inventory into Xe-135
|
||||
\item Elimination of xenon burnout (no neutron flux)
|
||||
\end{enumerate}
|
||||
|
||||
The peak occurs when the production rate from I-135 decay equals the Xe-135 decay rate. This typically happens 8-12 hours after shutdown from full power operation.
|
||||
|
||||
\textbf{Given parameters:}
|
||||
\begin{itemize}
|
||||
\item $\gamma_I = 0.057$ (I-135 fission yield)
|
||||
\item $\gamma_{Xe} = 0.003$ (Xe-135 fission yield)
|
||||
\item $\lambda_I = 2.87 \times 10^{-5}$ sec$^{-1}$ (I-135 decay, $t_{1/2}$ = 6.7 hr)
|
||||
\item $\lambda_{Xe} = 2.09 \times 10^{-5}$ sec$^{-1}$ (Xe-135 decay, $t_{1/2}$ = 9.2 hr)
|
||||
\item $R^{Max} = 7.34 \times 10^{-5}$ sec$^{-1}$ (full power burnout)
|
||||
\item $K = 4.56$ pcm$\cdot$sec$^{-1}$
|
||||
\item Initial Xe reactivity = -2900 pcm (at 100\% power)
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Initial equilibrium concentrations (100\% power):}
|
||||
|
||||
At equilibrium with $\rho = 1.0$:
|
||||
\[I_{eq} = \frac{\gamma_I P_0}{\lambda_I} = 1985.12 \text{ [arb. units]}\]
|
||||
|
||||
\[X_{eq} = \frac{|\text{Xe reactivity}|}{K} = \frac{2900}{4.56} = 635.96 \text{ [arb. units]}\]
|
||||
|
||||
\textbf{Results from numerical integration:}
|
||||
|
||||
\[\boxed{\text{Time of peak: } t = 13.36 \text{ hours}}\]
|
||||
|
||||
\[\boxed{\text{Time after shutdown: } \Delta t = 8.36 \text{ hours}}\]
|
||||
|
||||
\[\boxed{\text{Peak xenon reactivity: } -5261 \text{ pcm}}\]
|
||||
|
||||
\textbf{Interpretation:}
|
||||
\begin{itemize}
|
||||
\item The xenon reactivity becomes 2361 pcm more negative than equilibrium
|
||||
\item Peak occurs approximately 8.4 hours after shutdown
|
||||
\item This represents a significant reactivity penalty that must be overcome to restart
|
||||
\item If reactivity worth is insufficient, the reactor cannot be restarted until xenon decays
|
||||
\item At t = 15 hours, when power returns to 100\%, xenon has already started to decay from peak
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Physical insight:}
|
||||
|
||||
The time to peak can be estimated analytically. After shutdown, I-135 decays with time constant $1/\lambda_I \approx 10$ hours, while Xe-135 decays with $1/\lambda_{Xe} \approx 13$ hours. The peak occurs when:
|
||||
|
||||
\[\frac{dX}{dt} = \lambda_I I(t) - \lambda_{Xe} X(t) = 0\]
|
||||
|
||||
This typically occurs at $t \approx 8-12$ hours after shutdown for thermal reactors, consistent with our computed value of 8.36 hours. The reactor restarts at t = 15 hours, which is about 1.6 hours after the xenon peak, when xenon has already begun to decay.
|
||||
210
Class_Work/nuce2101/exam2/python/problem2.py
Normal file
210
Class_Work/nuce2101/exam2/python/problem2.py
Normal file
@ -0,0 +1,210 @@
|
||||
import numpy as np
|
||||
|
||||
# Two-group cross-section data
|
||||
cross_sections = {
|
||||
'fast': {
|
||||
'D': 1.4, # Diffusion constant [cm]
|
||||
'Sigma_a': 0.010, # Absorption [cm^-1]
|
||||
'Sigma_s': 0.050, # Scattering from fast to thermal [cm^-1]
|
||||
'nu_Sigma_f': 0.000, # Neutrons per fission times fission cross section [cm^-1]
|
||||
'chi': 1, # Neutron group distribution (fission spectrum)
|
||||
'v': 1.8e7, # Average group velocity [cm/sec]
|
||||
},
|
||||
'thermal': {
|
||||
'D': 0.35, # Diffusion constant [cm]
|
||||
'Sigma_a': 0.080, # Absorption [cm^-1]
|
||||
'Sigma_s': 0.0, # Scattering from thermal to fast [cm^-1]
|
||||
'nu_Sigma_f': 0.125, # Neutrons per fission times fission cross section [cm^-1]
|
||||
'chi': 0, # Neutron group distribution (fission spectrum)
|
||||
'v': 2.2e5, # Average group velocity [cm/sec]
|
||||
},
|
||||
'scattering': {
|
||||
'fast_to_thermal': 0.050, # Sigma_s^(1->2) [cm^-1]
|
||||
'thermal_to_fast': 0.0, # Sigma_s^(2->1) [cm^-1]
|
||||
}
|
||||
}
|
||||
|
||||
# Easy access shortcuts
|
||||
D_fast = cross_sections['fast']['D']
|
||||
D_thermal = cross_sections['thermal']['D']
|
||||
Sigma_a_fast = cross_sections['fast']['Sigma_a']
|
||||
Sigma_a_thermal = cross_sections['thermal']['Sigma_a']
|
||||
Sigma_s_fast = cross_sections['fast']['Sigma_s'] # Scattering from fast to thermal
|
||||
Sigma_s_thermal = cross_sections['thermal']['Sigma_s'] # Scattering from thermal to fast
|
||||
nu_Sigma_f_fast = cross_sections['fast']['nu_Sigma_f']
|
||||
nu_Sigma_f_thermal = cross_sections['thermal']['nu_Sigma_f']
|
||||
chi_fast = cross_sections['fast']['chi']
|
||||
chi_thermal = cross_sections['thermal']['chi']
|
||||
v_fast = cross_sections['fast']['v']
|
||||
v_thermal = cross_sections['thermal']['v']
|
||||
|
||||
print("Two-Group Cross-Section Data Loaded")
|
||||
print(f"Fast Group: D={D_fast} cm, Sigma_a={Sigma_a_fast} cm^-1, v={v_fast:.2e} cm/s")
|
||||
print(f"Thermal Group: D={D_thermal} cm, Sigma_a={Sigma_a_thermal} cm^-1, v={v_thermal:.2e} cm/s")
|
||||
|
||||
# Problem 2A: Calculate k_inf using Four-Factor Formula
|
||||
# k_inf = epsilon * p * f * eta
|
||||
# where:
|
||||
# epsilon = fast fission factor (neutrons from fast fission per thermal fission)
|
||||
# p = resonance escape probability (fraction of fast neutrons reaching thermal)
|
||||
# f = thermal utilization factor (thermal neutrons absorbed in fuel vs total)
|
||||
# eta = reproduction factor (neutrons produced per thermal neutron absorbed in fuel)
|
||||
|
||||
# Fast fission factor: epsilon = 1 (no fast fissions since nu_Sigma_f_fast = 0)
|
||||
epsilon = 1.0
|
||||
|
||||
# Resonance escape probability: fraction of fast neutrons that scatter to thermal
|
||||
# p = Sigma_s_fast / (Sigma_a_fast + Sigma_s_fast)
|
||||
p = Sigma_s_fast / (Sigma_a_fast + Sigma_s_fast)
|
||||
|
||||
# Thermal utilization factor: f = 1 (single-region, all absorptions in "fuel")
|
||||
f = 1.0
|
||||
|
||||
# Reproduction factor: eta = nu*Sigma_f / Sigma_a (thermal group)
|
||||
eta = nu_Sigma_f_thermal / Sigma_a_thermal
|
||||
|
||||
# Four-Factor Formula
|
||||
k_inf = epsilon * p * f * eta
|
||||
|
||||
print(f"\n=== Problem 2A: k_infinity (Four-Factor Formula) ===")
|
||||
print(f"epsilon (fast fission factor) = {epsilon:.4f}")
|
||||
print(f"p (resonance escape probability) = {p:.4f}")
|
||||
print(f"f (thermal utilization) = {f:.4f}")
|
||||
print(f"eta (reproduction factor) = {eta:.4f}")
|
||||
print(f"k_inf = epsilon * p * f * eta = {k_inf:.4f}")
|
||||
|
||||
# Problem 2B: Calculate diffusion lengths
|
||||
import sympy as sm
|
||||
|
||||
# Define buckling as a symbol
|
||||
B_squared = sm.Symbol('B^2', positive=True)
|
||||
|
||||
# Calculate diffusion lengths
|
||||
# L^2_fast = D_fast / Sigma_total_fast
|
||||
# where Sigma_total_fast = Sigma_a_fast + Sigma_s_fast (removal from fast group)
|
||||
Sigma_total_fast = Sigma_a_fast + Sigma_s_fast
|
||||
L_squared_fast = D_fast / Sigma_total_fast
|
||||
|
||||
# L^2_th = D_th / Sigma_a_th
|
||||
L_squared_th = D_thermal / Sigma_a_thermal
|
||||
|
||||
print(f"\n=== Problem 2B: Diffusion Lengths ===")
|
||||
print(f"L_fast = {np.sqrt(L_squared_fast):.3f} cm")
|
||||
print(f"L_thermal = {np.sqrt(L_squared_th):.3f} cm")
|
||||
print(f"\nL^2_fast = {L_squared_fast:.3f} cm^2")
|
||||
print(f"L^2_thermal = {L_squared_th:.3f} cm^2")
|
||||
|
||||
# k_eff equation as function of buckling (for reference):
|
||||
# k_eff = k_inf / [(L^2_fast * B^2 + 1)(L^2_th * B^2 + 1)]
|
||||
# At criticality: k_eff = 1
|
||||
k_eff_expr = k_inf / ((L_squared_fast * B_squared + 1) * (L_squared_th * B_squared + 1))
|
||||
|
||||
print(f"\nCriticality relation:")
|
||||
print(f"k_eff = k_inf / [(L^2_fast * B^2 + 1)(L^2_thermal * B^2 + 1)]")
|
||||
print(f"k_eff = {k_inf:.4f} / [({L_squared_fast:.3f}*B^2 + 1)({L_squared_th:.3f}*B^2 + 1)]")
|
||||
|
||||
# Problem 2C: Geometric buckling for rectangular solid
|
||||
print(f"\n=== Problem 2C: Geometric Buckling ===")
|
||||
print(f"For a rectangular solid with dimensions L_x, L_y, L_z")
|
||||
print(f"with flux going to zero at the boundaries (bare reactor):")
|
||||
print(f"\nB^2 = (pi/L_x)^2 + (pi/L_y)^2 + (pi/L_z)^2")
|
||||
print(f"\nThis is the geometric buckling for the fundamental mode.")
|
||||
|
||||
# Example calculation with symbolic dimensions
|
||||
L_x, L_y, L_z = sm.symbols('L_x L_y L_z', positive=True)
|
||||
B_squared_geometric = (sm.pi / L_x)**2 + (sm.pi / L_y)**2 + (sm.pi / L_z)**2
|
||||
print(f"\nSymbolic expression:")
|
||||
print(f"B^2 = {B_squared_geometric}")
|
||||
|
||||
# Problem 2D: Critical height of trough
|
||||
print(f"\n=== Problem 2D: Critical Height of Trough ===")
|
||||
print(f"Given: Width L_x = 150 cm, Length L_y = 200 cm")
|
||||
print(f"Find: Height L_z for criticality (k_eff = 1)")
|
||||
|
||||
# Given dimensions
|
||||
L_x_val = 150 # cm
|
||||
L_y_val = 200 # cm
|
||||
|
||||
# At criticality: k_eff = 1 = k_inf / [(L²_fast * B² + 1)(L²_thermal * B² + 1)]
|
||||
# Rearranging: (L²_fast * B² + 1)(L²_thermal * B² + 1) = k_inf
|
||||
# where: B² = (π/L_x)² + (π/L_y)² + (π/L_z)²
|
||||
|
||||
# Define L_z as unknown
|
||||
L_z_sym = sm.Symbol('L_z', positive=True)
|
||||
|
||||
# Buckling with known dimensions and unknown height
|
||||
B_sq = (sm.pi / L_x_val)**2 + (sm.pi / L_y_val)**2 + (sm.pi / L_z_sym)**2
|
||||
|
||||
# Criticality equation: k_inf = (L²_fast * B² + 1)(L²_thermal * B² + 1)
|
||||
criticality_eq = (L_squared_fast * B_sq + 1) * (L_squared_th * B_sq + 1) - k_inf
|
||||
|
||||
# Solve for L_z
|
||||
L_z_solutions = sm.solve(criticality_eq, L_z_sym)
|
||||
|
||||
# Filter for positive real solutions
|
||||
L_z_critical = None
|
||||
for sol in L_z_solutions:
|
||||
if sol.is_real and sol > 0:
|
||||
L_z_critical = float(sol)
|
||||
break
|
||||
|
||||
if L_z_critical:
|
||||
print(f"\nCritical height L_z = {L_z_critical:.2f} cm")
|
||||
|
||||
# Verify by calculating k_eff
|
||||
B_sq_check = (np.pi / L_x_val)**2 + (np.pi / L_y_val)**2 + (np.pi / L_z_critical)**2
|
||||
k_eff_check = k_inf / ((L_squared_fast * B_sq_check + 1) * (L_squared_th * B_sq_check + 1))
|
||||
print(f"\nVerification: k_eff = {k_eff_check:.6f} (should be 1.0)")
|
||||
print(f"Geometric buckling B^2 = {B_sq_check:.6f} cm^-2")
|
||||
else:
|
||||
print("No positive real solution found!")
|
||||
|
||||
# Problem 2E: Prompt criticality
|
||||
print(f"\n=== Problem 2E: Prompt Critical Height ===")
|
||||
BETA = 640e-5 # Delayed neutron fraction
|
||||
print(f"Beta (delayed neutron fraction) = {BETA:.6f}")
|
||||
|
||||
# Prompt criticality occurs when k_eff = 1/(1-beta)
|
||||
k_eff_prompt = 1 / (1 - BETA)
|
||||
print(f"Prompt critical k_eff = 1/(1-beta) = {k_eff_prompt:.6f}")
|
||||
|
||||
# Solve for height at prompt criticality
|
||||
# k_eff_prompt = k_inf / [(L²_fast * B² + 1)(L²_thermal * B² + 1)]
|
||||
# Rearranging: (L²_fast * B² + 1)(L²_thermal * B² + 1) = k_inf / k_eff_prompt
|
||||
|
||||
L_z_prompt_sym = sm.Symbol('L_z_prompt', positive=True)
|
||||
B_sq_prompt = (sm.pi / L_x_val)**2 + (sm.pi / L_y_val)**2 + (sm.pi / L_z_prompt_sym)**2
|
||||
|
||||
prompt_crit_eq = (L_squared_fast * B_sq_prompt + 1) * (L_squared_th * B_sq_prompt + 1) - k_inf / k_eff_prompt
|
||||
|
||||
L_z_prompt_solutions = sm.solve(prompt_crit_eq, L_z_prompt_sym)
|
||||
|
||||
# Filter for positive real solutions
|
||||
L_z_prompt = None
|
||||
for sol in L_z_prompt_solutions:
|
||||
if sol.is_real and sol > 0:
|
||||
L_z_prompt = float(sol)
|
||||
break
|
||||
|
||||
if L_z_prompt:
|
||||
print(f"\nPrompt critical height L_z = {L_z_prompt:.2f} cm")
|
||||
|
||||
# Verify
|
||||
B_sq_prompt_check = (np.pi / L_x_val)**2 + (np.pi / L_y_val)**2 + (np.pi / L_z_prompt)**2
|
||||
k_eff_prompt_check = k_inf / ((L_squared_fast * B_sq_prompt_check + 1) * (L_squared_th * B_sq_prompt_check + 1))
|
||||
print(f"\nVerification: k_eff = {k_eff_prompt_check:.6f}")
|
||||
print(f"Difference from delayed critical: {L_z_prompt - L_z_critical:.2f} cm")
|
||||
else:
|
||||
print("No positive real solution found!")
|
||||
|
||||
# Problem 2F: Effect of people near trough
|
||||
print(f"\n=== Problem 2F: Effect of People Near Trough ===")
|
||||
print(f"If flux is not zero at edges and people are nearby:")
|
||||
print(f" - People act as neutron reflectors/scatterers (water in human body)")
|
||||
print(f" - This reduces neutron leakage from the trough")
|
||||
print(f" - Reduced leakage → system becomes MORE reactive")
|
||||
print(f" - To achieve criticality, LESS fissile material is needed")
|
||||
print(f"\nConclusion: Critical height would DECREASE")
|
||||
print(f" The actual critical height with people nearby < {L_z_critical:.2f} cm (bare reactor)")
|
||||
print(f" This is a SAFETY CONCERN - human reflection can inadvertently make")
|
||||
print(f" systems critical at lower liquid levels than calculated!")
|
||||
187
Class_Work/nuce2101/exam2/python/problem5.py
Normal file
187
Class_Work/nuce2101/exam2/python/problem5.py
Normal file
@ -0,0 +1,187 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
from scipy.integrate import odeint
|
||||
|
||||
# Problem 5: Xenon-135 Transient Analysis
|
||||
|
||||
# Given parameters
|
||||
gamma_I = 0.057 # I-135 fission yield (5.7%)
|
||||
gamma_Xe = 0.003 # Xe-135 fission yield (0.3%)
|
||||
lambda_I = 2.87e-5 # I-135 decay constant [sec^-1] (t_1/2 = 6.7 hr)
|
||||
lambda_Xe = 2.09e-5 # Xe-135 decay constant [sec^-1] (t_1/2 = 9.2 hr)
|
||||
R_max = 7.34e-5 # Full power burnout factor [sec^-1]
|
||||
K = 4.56 # Power constant [pcm*sec^-1]
|
||||
Xe_eq_reactivity = -2900 # Full power equilibrium Xe reactivity [pcm]
|
||||
|
||||
print("=== Problem 5: Xenon-135 Transient ===")
|
||||
print(f"\nGiven Parameters:")
|
||||
print(f"gamma_I = {gamma_I} (I-135 fission yield)")
|
||||
print(f"gamma_Xe = {gamma_Xe} (Xe-135 fission yield)")
|
||||
print(f"lambda_I = {lambda_I:.2e} sec^-1 (t_1/2 = 6.7 hr)")
|
||||
print(f"lambda_Xe = {lambda_Xe:.2e} sec^-1 (t_1/2 = 9.2 hr)")
|
||||
print(f"R_max = {R_max:.2e} sec^-1 (full power burnout)")
|
||||
print(f"K = {K} pcm*sec^-1")
|
||||
print(f"Initial Xe reactivity = {Xe_eq_reactivity} pcm (at 100% power)")
|
||||
|
||||
# Power history (normalized to 1.0 = 100% power)
|
||||
# Time ranges in hours
|
||||
power_history = [
|
||||
(0, 5, 1.0), # 0-5 hr: 100% power
|
||||
(5, 15, 0.0), # 5-15 hr: Shutdown
|
||||
(15, 50, 1.0), # 15-50 hr: 100% power
|
||||
(50, 80, 0.4), # 50-80 hr: 40% power
|
||||
(80, 100, 0.0), # 80-100 hr: Shutdown
|
||||
(100, 150, 1.0), # 100-150 hr: 100% power
|
||||
]
|
||||
|
||||
def get_power(t_hours):
|
||||
"""Return normalized power at time t (in hours)"""
|
||||
for t_start, t_end, power in power_history:
|
||||
if t_start <= t_hours < t_end:
|
||||
return power
|
||||
return 0.0 # Default to shutdown
|
||||
|
||||
# Calculate equilibrium I and Xe at full power
|
||||
# At equilibrium: dI/dt = 0, dX/dt = 0, rho = 1.0
|
||||
# I_eq = gamma_I * Sigma_f * phi / lambda_I
|
||||
# X_eq = (lambda_I * I_eq + gamma_Xe * Sigma_f * phi) / (lambda_Xe + sigma_a^Xe * phi)
|
||||
|
||||
# From the reactivity equation and given parameters, we can compute equilibrium
|
||||
# Xe_reactivity = -K * X / rho
|
||||
# At full power equilibrium: -2900 = -K * X_eq / 1.0
|
||||
# X_eq = 2900 / K (in relative units)
|
||||
|
||||
# But we need to be careful about units. Let's work in terms of production rates.
|
||||
# Production rate at full power: P_I = gamma_I * (production source)
|
||||
# At equilibrium: I_eq = P_I / lambda_I
|
||||
# At equilibrium: X_eq = (lambda_I * I_eq + gamma_Xe * P_source) / (lambda_Xe + R_max)
|
||||
|
||||
# Let's define production in terms that give correct equilibrium
|
||||
# From B = rho*K*[gamma_I, gamma_Xe], production scales with power
|
||||
|
||||
# For now, let's compute initial conditions at full power equilibrium
|
||||
rho_initial = 1.0 # Full power
|
||||
|
||||
# At equilibrium with rho=1:
|
||||
# dI/dt = 0 = -lambda_I * I + rho * gamma_I * P0
|
||||
# dX/dt = 0 = -lambda_Xe * X - rho * R_max * X + lambda_I * I + rho * gamma_Xe * P0
|
||||
|
||||
# Let P0 be a production constant we need to determine
|
||||
# From equilibrium: I_eq = rho * gamma_I * P0 / lambda_I
|
||||
# X_eq = (lambda_I * I_eq + rho * gamma_Xe * P0) / (lambda_Xe + rho * R_max)
|
||||
|
||||
# We know Xe_reactivity = -K * X at full power
|
||||
# So X_eq = 2900 / K at rho = 1
|
||||
|
||||
X_eq_fullpower = abs(Xe_eq_reactivity) / K # Equilibrium Xe "concentration" at full power
|
||||
print(f"\nEquilibrium Xe concentration (full power) = {X_eq_fullpower:.2f} [arbitrary units]")
|
||||
|
||||
# From equilibrium equation at full power (rho=1):
|
||||
# X_eq = (lambda_I * I_eq + gamma_Xe * P0) / (lambda_Xe + R_max)
|
||||
# And: I_eq = gamma_I * P0 / lambda_I
|
||||
|
||||
# Substituting:
|
||||
# X_eq = (lambda_I * gamma_I * P0 / lambda_I + gamma_Xe * P0) / (lambda_Xe + R_max)
|
||||
# X_eq = P0 * (gamma_I + gamma_Xe) / (lambda_Xe + R_max)
|
||||
|
||||
# Solving for P0:
|
||||
P0 = X_eq_fullpower * (lambda_Xe + R_max) / (gamma_I + gamma_Xe)
|
||||
I_eq_fullpower = gamma_I * P0 / lambda_I
|
||||
|
||||
print(f"Equilibrium I-135 concentration (full power) = {I_eq_fullpower:.2f} [arbitrary units]")
|
||||
print(f"Production constant P0 = {P0:.2e}")
|
||||
|
||||
# Define ODE system for I-135 and Xe-135
|
||||
def xenon_ode(y, t, power_func):
|
||||
"""
|
||||
ODE system for I-135 and Xe-135
|
||||
y = [I, X] where I is I-135, X is Xe-135
|
||||
t is time in seconds
|
||||
"""
|
||||
I, X = y
|
||||
t_hours = t / 3600 # Convert to hours for power lookup
|
||||
rho = power_func(t_hours)
|
||||
|
||||
# dI/dt = -lambda_I * I + rho * gamma_I * P0
|
||||
dI_dt = -lambda_I * I + rho * gamma_I * P0
|
||||
|
||||
# dX/dt = -lambda_Xe * X - rho * R_max * X + lambda_I * I + rho * gamma_Xe * P0
|
||||
dX_dt = -lambda_Xe * X - rho * R_max * X + lambda_I * I + rho * gamma_Xe * P0
|
||||
|
||||
return [dI_dt, dX_dt]
|
||||
|
||||
# Initial conditions at t=0 (full power equilibrium)
|
||||
I0 = I_eq_fullpower
|
||||
X0 = X_eq_fullpower
|
||||
y0 = [I0, X0]
|
||||
|
||||
print(f"\nInitial conditions at t=0 (full power equilibrium):")
|
||||
print(f"I-135 = {I0:.2f}")
|
||||
print(f"Xe-135 = {X0:.2f}")
|
||||
print(f"Xe reactivity = {-K * X0:.1f} pcm")
|
||||
|
||||
# Part A: Solve and sketch the xenon transient
|
||||
print(f"\n=== Part A: Xenon Transient Sketch ===")
|
||||
|
||||
# Time array: 0 to 150 hours
|
||||
t_hours = np.linspace(0, 150, 2000)
|
||||
t_seconds = t_hours * 3600
|
||||
|
||||
# Solve ODE
|
||||
solution = odeint(xenon_ode, y0, t_seconds, args=(get_power,))
|
||||
I_transient = solution[:, 0]
|
||||
X_transient = solution[:, 1]
|
||||
|
||||
# Calculate xenon reactivity
|
||||
Xe_reactivity_transient = -K * X_transient
|
||||
|
||||
# Plot results
|
||||
fig, (ax1, ax2, ax3) = plt.subplots(3, 1, figsize=(12, 10))
|
||||
|
||||
# Plot power history
|
||||
power_values = [get_power(t) for t in t_hours]
|
||||
ax1.plot(t_hours, power_values, 'b-', linewidth=2)
|
||||
ax1.set_ylabel('Normalized Power', fontsize=12)
|
||||
ax1.set_title('Power History', fontsize=14, fontweight='bold')
|
||||
ax1.grid(True, alpha=0.3)
|
||||
ax1.set_ylim(-0.1, 1.2)
|
||||
|
||||
# Plot I-135
|
||||
ax2.plot(t_hours, I_transient, 'g-', linewidth=2, label='I-135')
|
||||
ax2.set_ylabel('I-135 Concentration', fontsize=12)
|
||||
ax2.set_title('I-135 Transient', fontsize=14, fontweight='bold')
|
||||
ax2.grid(True, alpha=0.3)
|
||||
ax2.legend()
|
||||
|
||||
# Plot Xe reactivity
|
||||
ax3.plot(t_hours, Xe_reactivity_transient, 'r-', linewidth=2)
|
||||
ax3.axhline(y=-2900, color='k', linestyle='--', alpha=0.5, label='Initial Eq (-2900 pcm)')
|
||||
ax3.set_xlabel('Time (hours)', fontsize=12)
|
||||
ax3.set_ylabel('Xenon Reactivity (pcm)', fontsize=12)
|
||||
ax3.set_title('Xenon Reactivity Transient', fontsize=14, fontweight='bold')
|
||||
ax3.grid(True, alpha=0.3)
|
||||
ax3.legend()
|
||||
|
||||
plt.tight_layout()
|
||||
plt.savefig('problem5_xenon_transient.png', dpi=300, bbox_inches='tight')
|
||||
print("Xenon transient plot saved as 'problem5_xenon_transient.png'")
|
||||
plt.close()
|
||||
|
||||
# Part B: Find the peak xenon after first shutdown (at t=5 hours)
|
||||
print(f"\n=== Part B: First Xenon Peak Analysis ===")
|
||||
|
||||
# Focus on the first shutdown period (5 to 15 hours)
|
||||
mask = (t_hours >= 5) & (t_hours <= 15)
|
||||
t_peak_range = t_hours[mask]
|
||||
Xe_react_peak_range = Xe_reactivity_transient[mask]
|
||||
|
||||
# Find the peak (most negative reactivity)
|
||||
peak_idx = np.argmin(Xe_react_peak_range)
|
||||
t_peak = t_peak_range[peak_idx]
|
||||
Xe_peak_reactivity = Xe_react_peak_range[peak_idx]
|
||||
|
||||
print(f"\nFirst shutdown: t = 5 hours to t = 15 hours")
|
||||
print(f"Peak xenon occurs at t = {t_peak:.2f} hours")
|
||||
print(f"Time after shutdown = {t_peak - 5:.2f} hours")
|
||||
print(f"Peak xenon reactivity = {Xe_peak_reactivity:.1f} pcm")
|
||||
print(f"\nChange from equilibrium: {Xe_peak_reactivity - Xe_eq_reactivity:.1f} pcm")
|
||||
BIN
Class_Work/nuce2101/exam2/python/problem5_xenon_transient.png
Normal file
BIN
Class_Work/nuce2101/exam2/python/problem5_xenon_transient.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 354 KiB |
Loading…
x
Reference in New Issue
Block a user