From 87b8817bff21aa768f5f50f8058c4d239759e7ff Mon Sep 17 00:00:00 2001 From: yardasol Date: Fri, 9 Dec 2022 22:34:19 +0000 Subject: [PATCH] update docs at commit: Merge pull request #165 from yardasol/openmc-msbr-model OpenMC MSBR model and data 6bac510319ee9e8633c0ab8d357fd2bdc532ceb4 --- master/.buildinfo | 2 +- .../.doctrees/devguide/contributing.doctree | Bin 23237 -> 23237 bytes master/.doctrees/devguide/index.doctree | Bin 5467 -> 5467 bytes master/.doctrees/environment.pickle | Bin 278667 -> 283868 bytes master/.doctrees/examples.doctree | Bin 6196 -> 6196 bytes .../fileformatspec/databasefile.doctree | Bin 31254 -> 31254 bytes master/.doctrees/fileformatspec/index.doctree | Bin 3365 -> 3365 bytes .../fileformatspec/inputfile.doctree | Bin 53396 -> 54146 bytes master/.doctrees/index.doctree | Bin 18384 -> 18384 bytes master/.doctrees/installation.doctree | Bin 31061 -> 31061 bytes master/.doctrees/overview.doctree | Bin 23266 -> 23266 bytes master/.doctrees/releasenotes/index.doctree | Bin 3318 -> 3318 bytes .../.doctrees/releasenotes/template.doctree | Bin 7825 -> 7825 bytes master/.doctrees/releasenotes/v0.3.0.doctree | Bin 24061 -> 24061 bytes master/.doctrees/releasenotes/v0.4.0.doctree | Bin 42192 -> 42192 bytes master/.doctrees/releasenotes/v0.5.0.doctree | Bin 37204 -> 60071 bytes master/.doctrees/src/index.doctree | Bin 3762 -> 3762 bytes master/.doctrees/src/modules.doctree | Bin 2737 -> 2737 bytes master/.doctrees/src/saltproc.abc.doctree | Bin 59728 -> 58906 bytes master/.doctrees/src/saltproc.app.doctree | Bin 78206 -> 78594 bytes master/.doctrees/src/saltproc.doctree | Bin 4325 -> 4325 bytes .../src/saltproc.materialflow.doctree | Bin 53799 -> 53799 bytes .../src/saltproc.openmc_depcode.doctree | Bin 68636 -> 66971 bytes .../src/saltproc.openmc_deplete.doctree | Bin 2538 -> 2538 bytes master/.doctrees/src/saltproc.process.doctree | Bin 28354 -> 28354 bytes master/.doctrees/src/saltproc.reactor.doctree | Bin 14615 -> 14615 bytes .../.doctrees/src/saltproc.separator.doctree | Bin 52990 -> 52990 bytes .../src/saltproc.serpent_depcode.doctree | Bin 101574 -> 98840 bytes .../.doctrees/src/saltproc.simulation.doctree | Bin 60101 -> 60101 bytes master/.doctrees/src/saltproc.sparger.doctree | Bin 73793 -> 73793 bytes master/.doctrees/src/saltproc.version.doctree | Bin 2822 -> 2822 bytes master/_modules/saltproc/abc.html | 122 ++-- master/_modules/saltproc/app.html | 56 +- master/_modules/saltproc/openmc_depcode.html | 214 ++++--- master/_modules/saltproc/serpent_depcode.html | 584 ++++++++---------- master/_modules/saltproc/simulation.html | 79 ++- master/_sources/releasenotes/v0.5.0.rst.txt | 50 +- master/fileformatspec/inputfile.html | 142 ++--- master/genindex.html | 170 +++-- master/objects.inv | Bin 1864 -> 1927 bytes master/releasenotes/v0.5.0.html | 58 +- master/searchindex.js | 2 +- master/src/saltproc.abc.html | 156 +++-- master/src/saltproc.app.html | 18 +- master/src/saltproc.html | 81 +-- master/src/saltproc.openmc_depcode.html | 168 ++--- master/src/saltproc.serpent_depcode.html | 321 +++++----- v0.3.0/.buildinfo | 2 +- v0.3.0/.doctrees/environment.pickle | Bin 256096 -> 256096 bytes v0.3.0/.doctrees/examples.doctree | Bin 6196 -> 6196 bytes v0.3.0/.doctrees/index.doctree | Bin 15835 -> 15835 bytes v0.3.0/.doctrees/installation.doctree | Bin 16874 -> 16874 bytes v0.3.0/.doctrees/overview.doctree | Bin 20817 -> 20817 bytes v0.3.0/.doctrees/src/index.doctree | Bin 3762 -> 3762 bytes v0.3.0/.doctrees/src/modules.doctree | Bin 2737 -> 2737 bytes v0.3.0/.doctrees/src/saltproc.app.doctree | Bin 53808 -> 53808 bytes v0.3.0/.doctrees/src/saltproc.depcode.doctree | Bin 148775 -> 148775 bytes v0.3.0/.doctrees/src/saltproc.doctree | Bin 4647 -> 4647 bytes .../src/saltproc.materialflow.doctree | Bin 52693 -> 52693 bytes v0.3.0/.doctrees/src/saltproc.process.doctree | Bin 25968 -> 25968 bytes v0.3.0/.doctrees/src/saltproc.reactor.doctree | Bin 14379 -> 14379 bytes .../.doctrees/src/saltproc.separator.doctree | Bin 52494 -> 52494 bytes .../.doctrees/src/saltproc.simulation.doctree | Bin 57919 -> 57919 bytes v0.3.0/.doctrees/src/saltproc.sparger.doctree | Bin 73351 -> 73351 bytes v0.3.0/.doctrees/src/saltproc.tests.doctree | Bin 4256 -> 4256 bytes .../src/saltproc.tests.test_app.doctree | Bin 10622 -> 10622 bytes .../src/saltproc.tests.test_depcode.doctree | Bin 20035 -> 20035 bytes .../saltproc.tests.test_materialflow.doctree | Bin 7167 -> 7167 bytes .../src/saltproc.tests.test_process.doctree | Bin 4512 -> 4512 bytes .../src/saltproc.tests.test_separator.doctree | Bin 4550 -> 4550 bytes .../saltproc.tests.test_simulation.doctree | Bin 5915 -> 5915 bytes .../src/saltproc.tests.test_sparger.doctree | Bin 4512 -> 4512 bytes v0.3.0/.doctrees/src/saltproc.version.doctree | Bin 2822 -> 2822 bytes v0.4.0/.buildinfo | 2 +- v0.4.0/.doctrees/environment.pickle | Bin 256123 -> 256123 bytes v0.4.0/.doctrees/examples.doctree | Bin 6196 -> 6196 bytes v0.4.0/.doctrees/index.doctree | Bin 15835 -> 15835 bytes v0.4.0/.doctrees/installation.doctree | Bin 22893 -> 22893 bytes v0.4.0/.doctrees/overview.doctree | Bin 20817 -> 20817 bytes v0.4.0/.doctrees/src/index.doctree | Bin 3762 -> 3762 bytes v0.4.0/.doctrees/src/modules.doctree | Bin 2737 -> 2737 bytes v0.4.0/.doctrees/src/saltproc.app.doctree | Bin 53808 -> 53808 bytes v0.4.0/.doctrees/src/saltproc.depcode.doctree | Bin 148775 -> 148775 bytes v0.4.0/.doctrees/src/saltproc.doctree | Bin 4647 -> 4647 bytes .../src/saltproc.materialflow.doctree | Bin 52693 -> 52693 bytes v0.4.0/.doctrees/src/saltproc.process.doctree | Bin 25968 -> 25968 bytes v0.4.0/.doctrees/src/saltproc.reactor.doctree | Bin 14379 -> 14379 bytes .../.doctrees/src/saltproc.separator.doctree | Bin 52494 -> 52494 bytes .../.doctrees/src/saltproc.simulation.doctree | Bin 57919 -> 57919 bytes v0.4.0/.doctrees/src/saltproc.sparger.doctree | Bin 73351 -> 73351 bytes v0.4.0/.doctrees/src/saltproc.tests.doctree | Bin 4256 -> 4256 bytes .../src/saltproc.tests.test_app.doctree | Bin 10622 -> 10622 bytes .../src/saltproc.tests.test_depcode.doctree | Bin 20035 -> 20035 bytes .../saltproc.tests.test_materialflow.doctree | Bin 7167 -> 7167 bytes .../src/saltproc.tests.test_process.doctree | Bin 4512 -> 4512 bytes .../src/saltproc.tests.test_separator.doctree | Bin 4550 -> 4550 bytes .../saltproc.tests.test_simulation.doctree | Bin 5915 -> 5915 bytes .../src/saltproc.tests.test_sparger.doctree | Bin 4512 -> 4512 bytes v0.4.0/.doctrees/src/saltproc.version.doctree | Bin 2822 -> 2822 bytes 99 files changed, 1181 insertions(+), 1046 deletions(-) diff --git a/master/.buildinfo b/master/.buildinfo index 9a6bdee46..4d54d5938 100644 --- a/master/.buildinfo +++ b/master/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 38955e3d8e59bb8d6b7270eed9f5747c +config: 7514164aef4f05e2072e80038c93d886 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/master/.doctrees/devguide/contributing.doctree b/master/.doctrees/devguide/contributing.doctree index 71827129dcb119e9dc18e979311146f889255cff..c3f138cecf674bc07774b505877c31b2f8f6014c 100644 GIT binary patch delta 64 zcmX@QmGS6S#tqSohMCFv*%tW~$@*qViOHsh2F8Y#si~H!7G}oA$p(o@7AeN2=4mNL TNh!&u#zx7hNhX_n7%d|K%r6wy delta 64 zcmX@QmGS6S#tqSoh9zbxS!wAOX8K0SX-4K27HLL_$)*MdmgWYA=BXBD28M|y$%ZM$ T21XW%#%4*z<`$cK7%d|Ko$nJ7 diff --git a/master/.doctrees/devguide/index.doctree b/master/.doctrees/devguide/index.doctree index 749a61f5ed2cbd951cba83f259f132cf4fc08408..0fa6271d706bd94a906a31a02df1a251953f9ef7 100644 GIT binary patch delta 62 zcmcbubz5tL5~E>ea(=c&enqmrSyE!MsiA?fp=D~SWvYdlv2n6NVv>SxQz~x`mm(QF5A*xrIfVQDU;Gfq|vDfuVV-g_(h2qDiu0im`!_ RMWV4;lCinP=3qt+5dc&k5j_9^ diff --git a/master/.doctrees/environment.pickle b/master/.doctrees/environment.pickle index a572eaaa02832f24c075fcb5c1a60266a65d23e1..5da700489b267fd9895343aff82941f2caac17e4 100644 GIT binary patch literal 283868 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 SjxbJYLT!$Jd~&kY`F{Z%CEo=A literal 278667 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 UNh!&u#zx7hNhX`8Fg8^H0M;56ZU6uP delta 64 zcmbRCg>l*!#tq4gh9zbxS!wAOX8K0SX-4K27HLL_$)*MdmgWYA=BXBD28M|y$%ZM$ U21XW%#%4*z<`$c$Fg8^H0H@j$sQ>@~ diff --git a/master/.doctrees/fileformatspec/index.doctree b/master/.doctrees/fileformatspec/index.doctree index a983b1e9f2f9fe2b1291e9ab74953c2616099532..0636a42b38a7dbebf0b48402f9eb656197920e82 100644 GIT binary patch delta 62 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 delta 6413 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 Uq?BY+W25BMB$Lg5n69`00NYp=2mk;8 delta 64 zcmcc6&v>Dqal>gQ!xFQUth96sGkv4vG$V5hi!`IeWK#nJOLGH5^Hd8n1H(jW3wb6$9smFU delta 64 zcmccmiSg)V*t!)Z delta 64 zcmaE~mGRM5#tp%Yh9zbxS!wAOX8K0SX-4K27HLL_$)*MdmgWYA=BXBD28M|y$%ZM$ T21XW%#%4*z<`$b<7~>)Vs(KS( diff --git a/master/.doctrees/releasenotes/index.doctree b/master/.doctrees/releasenotes/index.doctree index 1d499289dd648c9840d0ff9135f9cd3506f3f7b1..fbd7ad2ae3b12d907f523dc50655d74da8743697 100644 GIT binary patch delta 62 zcmew+`Au?z7NcQia(=c&enqmrSyE!MsiA?fp=D~SWvYdlv2n6NVvk delta 64 zcmca`lIg-prVYi6h9zbxS!wAOX8K0SX-4K27HLL_$)*MdmgWYA=BXBD28M|y$%ZM$ U21XW%#%4*z<`$cmFzPG@0JBRIz5oCK diff --git a/master/.doctrees/releasenotes/v0.5.0.doctree b/master/.doctrees/releasenotes/v0.5.0.doctree index ee50f296a5154d9f70012777f3bba9db2e573998..960119926dea867af84a5e943e63ad3e7ce915e8 100644 GIT binary patch literal 60071 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 Skh@OSDE!BflCl!aQvW~2EH?xI delta 4258 zcmai1X;f5K66W4s=x#6p1qD=SHnF>Dpk+r?6cIPTHBm+k&7z%76gh~7xBxCFiUuq+ zIZpH_n#GL92|Z2_;~I4|ipWHcV@8d}#8HnrI%me5$sBd6?&CEmeP;Idc=@B8TM984{n6FlUH0KQ<~VF+R!?UziXV zWwFNOTMDA1h9p>{1Lg*G`f#0H%UxV-{q6r^aD0&wLi(k^->*eOgHMAdL9)c5pV{kG^ob^5 zfK6c=XbZRbPZ$Ope5diz99S=-$4j=+Fwk#28wLSh{!ry-(YzsXxhzriozn4t6}~U(9(0hsWguV5xsHt41OV0a&y;18ZB#VQ1JF`FztQTr!_STl_j9xj%~enL8z#tc{)U%-zk#L{@lHVY>-#F3ux zd)B+%8I@`C&n(Te>)_vs(fqmsZq5tWcC5^H1>(QS_Grpv)hwAgCW;Pd1(@JOA`bChDakFnIyP7DM6tz9wz6W_y4K_#B^S>=hiDPU>>J`W3$ z@mpE3>_Zu!IO&LtKUtf|_7kqFP<2ezYDmtg0{xVF@}Zr_A z>tXxK5gacTtDlm5;rln^l;j6rtu^4Eo;|=ms{$U*?5iMqbCVtnIqs01?+IgaG92|e zW}c(}ty-kFK;N3*c3fRwS--4)uuWyZjGAD_?I@5LqClf6!n-!uks8)(XV<=9+saW8 zZS`?>1b6Zy_wlK_P!<7m)*!* zT%08yqe*AF?(%)Qb`4)o-AC~?k}P;3S$0$>^6gFo>9Pouu2hTtizNM0lJqOd=b#jf z7g^I*r-6ds!QcausEtC@X*G8;I7{w9)dxMR`s4+r9!RS8;ESp!AmUnt| zB~kH0qLyKacO_99B~htp?D$tiozVvZo0h}PJTExdWD*a_f11X^*8@G-yHGUiU9dNg z<;ku>+XPp*-5kR4Lh}5Q-y7l&`SL7b)FrrfYzP5RH!A@Ca41rC#2u37z2p=LMNN_J z_0DIfMgZ!1tQG00k)`-I##Ky|W|t3K{aDwp0#k^?*UT8!%D z7`)t-R=?X4QI}Xqu<5WFK0E2ww>!@c;%Pn{#XpjG8YG@_i9qUd+ z5KL|i=cgp16B1Dc5*_JI^zcXooIj!KccVKILD280h5sZG{U8xlBGGk0C{Q7LAKVTaa^qtQ^_?#rxnQdOtA4KuHq3SW{s~ zxJ3i^j|cE*DKb)uT!nrn{EMf@%_m0UyJ_;0K5*|uBA+DOSO(lI3+5SkV;KPNe?6M# z%lNTHCUq4?kJHfn@G%;gRO$`oCu3Q;AUSi=%vVXym4c*_NPJ<=sgeAB87Go8NV3dH z5_ftMa|nX1r_*_p{%Q%r#Bgs!r64N(rJWwkn9;g)?G+wCsdFN*G7^i_YlXV#AtCcmN?T=JJ zO(pH&@cE5AR|^>}dY&f*&en=at3kJHt)s2Qo$(6EvQ)~27s};vc{&HDfpTrckawh9 zrCK~*`ilbrq1jqF-`0y8`B5zx+w}an6nt39SBq{3rF;-sT}eLgCByJAAlgPJ-h#!8{3XIvSZQ z+nDu;WG*o;QCbwgKv{7Vvf*{CqW>U#8f>ka11peVy1=*`U;Bvd_XdAX0s+1N$|L zY8U=(B?0((9h|>5N=*Q!@w)yR+X~Np0$|(=^ z`B?sWElHHTi4 diff --git a/master/.doctrees/src/index.doctree b/master/.doctrees/src/index.doctree index 491b4e76c841f9b26bdcbcd86cbe6c279af64ef1..d7c6376a2892283c1f7957bfe32cba08a9ba9109 100644 GIT binary patch delta 62 zcmdlayGeFKG^1f=a(=c&enqmrSyE!MsiA?fp=D~SWvYdlv2n6NVv0mPFr#5+a(=c&enqmrSyE!MsiA?fp=D~SWvYdlv2n6NVvP5^Lj6951J delta 62 zcmdlex>0mPFr#6KSxQz~x`mm(QF5A*xrIfVQDU;Gfq|vDfuVV-g_(h2qDiu0im`!_ RMWV4;lCinP<`za>P5?qK5jy|? diff --git a/master/.doctrees/src/saltproc.abc.doctree b/master/.doctrees/src/saltproc.abc.doctree index b5b2e50d7eb98122d5e0c5cf99bea1f43b4a95e3..3a113b1274474fb4ced147783a82eac9427c979e 100644 GIT binary patch literal 58906 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 literal 59728 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 H&AI;vipAYq diff --git a/master/.doctrees/src/saltproc.app.doctree b/master/.doctrees/src/saltproc.app.doctree index 6fe83a4ef06cc32636e7c84ecb0d9223dd087d09..8e1dc55ea0bd385b5e3117602bb0a04906a7b0e7 100644 GIT binary patch delta 5756 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 Ce(E^@ diff --git a/master/.doctrees/src/saltproc.doctree b/master/.doctrees/src/saltproc.doctree index d9fd304783889a986d25b0d929ec46b4d0487c4d..d71b87fb7b77becb2292adf438ca6c0e5ad229eb 100644 GIT binary patch delta 172 zcmaE=_*8L2GNWN;a(=c&enqmrSyE!MsiA?fp=D~SWvYdlv2n6NVv*Tx9e4AbJ#YD-}exrkL@(wTF z&F@?C$qn@z9n*Qpw0-R?vCaRdny`?kee>E`p={)7oxFAl-{!7`E6K=RpoF@4?UGz_ zlggWwyptzQQJ8#i)e17*4m4r&ht-eB47JG)+k`jAZ%ijs`(}r2!4hOS+-B2xb!Gr( C!{>1T delta 1527 zcmZ3!gn9WA<_*=1h9zbxS!wAOX8K0SX-4K27HLL_$)*MdmgWYA=BXBD28M|y$%ZM$ z21XW%#%4*z<`$FJFrFhrS0S6t=I2b2%%p4GT*#&%M!L4iKpQ8WXP?X}Yea_TjS4ZF zkI3#}B3*Tx9e4AbJ#YD-}exrkL@(wTF z&F@?C$qn@z9n*Qpw0-R?vCaRdny`?kee>E`p={)7oxFAl-{!7`E6K=RpoF@4?UGz_ zlggWwyptzQQJ8#i)e17*4m4r&ht-eB47JG)+k`jAZ%ijs`(}r2!4hOS+-B2xb!Gr_ CBfB&J diff --git a/master/.doctrees/src/saltproc.openmc_depcode.doctree b/master/.doctrees/src/saltproc.openmc_depcode.doctree index 60a1b964b14c26617f6755bd9003e87174031f73..04540254b3c3ea21453b9e92a897607bb4cf60da 100644 GIT binary patch literal 66971 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 KLKAZePyb)5N4(qs diff --git a/master/.doctrees/src/saltproc.openmc_deplete.doctree b/master/.doctrees/src/saltproc.openmc_deplete.doctree index 6eea74251dde3909fe7dcf88d6ae588229db833e..8b0c182eef3a0722a4aa7384d533626497211163 100644 GIT binary patch delta 62 zcmaDQ{7QJk0!G8kE3W(u?$TAkr0Py6Of tH)b+}YjUQW)aFm_`^ZQkn;-hyk)dt!L;rxy3&IUW$?~hwW|Q1LMgSKrBToPT delta 900 zcmX?fm+{bD#tnsxh9zbxS!wAOX8K0SX-4K27HLL_$)*MdmgWYA=BXBD28M|y$%ZM$ z21XW%#%4*z<`$C|G43Zr*F%4!%}1CHGm)j$YV#-7Tz0aw8cjaLYe|+)tI2Qqg*R97 zagq~A5B;q+zvb^HPpkFjCxVMv$a1vx=FehHa^z{9Y-=L7`M>E3W(u?$TAkr0Py6Of tH)b+}YjUQW)aFm_`^ZQkn;-hyk)dt!L;rxy3&IUW$?~hwW|Q1LMgWgu2*dyY diff --git a/master/.doctrees/src/saltproc.reactor.doctree b/master/.doctrees/src/saltproc.reactor.doctree index ec3baf4011f960971768a8463f1f2ea0f2566c98..238aea698ed26500a4a3e401d9c5c26ac4f4afb0 100644 GIT binary patch delta 473 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%0D35ma|lCOxHQfu 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 literal 101574 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 QUgK4ooP-|d+%f(C0OJhx#Q*>R diff --git a/master/.doctrees/src/saltproc.simulation.doctree b/master/.doctrees/src/saltproc.simulation.doctree index 2c5115f83b8c5ba32c919a27b3066a75a5e2f79f..240b0ca99bbedcc4f392205e1c6266184e665617 100644 GIT binary patch delta 1402 zcmX?lmHFsZ<_+bHhMCFv*%tW~$@*qViOHsh2F8Y#si~H!7G}oA$p(o@7AeN2=4mNL zNh!&u#zx7hNhX_DF#cyIUE5?sX^YJQY#&6((po~6E{n+mYyy-2EAnpEmWgI1--yls z6(=x}r+rdA&*VOH-pzul971H9u({9tj~e;9|Hl=xkga?2|2Uz|Ka*FnQDOqyX1Q!Z z%1oFnmo2{eU|}2|dG46JpOFX2UzBJY;#uezVxi^^5@K7RFux delta 1402 zcmX?lmHFsZ<_+bHh9zbxS!wAOX8K0SX-4K27HLL_$)*MdmgWYA=BXBD28M|y$%ZM$ z21XW%#%4*z<`$b*F#cyIUE5?sX^YJQY#&6((po~6E{n+mYyy-2EAnpEmWgI1--yls z6(=x}r+rdA&*VOH-pzul971H9u({9tj~e;9|Hl=xkga?2|2Uz|Ka*FnQDOqyX1Q!Z z%1oFnmo2{eU|}2|dG46JpOFX2UzBJY;#uezVxi^^5?v9iMOj diff --git a/master/.doctrees/src/saltproc.sparger.doctree b/master/.doctrees/src/saltproc.sparger.doctree index cfb4758135662c3499c217c04a771287477dfc5e..1526d62c1941f4a337b5bdf03a3ecb913aa31637 100644 GIT binary patch delta 1446 zcmX?jfaTx;mJNlBhMCFv*%tW~$@*qViOHsh2F8Y#si~H!7G}oA$p(o@7AeN2=4mNL zNh!&u#zx7hNhXsQG43Z_*Yt_9jHa89GYK)1u6OcBN&C&7Y`29-*9x-Ma&n)f5$Ret zf0Se*CwM+e`c4jKHr>2T`c^R+wr=c~5+GgM z8xAOLzI>#Lhdi4n@4R@KY@K|Y*)BJ+k*R%$4)12hTWKuhY2SSL-cfS3vOIZ9ZfFH$ zvu;lMC_<*qlR?^_f4xX3X*V%dHJe0J+`OHUIzs delta 1446 zcmX?jfaTx;mJNlBh9zbxS!wAOX8K0SX-4K27HLL_$)*MdmgWYA=BXBD28M|y$%ZM$ z21XW%#%4*z<`$C|G43Z_*Yt_9jHa89GYK)1u6OcBN&C&7Y`29-*9x-Ma&n)f5$Ret zf0Se*CwM+e`c4jKHr>2T`c^R+wr=c~5+GgM z8xAOLzI>#Lhdi4n@4R@KY@K|Y*)BJ+k*R%$4)12hTWKuhY2SSL-cfS3vOIZ9ZfFH$ zvu;lMC_<*qlR?^_f4xX3X*V%dHJe04|NHz5oCK diff --git a/master/.doctrees/src/saltproc.version.doctree b/master/.doctrees/src/saltproc.version.doctree index e14bb2a03060c931eb1e9931751f0ffa6388edce..b78ed9cb64a891e5141a54425e615499ed7b4aab 100644 GIT binary patch delta 117 zcmZn@YZKd0$Y_|EoS$uxUy-bDmXw%mYG`0=XqlR7nQCEXY@BS6m}HS+Y-*mCVw9AU YY-((joSI~^c@g7$b~3aTaZX_b0A!UU8~^|S delta 117 zcmZn@YZKd0$Y@w%mXej0ZegZxl$>T{ZefvTl$dO4U|?x(U}&CdVP;^MXp(H0Vr*b! Yk!Wm|WNdD+c@g7$b~3aTaZX_b0H(7bk^lez diff --git a/master/_modules/saltproc/abc.html b/master/_modules/saltproc/abc.html index 7a1e36ea4..bd8cfbe44 100644 --- a/master/_modules/saltproc/abc.html +++ b/master/_modules/saltproc/abc.html @@ -78,40 +78,43 @@

Source code for saltproc.abc

 from abc import ABC, abstractmethod
 
 
[docs]class Depcode(ABC): - """Abstract class for interfacing with monte-carlo particle transport - codes. Contains information about input, output, geometry, and template - files for running depletion simulations. Also contains neutron - population, active, and inactive cycles. Contains methods to read template - and output files, and write new input files for the depletion code. + """Abstract interface for running depletion steps. Attributes ----------- - param : dict of str to type - Holds depletion step parameter information. Parameter names are keys + neutronics_parameters : dict of str to type + Holds depletion step neutronics parameters. Parameter names are keys and parameter values are values. - sim_info : dict of str to type - Holds simulation settings information. Setting names are keys - and setting values are values. - iter_inputfile : str - Path to depletion code input file for depletion code rerunning. - iter_matfile : str - Path to iterative, rewritable material file for depletion code - rerunning. This file is modified during the simulation. + step_metadata : dict of str to type + Holds depletion code depletion step metadata. Metadata labels are keys + and metadata values are values. + runtime_inputfile : str + Path to input file used to run depletion step. + runtime_matfile : str + Path to material file containing burnable materials used to + run depletion step. + npop : int + Size of neutron population per cycle + active_cycles : int + Number of active cycles. + inactive_cycles : int + Number of inactive cycles. + """
[docs] def __init__(self, codename, + output_path, exec_path, template_input_file_path, - geo_files=None, - npop=50, - active_cycles=20, - inactive_cycles=20): - """Initializes the Depcode object. + geo_files): + """Initialize a Depcode object. Parameters ---------- + output_path : str + Path to results storage directory. codename : str Name of depletion code. exec_path : str @@ -125,67 +128,58 @@

Source code for saltproc.abc

                Path to file that contains the reactor geometry.
                List of `str` if reactivity control by
                switching geometry is `On` or just `str` otherwise.
-           npop : int, optional
-               Size of neutron population per cycle for Monte Carlo.
-           active_cycles : int, optional
-               Number of active cycles.
-           inactive_cycles : int, optional
-               Number of inactive cycles.
 
         """
         self.codename = codename
+        self.output_path = output_path
         self.exec_path = exec_path
         self.template_input_file_path = template_input_file_path
         self.geo_files = geo_files
-        self.npop = npop
-        self.active_cycles = active_cycles
-        self.inactive_cycles = inactive_cycles
-        self.param = {}
-        self.sim_info = {}
-        self.iter_inputfile = './iter_input'
-        self.iter_matfile = './iter_mat'
- -
[docs] @abstractmethod - def read_depcode_info(self): - """Parses initial depletion code info data from depletion code - output and stores it in the `Depcode` object's ``sim_info`` attribute. + self.neutronics_parameters = {} + self.step_metadata = {} + self.runtime_inputfile = None + self.runtime_matfile = None
+ +
[docs] @abstractmethod + def read_step_metadata(self): + """Reads depletion code's depletion step metadata and stores it in the + :class:`Depcode` object's :attr:`step_metadata` attribute. """
-
[docs] @abstractmethod - def read_depcode_step_param(self): - """Parses data from depletion code output for each step and stores - it in `Depcode` object's ``param`` attributes. +
[docs] @abstractmethod + def read_neutronics_parameters(self): + """Reads depletion code's depletion step neutronics parameters and + stores them in :class:`Depcode` object's + :attr:`neutronics_parameters` attribute. """
-
[docs] @abstractmethod - def read_dep_comp(self, read_at_end=False): - """Reads the depleted material data from the depcode simulation - and returns a dictionary with a `Materialflow` object for each - burnable material. +
[docs] @abstractmethod + def read_depleted_materials(self, read_at_end=False): + """Reads depleted materials from the depletion step results + and returns a dictionary containing them. Parameters ---------- read_at_end : bool, optional - Controls at which moment in the depletion step to read the data. If `True`, the function reads data at the end of the depletion step. Otherwise, the function reads data at the beginning of the depletion step. Returns ------- - mats : dict of str to Materialflow - Dictionary that contains `Materialflow` objects. + depleted_materials : dict of str to Materialflow + Dictionary containing depleted materials. ``key`` Name of burnable material. ``value`` - `Materialflow` object holding composition and properties. + :class:`Materialflow` object holding material composition and properties. """
-
[docs] @abstractmethod - def run_depcode(self, cores, nodes): - """Runs depletion code as a subprocess with the given parameters. +
[docs] @abstractmethod + def run_depletion_step(self, cores, nodes): + """Runs a depletion step as a subprocess with the given parameters. Parameters ---------- @@ -201,9 +195,9 @@

Source code for saltproc.abc

         next geometry file in ``geo_files``
         """
-
[docs] @abstractmethod - def write_depcode_input(self, reactor, dep_step, restart): - """ Writes prepared data into depletion code input file(s). +
[docs] @abstractmethod + def write_runtime_input(self, reactor, dep_step, restart): + """Write input file(s) for running depletion step Parameters ---------- @@ -216,21 +210,19 @@

Source code for saltproc.abc

             Is the current simulation restarted?
         """
-
[docs] @abstractmethod - def write_mat_file(self, dep_dict, dep_end_time): - """Writes the iteration input file containing the burnable materials - composition used in depletion runs and updated after each depletion - step. +
[docs] @abstractmethod + def update_depletable_materials(self, mats, dep_end_time): + """Update material file with reprocessed material compositions. Parameters ---------- - dep_dict : dict of str to Materialflow - Dictionary that contains `Materialflow` objects. + mats : dict of str to Materialflow + Dictionary containing reprocessed material compositions. ``key`` Name of burnable material. ``value`` - `Materialflow` object holding composition and properties. + :class:`Materialflow` object holding composition and properties. dep_end_time : float Current time at the end of the depletion step (d). diff --git a/master/_modules/saltproc/app.html b/master/_modules/saltproc/app.html index 1a3e6d534..763c01cc9 100644 --- a/master/_modules/saltproc/app.html +++ b/master/_modules/saltproc/app.html @@ -103,33 +103,25 @@

Source code for saltproc.app

         object_input[1], depcode, cores, nodes)
     msr = _create_reactor_object(object_input[2])
 
-    if isinstance(depcode.iter_inputfile, str):
-        depcode.iter_inputfile = (input_path /
-                                  depcode.iter_inputfile).resolve().as_posix()
-    else:
-        raise ValueError("not implemented")
-    depcode.iter_matfile = (
-        input_path /
-        depcode.iter_matfile).resolve().as_posix()
     # Check: Restarting previous simulation or starting new?
     simulation.check_restart()
     # Run sequence
     # Start sequence
     for dep_step in range(len(msr.dep_step_length_cumulative)):
         print("\n\n\nStep #%i has been started" % (dep_step + 1))
-        simulation.sim_depcode.write_depcode_input(msr,
+        simulation.sim_depcode.write_runtime_input(msr,
                                                    dep_step,
                                                    simulation.restart_flag)
-        depcode.run_depcode(cores, nodes)
+        depcode.run_depletion_step(cores, nodes)
         if dep_step == 0 and simulation.restart_flag is False:  # First step
             # Read general simulation data which never changes
             simulation.store_run_init_info()
             # Parse and store data for initial state (beginning of dep_step)
-            mats = depcode.read_dep_comp(False)
+            mats = depcode.read_depleted_materials(False)
             simulation.store_mat_data(mats, dep_step - 1, False)
         # Finish of First step
         # Main sequence
-        mats = depcode.read_dep_comp(True)
+        mats = depcode.read_depleted_materials(True)
         simulation.store_mat_data(mats, dep_step, False)
         simulation.store_run_step_info()
         # Reprocessing here
@@ -161,7 +153,7 @@ 

Source code for saltproc.app

         print("Removed mass [g]:", extracted_mass)
         # Store in DB after reprocessing and refill (right before next depl)
         simulation.store_after_repr(mats, waste_and_feed_streams, dep_step)
-        depcode.write_mat_file(mats, simulation.burn_time)
+        depcode.update_depletable_materials(mats, simulation.burn_time)
         del mats, waste_streams, waste_and_feed_streams, extracted_mass
         gc.collect()
         # Switch to another geometry?
@@ -221,7 +213,7 @@ 

Source code for saltproc.app

 
     Returns
     -------
-    input_path : PosixPath
+    input_path : Path
         Path to main input file
     process_file : str
         Path to the `.json` file describing the fuel reprocessing components.
@@ -249,11 +241,11 @@ 

Source code for saltproc.app

         input_path = (Path.cwd() / Path(f.name).parents[0])
 
         # Saltproc settings
-        process_file = (input_path /
-                              j['proc_input_file']).resolve().as_posix()
-        dot_file = (
+        process_file = str((input_path /
+                              j['proc_input_file']).resolve())
+        dot_file = str((
             input_path /
-            j['dot_input_file']).resolve().as_posix()
+            j['dot_input_file']).resolve())
         output_path = j['output_path']
         num_depsteps = j['num_depsteps']
 
@@ -267,30 +259,31 @@ 

Source code for saltproc.app

         reactor_input = j['reactor']
 
         if depcode_input['codename'] == 'serpent':
-            depcode_input['template_input_file_path'] = (
+            depcode_input['template_input_file_path'] = str((
                 input_path /
-                depcode_input['template_input_file_path']).resolve().as_posix()
+                depcode_input['template_input_file_path']).resolve())
         elif depcode_input['codename'] == 'openmc':
             for key in depcode_input['template_input_file_path']:
                 value = depcode_input['template_input_file_path'][key]
-                depcode_input['template_input_file_path'][key] = (
-                    input_path / value).resolve().as_posix()
+                depcode_input['template_input_file_path'][key] = str((
+                    input_path / value).resolve())
         else:
             raise ValueError(
                 f'{depcode_input["codename"]} '
                 'is not a supported depletion code')
 
+        depcode_input['output_path'] = output_path
         geo_list = depcode_input['geo_file_paths']
 
         # Global geometry file paths
         geo_file_paths = []
         for g in geo_list:
-            geo_file_paths += [(input_path / g).resolve().as_posix()]
+            geo_file_paths += [str((input_path / g).resolve())]
         depcode_input['geo_file_paths'] = geo_file_paths
 
         # Global output file paths
         db_name = (output_path / simulation_input['db_name'])
-        simulation_input['db_name'] = db_name.resolve().as_posix()
+        simulation_input['db_name'] = str(db_name.resolve())
 
         reactor_input = _process_main_input_reactor_params(
             reactor_input, num_depsteps)
@@ -315,21 +308,20 @@ 

Source code for saltproc.app

 
 
[docs]def _create_depcode_object(depcode_input): """Helper function for `run()` """ - codename = depcode_input['codename'] + codename = depcode_input['codename'].lower() if codename == 'serpent': depcode = SerpentDepcode elif codename == 'openmc': depcode = OpenMCDepcode else: raise ValueError( - f'{depcode_input["codename"]} is not a supported depletion code') + f'{codename} is not a supported depletion code.' + 'Accepts: "serpent" or "openmc".') - depcode = depcode(depcode_input['exec_path'], + depcode = depcode(depcode_input['output_path'], + depcode_input['exec_path'], depcode_input['template_input_file_path'], - geo_files=depcode_input['geo_file_paths'], - npop=depcode_input['npop'], - active_cycles=depcode_input['active_cycles'], - inactive_cycles=depcode_input['inactive_cycles']) + geo_files=depcode_input['geo_file_paths']) return depcode
@@ -597,7 +589,7 @@

Source code for saltproc.app

     process_file : str
         Path to the `.json` file describing the fuel reprocessing components.
 
-        Returns
+    Returns
     -------
     waste_streams : dict of str to dict
         Superset of the input parameter `waste_streams`. Dictionary has
diff --git a/master/_modules/saltproc/openmc_depcode.html b/master/_modules/saltproc/openmc_depcode.html
index 844adb04d..59ffd3b61 100644
--- a/master/_modules/saltproc/openmc_depcode.html
+++ b/master/_modules/saltproc/openmc_depcode.html
@@ -89,43 +89,43 @@ 

Source code for saltproc.openmc_depcode

 from saltproc.abc import Depcode
 
 
[docs]class OpenMCDepcode(Depcode): - """Class contains information about input, output, geometry, and - template files for running OpenMC depletion simulations. - Also contains neutrons population, active, and inactive cycles. - Contains methods to read template and output files, - write new input files for OpenMC. + """Interface for running depletion steps in OpenMC, as well as obtaining + depletion step results. Attributes ---------- - param : dict of str to type - Holds depletion step parameter information. Parameter names are keys - and parameter values are values. - sim_info : dict of str to type - Holds simulation settings information. Setting names are keys - and setting values are values. - iter_inputfile : dict of str to str - Paths to OpenMC input files for OpenMC rerunning. - iter_matfile : str - Path to iterative, rewritable material file for OpenMC - rerunning. This file is modified during the simulation. - - + neutronics_parameters : dict of str to type + Holds OpenMC depletion step neutronics parameters. Parameter names are + keys and parameter values are values. + step_metadata : dict of str to type + Holds OpenMC depletion step metadata. Metadata labels are keys + and metadata values are values. + runtime_inputfile : dict of str to str + Paths to OpenMC input files used to run depletion step. Contains neutron + settings and geometry. + runtime_matfile : str + Path to OpenMC material file containing materials used to + run depletion step, and modified after fuel reprocessing. + npop : int + Size of neutron population per cycle + active_cycles : int + Number of active cycles. + inactive_cycles : int + Number of inactive cycles. """
[docs] def __init__(self, - exec_path="openmc_deplete.py", - template_input_file_path={"geometry": "./geometry.xml", - "settings": "./settings.xml", - "chain_file": "./chain_simple.xml"}, - geo_files=None, - npop=50, - active_cycles=20, - inactive_cycles=20): - """Initializes the OpenMCDepcode object. + output_path, + exec_path, + template_input_file_path, + geo_files): + """Initialize a OpenMCDepcode object. Parameters ---------- + output_path : str + Path to results storage directory. exec_path : str Path to OpenMC depletion script. template_input_file_path : dict of str to str @@ -137,62 +137,60 @@

Source code for saltproc.openmc_depcode

                Path to file that contains the reactor geometry.
                List of `str` if reactivity control by
                switching geometry is `On` or just `str` otherwise.
-           npop : int, optional
-               Size of neutron population per cycle for Monte Carlo.
-           active_cycles : int, optional
-               Number of active cycles.
-           inactive_cycles : int, optional
-               Number of inactive cycles.
 
         """
+
+        # if using the default depletion file, make sure we have the right path
+        if exec_path == "openmc_deplete.py":
+            exec_path = (Path(__file__).parents[0] / exec_path)
+
         super().__init__("openmc",
+                         output_path,
                          exec_path,
                          template_input_file_path,
-                         geo_files,
-                         npop,
-                         active_cycles,
-                         inactive_cycles)
-        self.iter_inputfile = {'geometry': './geometry.xml',
-                               'settings': './settings.xml'},
-        self.iter_matfile = './materials.xml'
- -
[docs] def read_depcode_info(self): - """Parses initial OpenMC simulation info from the OpenMC output files - and stores it in the `Depcode` object's ``sim_info`` attribute. + geo_files) + self.runtime_inputfile = \ + {'geometry': str((output_path / 'geometry.xml').resolve()), + 'settings': str((output_path / 'settings.xml').resolve())} + self.runtime_matfile = str((output_path / 'materials.xml').resolve())
+ +
[docs] def read_step_metadata(self): + """Reads OpenMC's depletion step metadata and stores it in the + :class:`OpenMCDepcode` object's :attr:`step_metadata` attribute. """
-
[docs] def read_depcode_step_param(self): - """Parses data from OpenMC depletion output for each step and stores - it in `Depcode` object's ``param`` attributes. +
[docs] def read_neutronics_parameters(self): + """Reads OpenMC depletion step neutronics parameters and stores them + in :class:`OpenMCDepcode` object's :attr:`neutronics_parameters` + attribute. """
-
[docs] def read_dep_comp(self, read_at_end=False): - """Reads the depleted material data from the OpenMC depletion - simulation and returns a dictionary with a `Materialflow` object for - each burnable material. +
[docs] def read_depleted_materials(self, read_at_end=False): + """Reads depleted materials from OpenMC's `depletion_results.h5` file + and returns a dictionary with a :class:`Materialflow` object for each + depleted material. Parameters ---------- read_at_end : bool, optional - Controls at which moment in the depletion step to read the data. If `True`, the function reads data at the end of the depletion step. Otherwise, the function reads data at the beginning of the depletion step. Returns ------- - mats : dict of str to Materialflow - Dictionary that contains `Materialflow` objects. + depleted_materials : dict of str to Materialflow + Dictionary containing depleted materials. ``key`` Name of burnable material. ``value`` - `Materialflow` object holding composition and properties. + :class:`Materialflow` object holding composition and properties. """
-
[docs] def run_depcode(self, cores, nodes): - """Runs OpenMC depletion simulation as a subprocess with the given +
[docs] def run_depletion_step(self, cores, nodes): + """Runs a depletion step in OpenMC as a subprocess with the given parameters. Parameters @@ -208,17 +206,17 @@

Source code for saltproc.openmc_depcode

             '-n',
             str(nodes),
             'python',
-            './deplete_openmc.py'
-            '-mat',
-            self.iter_matfile,
-            '-geo',
-            self.iter_inputfile['geometry'],
-            '-set',
-            self.iter_inputfile['settings'],
-            '-tal',
-            self.iter_inputfile['tallies'],
-            '-dep',
-            self.iter_inputfile['depletion_settings'])
+            self.exec_path,
+            '--materials',
+            self.runtime_matfile,
+            '--geometry',
+            self.runtime_inputfile['geometry'],
+            '--settings',
+            self.runtime_inputfile['settings'],
+            '--tallies',
+            self.runtime_inputfile['tallies'],
+            '--depletion_settings',
+            self.runtime_inputfile['depletion_settings'])
 
         print('Running %s' % (self.codename))
         # TODO: Need to figure out how to adapt this to openmc
@@ -237,78 +235,78 @@ 

Source code for saltproc.openmc_depcode

         """Switches the geometry file for the OpenMC depletion simulation to
         the next geometry file in `geo_files`.
         """
-        mats = openmc.Materials.from_xml(self.iter_matfile)
+        mats = openmc.Materials.from_xml(self.runtime_matfile)
         next_geometry = openmc.Geometry.from_xml(
             path=self.geo_files.pop(0),
             materials=mats)
-        next_geometry.export_to_xml(path=self.iter_inputfile['geometry'])
+        next_geometry.export_to_xml(path=self.runtime_inputfile['geometry'])
         del mats, next_geometry
-
[docs] def write_depcode_input(self, reactor, dep_step, restart): - """ Writes prepared data into OpenMC input file(s). +
[docs] def write_runtime_input(self, reactor, depletion_step, restart): + """Write OpenMC runtime input files for running depletion step. Parameters ---------- reactor : Reactor Contains information about power load curve and cumulative depletion time for the integration test. - dep_step : int + depletion_step : int Current depletion time step. restart : bool Is the current simulation restarted? """ - if dep_step == 0 and not restart: + if depletion_step == 0 and not restart: materials = openmc.Materials.from_xml( self.template_input_file_path['materials']) geometry = openmc.Geometry.from_xml( self.geo_files[0], materials=materials) settings = openmc.Settings.from_xml( self.template_input_file_path['settings']) - settings.particles = self.npop - settings.inactive = self.inactive_cycles - settings.batches = self.active_cycles + self.inactive_cycles + self.npop = settings.particles + self.inactive_cycles = settings.inactive + self.active_cycles = settings.batches - self.inactive_cycles + else: - materials = openmc.Materials.from_xml(self.iter_matfile) + materials = openmc.Materials.from_xml(self.runtime_matfile) geometry = openmc.Geometry.from_xml( - self.iter_inputfile['geometry'], materials=materials) + self.runtime_inputfile['geometry'], materials=materials) settings = openmc.Settings.from_xml( - self.iter_inputfile['settings']) + self.runtime_inputfile['settings']) - materials.export_to_xml(self.iter_matfile) - geometry.export_to_xml(self.iter_inputfile['geometry']) - settings.export_to_xml(self.iter_inputfile['settings']) - self.write_depletion_settings(reactor, dep_step) + materials.export_to_xml(self.runtime_matfile) + geometry.export_to_xml(self.runtime_inputfile['geometry']) + settings.export_to_xml(self.runtime_inputfile['settings']) + self.write_depletion_settings(reactor, depletion_step) self.write_saltproc_openmc_tallies(materials, geometry) del materials, geometry, settings
-
[docs] def write_depletion_settings(self, reactor, current_depstep_idx): - """Write the depeletion settings for the ``openmc.deplete`` - module. +
[docs] def write_depletion_settings(self, reactor, step_idx): + """Write the depeletion settings for the OpenMC depletion step. Parameters ---------- reactor : Reactor Contains information about power load curve and cumulative depletion time for the integration test. - current_depstep_idx : int + step_idx : int Current depletion step. """ depletion_settings = {} - current_depstep_power = reactor.power_levels[current_depstep_idx] + current_power = reactor.power_levels[step_idx] # Get current depletion step length - if current_depstep_idx == 0: - current_depstep = reactor.dep_step_length_cumulative[0] + if step_idx == 0: + step_length = reactor.dep_step_length_cumulative[0] else: - current_depstep = \ - reactor.dep_step_length_cumulative[current_depstep_idx] - \ - reactor.dep_step_length_cumulative[current_depstep_idx - 1] + step_length = \ + reactor.dep_step_length_cumulative[step_idx] - \ + reactor.dep_step_length_cumulative[step_idx - 1] - out_path = os.path.dirname(self.iter_inputfile['settings']) + out_path = os.path.dirname(self.runtime_inputfile['settings']) depletion_settings['directory'] = out_path - depletion_settings['timesteps'] = [current_depstep] + depletion_settings['timesteps'] = [step_length] operator_kwargs = {} @@ -320,32 +318,30 @@

Source code for saltproc.openmc_depcode

             a chain file in your saltproc input file")
 
         integrator_kwargs = {}
-        integrator_kwargs['power'] = current_depstep_power
+        integrator_kwargs['power'] = current_power
         integrator_kwargs['timestep_units'] = 'd'  # days
 
         depletion_settings['operator_kwargs'] = operator_kwargs
         depletion_settings['integrator_kwargs'] = integrator_kwargs
 
-        self.iter_inputfile['depletion_settings'] = \
+        self.runtime_inputfile['depletion_settings'] = \
             os.path.join(out_path, 'depletion_settings.json')
         json_dep_settings = json.JSONEncoder().encode(depletion_settings)
-        with open(self.iter_inputfile['depletion_settings'], 'w') as f:
+        with open(self.runtime_inputfile['depletion_settings'], 'w') as f:
             f.writelines(json_dep_settings)
-
[docs] def write_mat_file(self, dep_dict, dep_end_time): - """Writes the iteration input file containing the burnable materials - composition used in OpenMC depletion runs and updated after each - depletion step. +
[docs] def update_depletable_materials(self, mats, dep_end_time): + """Updates material file with reprocessed material compositions. Parameters ---------- - dep_dict : dict of str to Materialflow - Dictionary that contains `Materialflow` objects. + mats : dict of str to Materialflow + Dictionary containing reprocessed material compositions ``key`` Name of burnable material. ``value`` - `Materialflow` object holding composition and properties. + :class:`Materialflow` object holding composition and properties. dep_end_time : float Current time at the end of the depletion step (d). @@ -394,10 +390,10 @@

Source code for saltproc.openmc_depcode

         tally.scores = ['heating']
         tallies.append(tally)
 
-        out_path = os.path.dirname(self.iter_inputfile['settings'])
-        self.iter_inputfile['tallies'] = \
+        out_path = os.path.dirname(self.runtime_inputfile['settings'])
+        self.runtime_inputfile['tallies'] = \
             os.path.join(out_path, 'tallies.xml')
-        tallies.export_to_xml(self.iter_inputfile['tallies'])
+        tallies.export_to_xml(self.runtime_inputfile['tallies'])
         del tallies
diff --git a/master/_modules/saltproc/serpent_depcode.html b/master/_modules/saltproc/serpent_depcode.html index 7bf75d5c1..a7fe2e22f 100644 --- a/master/_modules/saltproc/serpent_depcode.html +++ b/master/_modules/saltproc/serpent_depcode.html @@ -75,7 +75,8 @@

Source code for saltproc.serpent_depcode

-import subprocess
+from pathlib import Path
+import subprocess
 import os
 import shutil
 import re
@@ -87,39 +88,44 @@ 

Source code for saltproc.serpent_depcode

 from saltproc.abc import Depcode
 
 
[docs]class SerpentDepcode(Depcode): - """Class contains information about input, output, geometry, and - template files for running Serpent2 depletion simulations. - Also contains neutrons population, active, and inactive cycles. - Contains methods to read template and output files, - write new input files for Serpent2. + """Interface for running depletion steps in Serpent, as well as obtaining + depletion step results. Attributes ----------- - param : dict of str to type - Holds Serpent depletion step parameter information. Parameter names are + neutronics_parameters : dict of str to type + Holds Serpent2 depletion step neutronics parameters. Parameter names are keys and parameter values are values. - sim_info : dict of str to type - Holds Serpent simulation settings information. Setting names are keys - and setting values are values. - iter_inputfile : str - Path to Serpent2 input file for Serpent2 rerunning. - iter_matfile : str - Path to iterative, rewritable material file for Serpent2 - rerunning. This file is modified during the simulation. + step_metadata : dict of str to type + Holds Serpent2 depletion step metadata. Metadata labels are keys + and metadata values are values. + runtime_inputfile : str + Path to Serpent2 input file used to run depletion step. Contains neutron + settings and non-burnable materials. + runtime_matfile : str + Path to Serpent2 material file containing burnable materials used to + run depletion step, and modified after fuel reprocessing. + npop : int + Size of neutron population per cycle + active_cycles : int + Number of active cycles. + inactive_cycles : int + Number of inactive cycles. + """
[docs] def __init__(self, - exec_path="sss2", - template_input_file_path="reactor.serpent", - geo_files=None, - npop=50, - active_cycles=20, - inactive_cycles=20): - """Initializes the SerpentDepcode object. + output_path, + exec_path, + template_input_file_path, + geo_files): + """Initialize a SerpentDepcode object. Parameters ---------- + output_path : str + Path to results storage directory. exec_path : str Path to Serpent2 executable. template_input_file_path : str @@ -128,118 +134,94 @@

Source code for saltproc.serpent_depcode

                Path to file that contains the reactor geometry.
                List of `str` if reactivity control by
                switching geometry is `On` or just `str` otherwise.
-           npop : int, optional
-               Size of neutron population per cycle for Monte Carlo.
-           active_cycles : int, optional
-               Number of active cycles.
-           inactive_cycles : int, optional
-               Number of inactive cycles.
 
         """
         super().__init__("serpent",
+                         output_path,
                          exec_path,
                          template_input_file_path,
-                         geo_files=geo_files,
-                         npop=npop,
-                         active_cycles=active_cycles,
-                         inactive_cycles=inactive_cycles)
-        self.iter_inputfile = './serpent_iter_input.serpent'
-        self.iter_matfile = './serpent_iter_mat.ini'
- -
[docs] def change_sim_par(self, template_data): - """Finds simulation parameters (neutron population, cycles) in the - Serpent2 template file and change them to the parameters from the - SaltProc input file. + geo_files) + self.runtime_inputfile = \ + str((output_path / 'runtime_input.serpent').resolve()) + self.runtime_matfile = str((output_path / 'runtime_mat.ini').resolve())
+ +
[docs] def get_neutron_settings(self, file_lines): + """Get neutron settings (no. of neutrons per cycle, no. of active and + inactive cycles) from the Serpent2 input file Parameters ---------- - template_data : list - List of strings parsed from user's Serpent2 template file. - - Returns - ------- - input_data : list - List of strings containing Serpent2 input file with new - simulation parameters. + file_lines : list of str + Serpent2 runtime input file. """ - if self.npop and self.active_cycles and self.inactive_cycles: - sim_param = [s for s in template_data if s.startswith("set pop")] - if len(sim_param) > 1: - print('ERROR: Template file %s contains multiple lines with ' - 'simulation parameters:\n' - % (self.template_input_file_path), sim_param) - return - elif len(sim_param) < 1: - print( - 'ERROR: Template file %s does not contain line with ' - 'simulation parameters.' % - (self.template_input_file_path)) - return - args = 'set pop %i %i %i\n' % (self.npop, self.active_cycles, - self.inactive_cycles) - return [s.replace(sim_param[0], args) for s in template_data]
- -
[docs] def create_iter_matfile(self, template_data): - """Finds ``include`` line with path to material file, copies content of - this file to iteration material file, changes path in ``include`` line - to newly created iteration material file. + neutron_settings = \ + [line for line in file_lines if line.startswith("set pop")] + if len(neutron_settings) > 1: + raise IOError('Template file ' + f'{self.template_input_file_path} contains ' + 'multuple lines with neutron settings') + elif len(neutron_settings) < 1: + raise IOError('Template file ' + f'{self.template_input_file_path} does not ' + 'contain neutron settings.') + _, _, npop, active_cycles, inactive_cycles = neutron_settings[0].split() + self.npop = int(npop) + self.active_cycles = int(active_cycles) + self.inactive_cycles = int(inactive_cycles)
+ +
[docs] def create_runtime_matfile(self, file_lines): + """Creates the runtime material file tracking burnable materials + ans inserts the path to this file in the Serpent2 runtime input file Parameters ---------- - template_data : list - List of strings parsed from user's template file. + file_lines : list of str + Serpent2 runtime input file. Returns ------- - input_data : list - List of strings containing modified user template file. + file_lines : list of str + Serpent2 runtime input file with updated material file path. """ - data_dir = os.path.dirname(self.template_input_file_path) - include_str = [s for s in template_data if s.startswith("include ")] - if not include_str: - print('ERROR: Template file %s has no <include "material_file">' - ' statements ' % (self.template_input_file_path)) - return - src_file = include_str[0].split()[1][1:-1] - if not os.path.isabs(src_file): - abs_src_matfile = os.path.normpath(data_dir) + '/' + src_file + runtime_dir = Path(self.template_input_file_path).parents[0] + include_card = [line for line in file_lines if line.startswith("include ")] + if not include_card: + raise IOError('Template file ' + f'{self.template_input_file_path} has no <include ' + '"material_file"> statements') + burnable_materials_path = include_card[0].split()[1][1:-1] + if not Path(burnable_materials_path).is_absolute(): + absolute_path = (runtime_dir / burnable_materials_path) else: - abs_src_matfile = src_file - if 'mat ' not in open(abs_src_matfile).read(): - print('ERROR: Template file %s has not include file with' - ' materials description or <include "material_file">' - ' statement is not appears' - ' as first <include> statement\n' - % (self.template_input_file_path)) - return + absolute_path = Path(burnable_materials_path) + with open(absolute_path) as f: + if 'mat ' not in f.read(): + raise IOError('Template file ' + f'{self.template_input_file_path} includes ' + 'no file with materials description') # Create data directory - try: - os.mkdir(os.path.dirname(self.iter_matfile)) - except FileExistsError: - pass + Path.mkdir(Path(self.runtime_matfile).parents[0], exist_ok=True) + # Create file with path for SaltProc rewritable iterative material file - shutil.copy2(abs_src_matfile, self.iter_matfile) - return [s.replace(src_file, self.iter_matfile) for s in template_data]
+ shutil.copy2(absolute_path, self.runtime_matfile) + return [line.replace(burnable_materials_path, self.runtime_matfile) for line in file_lines]
-
[docs] def get_nuc_name(self, nuc_code): - """Returns nuclide name in human-readable notation: chemical symbol - (one or two characters), dash, and the atomic weight. Lastly, if the - nuclide is in metastable state, the letter `m` is concatenated with - number of excited state. For example, `Am-242m1`. +
[docs] def convert_nuclide_code_to_name(self, nuc_code): + """Converts Serpent2 nuclide code to symbolic nuclide name. + If nuclide is in a metastable state, the nuclide name is concatenated + with the letter `m` and the state index. Parameters ---------- nuc_code : str - Name of nuclide in Serpent2 form. For instance, `Am-242m`. + Nuclide code in Serpent2 format (`47310.09c`) Returns ------- nuc_name : str - Name of nuclide in human-readable notation (`Am-242m1`). - nuc_zzaaam : str - Name of nuclide in `zzaaam` form (`952421`). + Symbolic nuclide name (`Am242m1`). """ @@ -248,7 +230,6 @@

Source code for saltproc.serpent_depcode

             zz = pyname.znum(nuc_code)
             aa = pyname.anum(nuc_code)
             aa_str = str(aa)
-            # at_mass = pydata.atomic_mass(nuc_code_id)
             if aa > 300:
                 if zz > 76:
                     aa_str = str(aa - 100) + 'm1'
@@ -266,88 +247,90 @@ 

Source code for saltproc.serpent_depcode

                 nuc_name = pyname.name(nuc_code)[:-1] + 'm' + str(meta_flag)
             else:
                 nuc_name = pyname.name(nuc_code)
-        nuc_zzaaam = \
-            self.convert_nuclide_name_serpent_to_zam(pyname.zzaaam(nuc_code))
-        return nuc_name, nuc_zzaaam
-
[docs] def create_nuclide_name_map_zam_to_serpent(self): - """ Create a map that accepts nuclide names in `zzaaam` format and - returns the Serpent2 nuclide code format. Uses Serpent2 `*.out` file - with list of all nuclides in simulation. + return nuc_name
+ +
[docs] def map_nuclide_code_zam_to_serpent(self): + """Creates a dictionary mapping nuclide codes in `zzaaam` format + to Serpent2's nuclide code format. Returns ------- - nuclide_map : dict of str to str - Contains mapping for nuclide names from `zzaaam` to Serpent2 - format imported from Serpent2 ouput file: + nuc_code_map : dict of str to str + Maps `zzaaam` nuclide codes to Serpent2 + nuclide codes. ``key`` - The key is nuclide name in `zzaaam` format. For example, + Nuclide code in `zzaaam` format. For example, `922350` or `982510`. ``value`` - Serpent2-oriented name. For instance, 92235.09c for transport - isotope or 982510 for decay only isotope). + Nuclide code in Serpent2 format. For instance, 92235.09c for a + nuclide with cross section data or 982510 for a decay-only nuclide. """ - map_dict = {} + nuc_code_map = {} # Construct path to the *.out File - out_file = os.path.join('%s.out' % self.iter_inputfile) - file = open(out_file, 'r') - str_list = file.read().split('\n') - # Stop-line - end = ' --- Table 2: Reaction and decay data: ' - for line in str_list: - if not line: - continue - if end in line: - break - if 'c TRA' in line or 'c DEC' in line: - line = line.split() - iname, zzaaam = self.get_nuc_name(line[2]) - map_dict.update({zzaaam: line[2]}) - self.iso_map = map_dict
- -
[docs] def insert_path_to_geometry(self, template_data): + out_file = os.path.join('%s.out' % self.runtime_inputfile) + with open(out_file, 'r') as f: + file_lines = f.read().split('\n') + # Stop-line + end = ' --- Table 2: Reaction and decay data: ' + for line in file_lines: + if not line: + continue + if end in line: + break + if 'c TRA' in line or 'c DEC' in line: + line = line.split() + nuc_code = line[2] + if '.' in str(nuc_code): + nuc_code = pyname.zzzaaa_to_id(int(nuc_code.split('.')[0])) + + zzaaam = \ + self.convert_nuclide_code_to_zam(pyname.zzaaam(nuc_code)) + + nuc_code_map.update({zzaaam: line[2]}) + return nuc_code_map
+ +
[docs] def insert_path_to_geometry(self, lines): """Inserts ``include <first_geometry_file>`` line on the 6th line of Serpent2 input file. Parameters ---------- - template_data : list - List of strings parsed from user's template file. + lines : list of str + Serpent2 runtime input file. Returns ------- - template_data : list - List of strings containing modified path to geometry - in user's template file. + lines : list of str + Serpent 2 runtime input file containing modified path to geometry """ - template_data.insert(5, # Inserts on 6th line + lines.insert(5, # Inserts on 6th line 'include \"' + str(self.geo_files[0]) + '\"\n') - return template_data
+ return lines
-
[docs] def read_dep_comp(self, read_at_end=False): - """Reads the Serpent2 `*_dep.m` file and returns a dictionary with - a `Materialflow` object for each burnable material. +
[docs] def read_depleted_materials(self, read_at_end=False): + """Reads depleted materials from Serpent2's `*_dep.m` + file and returns a dictionary containing them. Parameters ---------- read_at_end : bool, optional - Controls at which moment in the depletion step to read the data. If `True`, the function reads data at the end of the depletion step. Otherwise, the function reads data at the beginning of the depletion step. Returns ------- - mats : dict of str to Materialflow - Dictionary that contains `Materialflow` objects. + depleted_materials : dict of str to Materialflow + Dictionary containing depleted materials. ``key`` Name of burnable material. ``value`` - `Materialflow` object holding composition and properties. + :class:`Materialflow` object holding material composition and properties. """ # Determine moment in depletion step to read data from @@ -356,68 +339,73 @@

Source code for saltproc.serpent_depcode

         else:
             moment = 0
 
-        dep_file = os.path.join('%s_dep.m' % self.iter_inputfile)
-        dep = serpent.parse_dep(dep_file, make_mats=False)
-        self.days = dep['DAYS'][moment]
-        # Read materials names from the file
-        mat_name = []
-        mats = {}
-        for key in dep.keys():
-            m = re.search('MAT_(.+?)_VOLUME', key)
-            if m:
-                mat_name.append(m.group(1))
-        zai = list(map(int, dep['ZAI'][:-2]))  # zzaaam codes of isotopes
-
-        for m in mat_name:
-            volume = dep['MAT_' + m + '_VOLUME'][moment]
-            nucvec = dict(zip(zai, dep['MAT_' + m + '_MDENS'][:, moment]))
-            mats[m] = Materialflow(nucvec)
-            mats[m].density = dep['MAT_' + m + '_MDENS'][-1, moment]
-            mats[m].mass = mats[m].density * volume
-            mats[m].vol = volume
-            mats[m].burnup = dep['MAT_' + m + '_BURNUP'][moment]
-        self.create_nuclide_name_map_zam_to_serpent()
-        return mats
- -
[docs] def read_depcode_info(self): - """Parses initial simulation info data from Serpent2 output and stores - it in the `SerpentDepcode` object's ``sim_info`` attributes. + results_file = os.path.join('%s_dep.m' % self.runtime_inputfile) + results = serpent.parse_dep(results_file, make_mats=False) + self.days = results['DAYS'][moment] + + # Get material names + mat_names = [] + depleted_materials = {} + for key in results.keys(): + name_match = re.search('MAT_(.+?)_VOLUME', key) + if name_match: + mat_names.append(name_match.group(1)) + zai = list(map(int, results['ZAI'][:-2])) # zzaaam codes of isotopes + + for name in mat_names: + volume = results[f'MAT_{name}_VOLUME'][moment] + nucvec = dict(zip(zai, results[f'MAT_{name}_MDENS'][:, moment])) + depleted_materials[name] = Materialflow(nucvec) + depleted_materials[name].density = results[f'MAT_{name}_MDENS'][-1, moment] + depleted_materials[name].mass = depleted_materials[name].density * volume + depleted_materials[name].vol = volume + depleted_materials[name].burnup = results[f'MAT_{name}_BURNUP'][moment] + return depleted_materials
+ +
[docs] def read_step_metadata(self): + """Reads Serpent2 depletion step metadata and stores it in the + :class:`SerpentDepcode` object's :attr:`step_metadata` attribute. """ - res = serpent.parse_res(self.iter_inputfile + "_res.m") + res = serpent.parse_res(self.runtime_inputfile + "_res.m") depcode_name, depcode_ver = res['VERSION'][0].decode('utf-8').split() - self.sim_info['depcode_name'] = depcode_name - self.sim_info['depcode_version'] = depcode_ver - self.sim_info['title'] = res['TITLE'][0].decode('utf-8') - self.sim_info['depcode_input_filename'] = \ + self.step_metadata['depcode_name'] = depcode_name + self.step_metadata['depcode_version'] = depcode_ver + self.step_metadata['title'] = res['TITLE'][0].decode('utf-8') + self.step_metadata['depcode_input_filename'] = \ res['INPUT_FILE_NAME'][0].decode('utf-8') - self.sim_info['depcode_working_dir'] = \ + self.step_metadata['depcode_working_dir'] = \ res['WORKING_DIRECTORY'][0].decode('utf-8') - self.sim_info['xs_data_path'] = \ + self.step_metadata['xs_data_path'] = \ res['XS_DATA_FILE_PATH'][0].decode('utf-8') - self.sim_info['OMP_threads'] = res['OMP_THREADS'][0] - self.sim_info['MPI_tasks'] = res['MPI_TASKS'][0] - self.sim_info['memory_optimization_mode'] = res['OPTIMIZATION_MODE'][0] - self.sim_info['depletion_timestep'] = res['BURN_DAYS'][1][0] - self.sim_info['depletion_timestep'] = res['BURN_DAYS'][1][0]
- -
[docs] def read_depcode_step_param(self): - """Parses data from Serpent2 output for each step and stores it in - `SerpentDepcode` object's ``param`` attributes. + self.step_metadata['OMP_threads'] = res['OMP_THREADS'][0] + self.step_metadata['MPI_tasks'] = res['MPI_TASKS'][0] + self.step_metadata['memory_optimization_mode'] = res['OPTIMIZATION_MODE'][0] + self.step_metadata['depletion_timestep'] = res['BURN_DAYS'][1][0] + self.step_metadata['execution_time'] = res['RUNNING_TIME'][1] + self.step_metadata['memory_usage'] = res['MEMSIZE'][0]
+ + +
[docs] def read_neutronics_parameters(self): + """Reads Serpent2 depletion step neutronics parameters and stores them + in :class:`SerpentDepcode` object's :attr:`neutronics_parameters` + attribute. """ - res = serpent.parse_res(self.iter_inputfile + "_res.m") - self.param['keff_bds'] = res['IMP_KEFF'][0] - self.param['keff_eds'] = res['IMP_KEFF'][1] - self.param['breeding_ratio'] = res['CONVERSION_RATIO'][1] - self.param['execution_time'] = res['RUNNING_TIME'][1] - self.param['burn_days'] = res['BURN_DAYS'][1][0] - self.param['power_level'] = res['TOT_POWER'][1][0] - self.param['memory_usage'] = res['MEMSIZE'][0] + res = serpent.parse_res(self.runtime_inputfile + "_res.m") + self.neutronics_parameters['keff_bds'] = res['IMP_KEFF'][0] + self.neutronics_parameters['keff_eds'] = res['IMP_KEFF'][1] + self.neutronics_parameters['breeding_ratio'] = \ + res['CONVERSION_RATIO'][1] + self.neutronics_parameters['burn_days'] = res['BURN_DAYS'][1][0] + self.neutronics_parameters['power_level'] = res['TOT_POWER'][1][0] b_l = int(.5 * len(res['FWD_ANA_BETA_ZERO'][1])) - self.param['beta_eff'] = res['FWD_ANA_BETA_ZERO'][1].reshape((b_l, 2)) - self.param['delayed_neutrons_lambda'] = \ + self.neutronics_parameters['beta_eff'] = \ + res['FWD_ANA_BETA_ZERO'][1].reshape((b_l, 2)) + self.neutronics_parameters['delayed_neutrons_lambda'] = \ res['FWD_ANA_LAMBDA'][1].reshape((b_l, 2)) - self.param['fission_mass_bds'] = res['INI_FMASS'][1] - self.param['fission_mass_eds'] = res['TOT_FMASS'][1]
+ self.neutronics_parameters['fission_mass_bds'] = \ + res['INI_FMASS'][1] + self.neutronics_parameters['fission_mass_eds'] = \ + res['TOT_FMASS'][1]
[docs] def read_plaintext_file(self, file_path): """Reads the content of a plaintext file for use by other methods. @@ -429,63 +417,61 @@

Source code for saltproc.serpent_depcode

 
         Returns
         -------
-        file_data : list
-            List of strings containing file lines.
+        file_lines : list of str
+            File lines.
 
         """
-        template_data = []
+        file_lines = []
         with open(file_path, 'r') as file:
-            template_data = file.readlines()
-        return template_data
- -
[docs] def replace_burnup_parameters( - self, - template_data, - reactor, - current_depstep_idx): - """Adds or replaces the ``set power P dep daystep DEPSTEP`` line in - the Serpent2 input file. This line defines depletion history and power - levels with respect to the depletion step in the single run and - activates depletion calculation mode. + file_lines = file.readlines() + return file_lines
+ +
[docs] def set_power_load(self, + file_lines, + reactor, + step_idx): + """Add power load attributes in a :class:`Reactor` object to the + ``set power P dep daystep DEPSTEP`` line in the Serpent2 runtime input + file. Parameters ---------- - template_data : list - List of strings parsed from user template file. + file_lines : list of str + Serpent2 runtime input file. reactor : Reactor Contains information about power load curve and cumulative depletion time for the integration test. - current_depstep_idx : int + step_idx : int Current depletion step. Returns ------- - template_data : list - List of strings containing modified in this function template file. + file_lines : list of str + Serpent2 runtime input file with power load specification. """ line_idx = 8 # burnup setting line index by default - current_depstep_power = reactor.power_levels[current_depstep_idx] - if current_depstep_idx == 0: - current_depstep = reactor.dep_step_length_cumulative[0] + current_power = reactor.power_levels[step_idx] + if step_idx == 0: + step_length = reactor.dep_step_length_cumulative[0] else: - current_depstep = \ - reactor.dep_step_length_cumulative[current_depstep_idx] - \ - reactor.dep_step_length_cumulative[current_depstep_idx - 1] - for line in template_data: + step_length = \ + reactor.dep_step_length_cumulative[step_idx] - \ + reactor.dep_step_length_cumulative[step_idx - 1] + for line in file_lines: if line.startswith('set power '): - line_idx = template_data.index(line) - del template_data[line_idx] + line_idx = file_lines.index(line) + del file_lines[line_idx] - template_data.insert(line_idx, # Insert on 9th line - 'set power %5.9E dep daystep %7.5E\n' % - (current_depstep_power, - current_depstep)) - return template_data
+ file_lines.insert(line_idx, # Insert on 9th line + 'set power %5.9E dep daystep %7.5E\n' % + (current_power, step_length)) + return file_lines
-
[docs] def run_depcode(self, cores, nodes): - """Runs Serpent2 as a subprocess with the given parameters. +
[docs] def run_depletion_step(self, cores, nodes): + """Runs a depletion step in Serpent2 as a subprocess with the given + parameters. Parameters ---------- @@ -496,25 +482,7 @@

Source code for saltproc.serpent_depcode

 
         """
 
-        if self.exec_path.startswith('/projects/sciteam/bahg/'):  # check if BW
-            args = (
-                'aprun',
-                '-n',
-                str(nodes),
-                '-d', str(cores),
-                self.exec_path,
-                '-omp',
-                str(cores),
-                self.iter_inputfile)
-        elif self.exec_path.startswith('/apps/exp_ctl/'):  # check if Falcon
-            args = (
-                'mpiexec',
-                self.exec_path,
-                self.iter_inputfile,
-                '-omp',
-                str(18))
-        else:
-            args = (self.exec_path, '-omp', str(cores), self.iter_inputfile)
+        args = (self.exec_path, '-omp', str(cores), self.runtime_inputfile)
         print('Running %s' % (self.codename))
         try:
             subprocess.check_output(
@@ -527,22 +495,24 @@ 

Source code for saltproc.serpent_depcode

                                % (self.codename))
         print('Finished Serpent2 Run')
-
[docs] def convert_nuclide_name_serpent_to_zam(self, nuc_code): - """Checks Serpent2-specific meta stable-flag for zzaaam. For instance, +
[docs] def convert_nuclide_code_to_zam(self, nuc_code): + """Converts nuclide code from Serpent2 format to zam format. + Checks Serpent2-specific meta stable-flag for zzaaam. For instance, 47310 instead of 471101 for `Ag-110m1`. Metastable isotopes represented with `aaa` started with ``3``. Parameters ---------- - nuc_code : str - Name of nuclide in Serpent2 form. For instance, `47310`. + nuc_code : int + Nuclide code in Serpent2 format (`47310`). Returns ------- nuc_zzaam : int - Name of nuclide in `zzaaam` form (`471101`). + Nuclide code in in `zzaaam` form (`471101`). """ + zz = pyname.znum(nuc_code) aa = pyname.anum(nuc_code) if aa > 300: @@ -560,11 +530,10 @@

Source code for saltproc.serpent_depcode

         beginning of the Serpent iteration input file.
         """
         geo_line_n = 5
-        f = open(self.iter_inputfile, 'r')
-        data = f.readlines()
-        f.close()
+        with open(self.runtime_inputfile, 'r') as f:
+            lines = f.readlines()
 
-        current_geo_file = data[geo_line_n].split('\"')[1]
+        current_geo_file = lines[geo_line_n].split('\"')[1]
         current_geo_idx = self.geo_files.index(current_geo_file)
         try:
             new_geo_file = self.geo_files[current_geo_idx + 1]
@@ -572,16 +541,16 @@ 

Source code for saltproc.serpent_depcode

             print('No more geometry files available \
                   and the system went subcritical \n\n')
             print('Aborting simulation')
-            return
-        new_data = [d.replace(current_geo_file, new_geo_file) for d in data]
+
+        new_lines = \
+            [line.replace(current_geo_file, new_geo_file) for line in lines]
         print('Switching to next geometry file: ', new_geo_file)
 
-        f = open(self.iter_inputfile, 'w')
-        f.writelines(new_data)
-        f.close()
+ with open(self.runtime_inputfile, 'w') as f: + f.writelines(new_lines)
-
[docs] def write_depcode_input(self, reactor, dep_step, restart): - """Writes prepared data into the Serpent2 input file. +
[docs] def write_runtime_input(self, reactor, dep_step, restart): + """Write Serpent2 runtime input file for running depletion step Parameters ---------- @@ -596,55 +565,50 @@

Source code for saltproc.serpent_depcode

         """
 
         if dep_step == 0 and not restart:
-            data = self.read_plaintext_file(self.template_input_file_path)
-            data = self.insert_path_to_geometry(data)
-            data = self.change_sim_par(data)
-            data = self.create_iter_matfile(data)
+            lines = self.read_plaintext_file(self.template_input_file_path)
+            lines = self.insert_path_to_geometry(lines)
+            lines = self.create_runtime_matfile(lines)
+            self.get_neutron_settings(lines)
         else:
-            data = self.read_plaintext_file(self.iter_inputfile)
-        data = self.replace_burnup_parameters(data, reactor, dep_step)
+            lines = self.read_plaintext_file(self.runtime_inputfile)
+        lines = self.set_power_load(lines, reactor, dep_step)
 
-        if data:
-            out_file = open(self.iter_inputfile, 'w')
-            out_file.writelines(data)
-            out_file.close()
+ with open(self.runtime_inputfile, 'w') as out_file: + out_file.writelines(lines)
-
[docs] def write_mat_file(self, dep_dict, dep_end_time): - """Writes the iteration input file containing the burnable materials - composition used in Serpent2 runs and updated after each depletion - step. +
[docs] def update_depletable_materials(self, mats, dep_end_time): + """Update material file with reprocessed material compositions. Parameters ---------- - dep_dict : dict of str to Materialflow - Dictionary that contains `Materialflow` objects. + mats : dict of str to Materialflow + Dictionary containing reprocessed material compositions ``key`` Name of burnable material. ``value`` - `Materialflow` object holding composition and properties. + :class:`Materialflow` object holding composition and properties. dep_end_time : float Current time at the end of the depletion step (d). """ - matf = open(self.iter_matfile, 'w') - matf.write('%% Material compositions (after %f days)\n\n' - % dep_end_time) - for key, value in dep_dict.items(): - matf.write('mat %s %5.9E burn 1 fix %3s %4i vol %7.5E\n' % - (key, - -dep_dict[key].density, - '09c', - dep_dict[key].temp, - dep_dict[key].vol)) - for nuc_code, wt_frac in dep_dict[key].comp.items(): - # Transforms iso name from zas to zzaaam and then to SERPENT - iso_name_serpent = pyname.zzaaam(nuc_code) - matf.write(' %9s %7.14E\n' % - (self.iso_map[iso_name_serpent], - -wt_frac)) - matf.close()
+ with open(self.runtime_matfile, 'w') as f: + f.write('%% Material compositions (after %f days)\n\n' + % dep_end_time) + nuc_code_map = self.map_nuclide_code_zam_to_serpent() + for name, mat in mats.items(): + f.write('mat %s %5.9E burn 1 fix %3s %4i vol %7.5E\n' % + (name, + -mat.density, + '09c', + mat.temp, + mat.vol)) + for nuc_code, mass_fraction in mat.comp.items(): + zam_code = pyname.zzaaam(nuc_code) + f.write(' %9s %7.14E\n' % + (nuc_code_map[zam_code], + -mass_fraction))
diff --git a/master/_modules/saltproc/simulation.html b/master/_modules/saltproc/simulation.html index 5fc8aa858..95ec9af03 100644 --- a/master/_modules/saltproc/simulation.html +++ b/master/_modules/saltproc/simulation.html @@ -160,8 +160,8 @@

Source code for saltproc.simulation

         if not self.restart_flag:
             try:
                 os.remove(self.db_path)
-                os.remove(self.sim_depcode.iter_matfile)
-                os.remove(self.sim_depcode.iter_inputfile)
+                os.remove(self.sim_depcode.runtime_matfile)
+                os.remove(self.sim_depcode.runtime_inputfile)
                 print("Previous run output files were deleted.")
             except OSError as e:
                 pass
@@ -210,7 +210,7 @@

Source code for saltproc.simulation

                 # Read isotopes from Materialflow
                 for nuc, wt_frac in waste_dict[mn][proc].comp.items():
                     # Dictonary in format {isotope_name : index(int)}
-                    iso_idx[self.sim_depcode.get_nuc_name(nuc)[0]] = coun
+                    iso_idx[self.sim_depcode.convert_nuclide_code_to_name(nuc)] = coun
                     # Convert wt% to absolute [user units]
                     iso_wt_frac.append(wt_frac * waste_dict[mn][proc].mass)
                     coun += 1
@@ -307,7 +307,7 @@ 

Source code for saltproc.simulation

             # Read isotopes from Materialflow for material
             for nuc_code, wt_frac in mats[key].comp.items():
                 # Dictonary in format {isotope_name : index(int)}
-                iso_idx[key][self.sim_depcode.get_nuc_name(nuc_code)[0]] = coun
+                iso_idx[key][self.sim_depcode.convert_nuclide_code_to_name(nuc_code)] = coun
                 # Convert wt% to absolute [user units]
                 iso_wt_frac.append(wt_frac * mats[key].mass)
                 coun += 1
@@ -367,19 +367,17 @@ 

Source code for saltproc.simulation

         """
 
         # Read info from depcode _res.m File
-        self.sim_depcode.read_depcode_step_param()
+        self.sim_depcode.read_neutronics_parameters()
         # Initialize beta groups number
-        b_g = len(self.sim_depcode.param['beta_eff'])
+        b_g = len(self.sim_depcode.neutronics_parameters['beta_eff'])
         # numpy array row storage for run info
 
         class Step_info(tb.IsDescription):
             keff_bds = tb.Float32Col((2,))
             keff_eds = tb.Float32Col((2,))
             breeding_ratio = tb.Float32Col((2,))
-            step_execution_time = tb.Float32Col()
             cumulative_time_at_eds = tb.Float32Col()
             power_level = tb.Float32Col()
-            memory_usage = tb.Float32Col()
             beta_eff_eds = tb.Float32Col((b_g, 2))
             delayed_neutrons_lambda_eds = tb.Float32Col((b_g, 2))
             fission_mass_bds = tb.Float32Col()
@@ -403,28 +401,24 @@ 

Source code for saltproc.simulation

                 "Simulation parameters after each timestep")
             # Intializing burn_time array at the first depletion step
             self.burn_time = 0.0
-        self.burn_time += self.sim_depcode.param['burn_days']
+        self.burn_time += self.sim_depcode.neutronics_parameters['burn_days']
         # Define row of table as step_info
         step_info = step_info_table.row
         # Define all values in the row
 
-        step_info['keff_bds'] = self.sim_depcode.param['keff_bds']
-        step_info['keff_eds'] = self.sim_depcode.param['keff_eds']
-        step_info['breeding_ratio'] = self.sim_depcode.param[
+        step_info['keff_bds'] = self.sim_depcode.neutronics_parameters['keff_bds']
+        step_info['keff_eds'] = self.sim_depcode.neutronics_parameters['keff_eds']
+        step_info['breeding_ratio'] = self.sim_depcode.neutronics_parameters[
             'breeding_ratio']
-        step_info['step_execution_time'] = self.sim_depcode.param[
-            'execution_time']
         step_info['cumulative_time_at_eds'] = self.burn_time
-        step_info['power_level'] = self.sim_depcode.param['power_level']
-        step_info['memory_usage'] = self.sim_depcode.param[
-            'memory_usage']
-        step_info['beta_eff_eds'] = self.sim_depcode.param[
+        step_info['power_level'] = self.sim_depcode.neutronics_parameters['power_level']
+        step_info['beta_eff_eds'] = self.sim_depcode.neutronics_parameters[
             'beta_eff']
-        step_info['delayed_neutrons_lambda_eds'] = self.sim_depcode.param[
+        step_info['delayed_neutrons_lambda_eds'] = self.sim_depcode.neutronics_parameters[
             'delayed_neutrons_lambda']
-        step_info['fission_mass_bds'] = self.sim_depcode.param[
+        step_info['fission_mass_bds'] = self.sim_depcode.neutronics_parameters[
             'fission_mass_bds']
-        step_info['fission_mass_eds'] = self.sim_depcode.param[
+        step_info['fission_mass_eds'] = self.sim_depcode.neutronics_parameters[
             'fission_mass_eds']
 
         # Inject the Record value into the table
@@ -444,7 +438,7 @@ 

Source code for saltproc.simulation

         # numpy arraw row storage for run info
         # delete and make this datatype specific
         # to Depcode subclasses
-        sim_info_dtype = np.dtype([
+        step_metadata_dtype = np.dtype([
             ('neutron_population', int),
             ('active_cycles', int),
             ('inactive_cycles', int),
@@ -457,27 +451,32 @@ 

Source code for saltproc.simulation

             ('OMP_threads', int),
             ('MPI_tasks', int),
             ('memory_optimization_mode', int),
-            ('depletion_timestep', float)
+            ('depletion_timestep', float),
+            ('execution_time', float),
+            ('memory_usage', float)
         ])
         # Read info from depcode _res.m File
-        self.sim_depcode.read_depcode_info()
+        self.sim_depcode.read_step_metadata()
         # Store information about material properties in new array row
-        sim_info_row = (
+        step_metadata_row = (
             self.sim_depcode.npop,
             self.sim_depcode.active_cycles,
             self.sim_depcode.inactive_cycles,  # delete the below
-            self.sim_depcode.sim_info['depcode_name'],
-            self.sim_depcode.sim_info['depcode_version'],
-            self.sim_depcode.sim_info['title'],
-            self.sim_depcode.sim_info['depcode_input_filename'],
-            self.sim_depcode.sim_info['depcode_working_dir'],
-            self.sim_depcode.sim_info['xs_data_path'],
-            self.sim_depcode.sim_info['OMP_threads'],
-            self.sim_depcode.sim_info['MPI_tasks'],
-            self.sim_depcode.sim_info['memory_optimization_mode'],
-            self.sim_depcode.sim_info['depletion_timestep']
+            self.sim_depcode.step_metadata['depcode_name'],
+            self.sim_depcode.step_metadata['depcode_version'],
+            self.sim_depcode.step_metadata['title'],
+            self.sim_depcode.step_metadata['depcode_input_filename'],
+            self.sim_depcode.step_metadata['depcode_working_dir'],
+            self.sim_depcode.step_metadata['xs_data_path'],
+            self.sim_depcode.step_metadata['OMP_threads'],
+            self.sim_depcode.step_metadata['MPI_tasks'],
+            self.sim_depcode.step_metadata['memory_optimization_mode'],
+            self.sim_depcode.step_metadata['depletion_timestep'],
+            self.sim_depcode.step_metadata['execution_time'],
+            self.sim_depcode.step_metadata['memory_usage']
+
         )
-        sim_info_array = np.array([sim_info_row], dtype=sim_info_dtype)
+        step_metadata_array = np.array([step_metadata_row], dtype=step_metadata_dtype)
 
         # Open or restore db and append datat to it
         db = tb.open_file(
@@ -485,14 +484,14 @@ 

Source code for saltproc.simulation

             mode='a',
             filters=self.compression_params)
         try:
-            sim_info_table = db.get_node(db.root, 'initial_depcode_siminfo')
+            step_metadata_table = db.get_node(db.root, 'initial_depcode_siminfo')
         except Exception:
-            sim_info_table = db.create_table(
+            step_metadata_table = db.create_table(
                 db.root,
                 'initial_depcode_siminfo',
-                sim_info_array,
+                step_metadata_array,
                 "Initial depletion code simulation parameters")
-        sim_info_table.flush()
+        step_metadata_table.flush()
         db.close()
[docs] def read_k_eds_delta(self, current_timestep): diff --git a/master/_sources/releasenotes/v0.5.0.rst.txt b/master/_sources/releasenotes/v0.5.0.rst.txt index 3cee61738..b4e995d75 100644 --- a/master/_sources/releasenotes/v0.5.0.rst.txt +++ b/master/_sources/releasenotes/v0.5.0.rst.txt @@ -54,6 +54,7 @@ New Features Describe any new features to the code. - ``openmc`` support via `DepcodeOpenMC` +- OpenMC compatible MSBR model. @@ -81,7 +82,9 @@ Script Changes - Add ``SERPENT_DATA`` and ``SERPENT_ACELIB`` variables to ``.bashrc`` - A new script, ``scripts/ci/openmc-xs.bash``, that downloads the OpenMC HDF5 cross section library. - +- A new script, ``download_endfb71.bash``, that downloads the ENDF/B 7.1 cross section library -- including thermal scattering, decay, and fission yield data -- in ACE format. +- A new script, ``process_endfb71_to_openmc.bash``, that converts the library created by ``download_endfb71.bash`` into an OpenMC-usable HDF5 format. Requires OpenMC to be installed from source to use. +- A new script ``openmc_msbr_model.py``, that creates an OpenMC-usable MSBR model based on the Serpent MSBR model. Python API Changes @@ -108,27 +111,60 @@ Python API Changes longer be initialized by the user during object creation. -- New/changed classes and methods: +- New/changed classes, methods, and attributes: - ``Depcode`` + - Add `output_path` parameter. - ``template_inputfile_path`` → ``template_input_file_path`` - - Changed `iter_inputfile` and `iter_matfile` to be attributes instead of parameters + - Removed default values for `geo_files` + - Changed `iter_inputfile`, `iter_matfile` to be attributes instead of parameters + - Changed `npop`, `active_cycles`, `inactive_cycles` to be attributes instead of parameters + - ``read_depcode_info()`` → ``read_step_metadata()`` + - ``sim_info`` → ``step_metadata`` + - ``read_depcode_step_param()`` → ``read_neutronics_parameters()`` + - ``param`` → ``neutronics_parameters`` + - ``read_dep_comp()`` → ``read_depleted_materials()`` + - ``run_depcode()`` → ``run_depletion_step()`` + - ``write_mat_file()`` → ``update_depletable_materials()`` + - ``write_depcode_input()`` → ``write_runtime_input()`` + - ``iter_inputfile`` → ``runtime_inputfile`` + - ``iter_matfile`` → ``runtime_matfile`` - ``DepcodeSerpent`` → ``SerpentDepcode`` + - Add `output_path` parameter. - ``template_inputfile_path`` → ``template_input_file_path`` - - Changed `iter_inputfile` and `iter_matfile` to be attributes instead of parameters + - Removed default values for `exec_path`, `template_input_file_path`, `geo_files` + - Changed `iter_inputfile`, `iter_matfile` to be attributes instead of parameters + - Changed `npop`, `active_cycles`, `inactive_cycles` to be attributes instead of parameters + - ``read_depcode_info()`` → ``read_depletion_step_metadata()`` + - ``sim_info`` → ``step_metadata`` + - ``read_depcode_step_param()`` → ``read_neutronics_parameters()`` + - ``param`` → ``neutronics_parameters`` + - ``read_dep_comp()`` → ``read_depleted_materials()`` + - ``create_nuclide_name_map_zam_to_serpent()`` → ``map_nuclide_code_zam_to_serpent()`` + - ``run_depcode()`` → ``run_depletion_step()`` + - ``write_mat_file()`` → ``update_depletable_materials()`` + - ``get_nuc_name()`` → ``convert_nuclide_code_to_name()`` + - ``convert_nuclide_name_serpent_to_zam()`` → ``convert_nuclide_code_to_zam()`` + - ``change_sim_par()`` → (deleted) + - (new function) → ``get_neutron_settings()`` + - ``create_iter_matfile()`` → ``create_runtime_matfile()`` + - ``replace_burnup_parameters()`` → ``set_power_load()`` + - ``write_depcode_input()`` → ``write_runtime_input()`` + - ``iter_inputfile`` → ``runtime_inputfile`` + - ``iter_matfile`` → ``runtime_matfile`` - ``OpenMCDepcode`` is a ``Depcode`` subclass that interfaces with ``openmc``. This class implements the following functions - - - ``run_depcode()`` + - ``run_depletion_step()`` - ``switch_to_next_geometry()`` - - ``write_depcode_input()`` + - ``write_runtime_input()`` - ``write_depletion_settings()`` - ``write_saltproc_openmc_tallies()`` + - ``app.py`` - ``reprocessing()`` → ``reprocess_materials()`` diff --git a/master/fileformatspec/inputfile.html b/master/fileformatspec/inputfile.html index d791e74ac..e8f598ba5 100644 --- a/master/fileformatspec/inputfile.html +++ b/master/fileformatspec/inputfile.html @@ -145,7 +145,7 @@

SaltProc input file schema

string

pattern

-

^\.\/(.*)$

+

^(.\/)*(.*)$

@@ -145,6 +147,16 @@

_

A

+
-
  • change_sim_par() (saltproc.serpent_depcode.SerpentDepcode method) +
  • check_mass_conservation() (saltproc.process.Process method)
  • @@ -256,7 +266,7 @@

    G

  • get_mass() (saltproc.materialflow.Materialflow method)
  • -
  • get_nuc_name() (saltproc.serpent_depcode.SerpentDepcode method) +
  • get_neutron_settings() (saltproc.serpent_depcode.SerpentDepcode method)
  • @@ -272,26 +282,18 @@

    H

    I

    @@ -314,6 +316,8 @@

    L

    M

    -

    O

    +

    N

    -
    - -

    P

    - +
    + +

    O

    + + +
    + +

    P

    + + @@ -550,21 +584,23 @@

    S

  • Separator (class in saltproc.separator)
  • SerpentDepcode (class in saltproc.serpent_depcode) +
  • +
  • set_power_load() (saltproc.serpent_depcode.SerpentDepcode method)
  • sherwood() (saltproc.sparger.Sparger method), [1]
  • -
  • sim_info (saltproc.abc.Depcode attribute) +
  • Simulation (class in saltproc.simulation) +
  • +
  • Sparger (class in saltproc.sparger) +
  • +
  • step_metadata (saltproc.abc.Depcode attribute)
  • -
  • Simulation (class in saltproc.simulation) -
  • -
  • Sparger (class in saltproc.sparger) -
  • store_after_repr() (saltproc.simulation.Simulation method)
  • store_mat_data() (saltproc.simulation.Simulation method) @@ -600,29 +636,35 @@

    T

  • -

    W

    +

    U

    +
    + +

    W

    + + diff --git a/master/objects.inv b/master/objects.inv index 6353252237af616838621b3e79a915a72a3402da..32cb52ffe495241e426fd3d37827286f7d37e02d 100644 GIT binary patch delta 1821 zcmV+&2jck14u=nre}CO_+$I#q@AoM*)86_ciQRT`*GZZ-7im24129-RyGtzz0_@t` ztG-5GuTN6Y$4W>7!6Hp&Jh3?Z{vZw?=Lid&OU7xMu+#g3W``V-+eGm6Ml=Q2ds*Z^ z)J0c6CRdwt0e*7SQiaZ%*B^nUGy_dYb1X#i#saX_yhezWM1LYwH3Hp%~3`-nEJCseY2`wvZBu$b6l>f4W+>#t(2c_Yu;aGq+dTBAN7b4R= zl2i@wt3*4X3V+N`F)#1HRJ))V4g8eDGG6$?iJ}@K6O3cbu^=+$SP)eqN|npj9n%d$ z^yx21t2S&8Wvcyd)QT2qWvQR3qFd)2er^es1Z-M4EyS$`43O zYdc=8CE_yf4kS`e%W+ljtirI|FG_?6+7=+Yu)2CR0)G(ZyF&q`ybw~YvfX>X6rxtG z+?>XjP&z+|10Blnimm20r!V$Jpl@Yg4GgO<1MuWwY0UKlsxuVMGS?9*f}DX~$=GQn zJbYgXJa?*$Ky$U|t%9!JGdn2*q<3qvf`ndf3hjH#qw6g}H+%)SNO65eI8V(>_>@6e zr0wQxpMT+|oqdiE?7pgBzkHaBiKgJ*R1eRNK+37oWx9gJZV^ zcErg;9AH31wG;% z!FEeh0%dwygujRMxjGA?l$HYcu?pmuKo3K>OPEdUZy(;qz&^aK!MBbyIlKnQMerD2 zJ4=AxIh{Q^o7nr*nLPG+ll>at<~Sa`3ngk7*52#oxtGAh=SQeY_T=2xf^m>b%oaw9 zlz$WEp1T7m$!=${blFxe+i5k_0iAs_hkFib9Le6!@xG%yEZX1i)dspKQbNHHr?iNm za}xoMcK?; zMT@Dm88P|-9OV>eE51bkELgl$Xd*0H@uFNnj7!mauc#cRy>_z#zgpd5`07B=y2SLvs|_5pt}%G*NYnGJ4{{NFrkOVj zEB|ya`rfFpbXgGgf<&1&e=bGl4}bE?Wc6{wJk}6Mw%dasMw(B?A zLUA$l+M^FgR!nPPlIkuf2T6{v*Xo}MJ>FiwyS}v|>tZXgDjfmu+`v00@NNQl?*`sG zfvR*P0P}Qjj${3-apk)F0qErwN^$91K4jo~wsFQE#DCeUw|_B`7}j-rHpBbnc1m;iJTa`ND8_ws8*X&xHJPqIB`~-U zYm=C`jFZ?HZW*1J_K?wLR+)-1CDUFBvhn-3O_EWqDPnsI#YXJk_ee&yrik4=5F69{ zoaUMzW9{^Dwk)wyCY8F>msP~f2qaT=C(%uaZ{_xmfELN9))cWl8rq2clVLKd L)e!#&vEcxW1+0nd delta 1757 zcmV<31|s=~56BLXe}B!6+cpq@?|upa?R9^W?6yU2Mbd3^NVCX3fIv%Qn_c~INy@wK zsjt!3>ywnEekqd_Wl9JT#Ny01Lup9Pj1-14PH34#qxf#=x| z_0ZLi(bc9KKwF2F7<6i0e+H72DM&(+A;zM27JyCjI*xIHd4C)$Cx9QybUp)fpaMfG zzQdVv260aDw&HLhEJsVA2%;ztWKck9oC1lHGAAK7sRhX&;%4p2#bAsJ_qw@WjI4^5 z7=mFq?`9Wp+u1AT$sy)tT)-QT_fQIl=qbdrS1Lkl@B~D-hT}w_#%-j|A`#+P_JlZ= zy%>xW5dee9lz-d5AW^f~RYk&aS)6&%BCRa(cfw1$2ulP(l_9Ach9eXgd`MGIt&6XV zh-CtdiRXq}T03#Ig4ku;J@8n>DMd=JvqBI*EJ}m`+72MSP+i;_1~H=hDu;q!2vK`h zf8Q^Kh}D+KWd{_a>|$5?I0yq(#eBuq<}NE=?VG?*%74BaXi{HCU}H*f&h-O|OaY~- zD^Um_ryzGSa#{%wFDrqka;E?^6`S5FXmy{-NuFHtfMzS0klRfzV{dtMeI!W7SAeqw zW$H}tmgXh=l0cCsS~6u^;kulCjgREMiJxCTO=bQjxHr`!vcvc@Dux9N`BW2OW~M8R zFurFMvVV*bj|yc$Lq63@pgEt)Cd`Ca)e~r9ZbcMkZdSFlkf{t*uFHUPT#GONb~ZDvKV$d zoM0%D(<1x>B+n{45u0hjfF4z8xdeJ#R9wPrs((@Y<81`&kGB>0-jj@vR|B~S9*@_~ zVj%Z+=ZrcL`a;|dc7j|68QY}G1p4EbslB2agcFD7Dlp! zV&Y!ABPdR9C$Z(SUM@Rn@u+7^_T3cjd5&{9eLux}i4U;od|%W7x+s!EPGVY?c>tA) zLw}l27kDE<*Y>6hKGnacYCI!<2H0!s3p9}&P_b7XVVUHwX{aoYKzUqLNrpwrTA*B* zZFEG|{I{#X2)AB0zQ^U}y4JL*=7`8S%BeQmD>@(>Ji@xNyrLN_^E0m6=yG1uHBY!j z|Hi~JwtRXM!Iq}m6Tv1tI~0rA@n}*kYk$k9PqB&(0jZjf?qXgn@MT@GL z9EhM~YufZ_#spjO>c@mzncI>Hwm7RRvyipvMu~@^?iH>hTk2#SiBd1~q#@1u(TF&W z^2vziL+h3U1;!EOE0CKw6!8~}P~Y!?E^0(=O3yK*ELL^gqHrd1Y>3fLo`v$Y?0*Vy z8Nex8#c#QrseqX{i9-15;0fW2eZ36{^TMkI9ILJoc!^)>{#2tLcqn}tMty7zf+ z)V#*cEbIj>8*lzpv&J9f)l(Vb#vPS05bt&s!$-_d{w|Ii7h@(_XtwTVitf>SCx|d_ z&<7{zji{zHpL4VBT*N(M^NIH^;(uX2?)N`;(0^q6>n*guvJug3@PeGK+JRc8tX4-4D z__yZQW&oP7@OTm%O`#j2kb!vKMai2$?bL@OdenWdN1{LF(B@oj=(L66V#vKmCP!9G zE1;9=DTn}xj&IlEj}ATFUVpg0wIb_bD^QJ|0q@+vJ16kY0K9ht?|+>@F}h)ZXmZe> zV|}d&<$C-P?O`Lg)Eo8g8(*3kYVOs5hNlsvc2 zY5yh0rrv%{A8FFHKb!Hlw{}YNU2ddFn<(11x;EU|_kfXE-(+C)v7pU_;j@s)#&Da- zfcuz{VpcPXVKUQxoK|Av55Iee&a_O#_In5$arosybf#q@_Fp8}nEK1V$e?NF>aPXu z^z&|6WThA_^{p?f5xpZ2nRJclro^{$2Pt55rez|wsiBQH%nYM5t%mqNS{Qp>xxH*K diff --git a/master/releasenotes/v0.5.0.html b/master/releasenotes/v0.5.0.html index e1fbe779c..3fb35cf8f 100644 --- a/master/releasenotes/v0.5.0.html +++ b/master/releasenotes/v0.5.0.html @@ -119,6 +119,7 @@

    Dependency Changes

    • openmc support via DepcodeOpenMC

    • +
    • OpenMC compatible MSBR model.

    @@ -135,6 +136,9 @@

    Script Changesscripts/ci/openmc-xs.bash, that downloads the OpenMC HDF5 cross section library.

    +
  • A new script, download_endfb71.bash, that downloads the ENDF/B 7.1 cross section library – including thermal scattering, decay, and fission yield data – in ACE format.

  • +
  • A new script, process_endfb71_to_openmc.bash, that converts the library created by download_endfb71.bash into an OpenMC-usable HDF5 format. Requires OpenMC to be installed from source to use.

  • +
  • A new script openmc_msbr_model.py, that creates an OpenMC-usable MSBR model based on the Serpent MSBR model.

  • @@ -162,29 +166,59 @@

    Python API Changes -
  • New/changed classes and methods:

    +
  • New/changed classes, methods, and attributes: