From feb3253105385fc6004104f5fdcecd745cdb8249 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Mon, 14 Apr 2014 19:56:26 -0400 Subject: [PATCH 1/8] Add different natural element expansions. --- src/constants.F90 | 8 ++ src/global.F90 | 3 + src/input_xml.F90 | 203 +++++++++++++++++++++++++++++----------------- 3 files changed, 139 insertions(+), 75 deletions(-) diff --git a/src/constants.F90 b/src/constants.F90 index ef0d7c8ef3..512da81646 100644 --- a/src/constants.F90 +++ b/src/constants.F90 @@ -244,6 +244,14 @@ module constants ! Maximum number of partial fission reactions integer, parameter :: PARTIAL_FISSION_MAX = 4 + ! Natural element compositions + integer, parameter :: & + EXPAND_ENDF_BVII0 = 1, & + EXPAND_ENDF_BVII1 = 2, & + EXPAND_JEFF_311 = 3, & + EXPAND_JEFF_312 = 4, & + EXPAND_JEFF_32 = 5 + ! ============================================================================ ! TALLY-RELATED CONSTANTS diff --git a/src/global.F90 b/src/global.F90 index 515b774bf9..513683b459 100644 --- a/src/global.F90 +++ b/src/global.F90 @@ -88,6 +88,9 @@ module global ! Default xs identifier (e.g. 70c) character(3):: default_xs + ! What to assume for expanding natural elements + integer :: default_expand = EXPAND_ENDF_BVII1 + ! ============================================================================ ! TALLY-RELATED VARIABLES diff --git a/src/input_xml.F90 b/src/input_xml.F90 index 76b1f696fd..7cd699c97a 100644 --- a/src/input_xml.F90 +++ b/src/input_xml.F90 @@ -3126,12 +3126,20 @@ contains call list_density % append(density * 0.00364_8) case ('o') - ! O-18 does not exist in ENDF/B-VII.1 or JEFF 3.1.2 so its 0.205% has been - ! added to O-16. The isotopic abundance for O-16 is ordinarily 99.757%. - call list_names % append('8016.' // xs) - call list_density % append(density * 0.99962_8) - call list_names % append('8017.' // xs) - call list_density % append(density * 0.00038_8) + ! Only JEFF 3.2 has O-18 + if (default_expand == EXPAND_JEFF_32) then + call list_names % append('8016.' // xs) + call list_density % append(density * 0.99757_8) + call list_names % append('8017.' // xs) + call list_density % append(density * 0.00038_8) + call list_names % append('8018.' // xs) + call list_density % append(density * 0.00205_8) + else + call list_names % append('8016.' // xs) + call list_density % append(density * 0.99962_8) + call list_names % append('8017.' // xs) + call list_density % append(density * 0.00038_8) + end if case ('f') call list_names % append('9019.' // xs) @@ -3236,13 +3244,16 @@ contains call list_density % append(density * 0.0518_8) case ('v') - ! The evaluation of Vanadium in ENDF/B-VII.1 and JEFF 3.1.2 is a natural - ! element. The IUPAC isotopic composition specifies the following - ! breakdown which is not used: - ! V-50 = 0.250% - ! V-51 = 99.750% - call list_names % append('23000.' // xs) - call list_density % append(density) + if (default_expand == EXPAND_ENDF_BVII0 .or. (default_expand >= & + EXPAND_JEFF_311 .and. default_expand <= EXPAND_JEFF_32)) then + call list_names % append('23000.' // xs) + call list_density % append(density) + elseif (default_expand == EXPAND_ENDF_BVII1) then + call list_names % append('23050.' // xs) + call list_density % append(density * 0.0025_8) + call list_names % append('23051.' // xs) + call list_density % append(density * 0.9975_8) + end if case ('cr') call list_names % append('24050.' // xs) @@ -3291,24 +3302,34 @@ contains call list_density % append(density * 0.3085_8) case ('zn') - ! The evaluation of Zinc in ENDF/B-VII.1 is a natural element. The IUPAC - ! isotopic composition specifies the following breakdown which is not used - ! here: - ! Zn-64 = 48.63% - ! Zn-66 = 27.90% - ! Zn-67 = 4.10% - ! Zn-68 = 18.75% - ! Zn-70 = 0.62% - call list_names % append('30000.' // xs) - call list_density % append(density) + if (default_expand == EXPAND_ENDF_BVII0 .or. default_expand == & + EXPAND_JEFF_311 .or. default_expand == EXPAND_JEFF_312) then + call list_names % append('30000.' // xs) + call list_density % append(density) + else + call list_names % append('30064.' // xs) + call list_density % append(density * 0.4863_8) + call list_names % append('30066.' // xs) + call list_density % append(density * 0.2790_8) + call list_names % append('30067.' // xs) + call list_density % append(density * 0.0410_8) + call list_names % append('30068.' // xs) + call list_density % append(density * 0.1875_8) + call list_names % append('30070.' // xs) + call list_density % append(density * 0.0062_8) + end if case ('ga') - ! JEFF 3.1.2 does not have evaluations for Ga-69 and Ga-71, only for - ! natural Gallium, so this may cause problems. - call list_names % append('31069.' // xs) - call list_density % append(density * 0.60108_8) - call list_names % append('31071.' // xs) - call list_density % append(density * 0.39892_8) + if (default_expand == EXPAND_JEFF_311 .or. & + default_expand == EXPAND_JEFF_312) then + call list_names % append('31000.' // xs) + call list_density % append(density) + else + call list_names % append('31069.' // xs) + call list_density % append(density * 0.60108_8) + call list_names % append('31071.' // xs) + call list_density % append(density * 0.39892_8) + end if case ('ge') call list_names % append('32070.' // xs) @@ -3719,24 +3740,38 @@ contains call list_density % append(density * 0.3508_8) case ('ta') - call list_names % append('73180.' // xs) - call list_density % append(density * 0.0001201_8) - call list_names % append('73181.' // xs) - call list_density % append(density * 0.9998799_8) + if (default_expand == EXPAND_ENDF_BVII0) then + call list_names % append('73181.' // xs) + call list_density % append(density) + elseif (default_expand == EXPAND_ENDF_BVII1) then + call list_names % append('73180.' // xs) + call list_density % append(density * 0.0001201_8) + call list_names % append('73181.' // xs) + call list_density % append(density * 0.9998799_8) + end if case ('w') - ! ENDF/B-VII.0 does not have W-180 so this may cause problems. However, it - ! has been added as of ENDF/B-VII.1 - call list_names % append('74180.' // xs) - call list_density % append(density * 0.0012_8) - call list_names % append('74182.' // xs) - call list_density % append(density * 0.2650_8) - call list_names % append('74183.' // xs) - call list_density % append(density * 0.1431_8) - call list_names % append('74184.' // xs) - call list_density % append(density * 0.3064_8) - call list_names % append('74186.' // xs) - call list_density % append(density * 0.2843_8) + if (default_expand == EXPAND_ENDF_BVII0) then + call list_names % append('74182.' // xs) + call list_density % append(density * 0.2662_8) + call list_names % append('74183.' // xs) + call list_density % append(density * 0.1431_8) + call list_names % append('74184.' // xs) + call list_density % append(density * 0.3064_8) + call list_names % append('74186.' // xs) + call list_density % append(density * 0.2843_8) + elseif (default_expand == EXPAND_ENDF_BVII1) then + call list_names % append('74180.' // xs) + call list_density % append(density * 0.0012_8) + call list_names % append('74182.' // xs) + call list_density % append(density * 0.2650_8) + call list_names % append('74183.' // xs) + call list_density % append(density * 0.1431_8) + call list_names % append('74184.' // xs) + call list_density % append(density * 0.3064_8) + call list_names % append('74186.' // xs) + call list_density % append(density * 0.2843_8) + end if case ('re') call list_names % append('75185.' // xs) @@ -3745,20 +3780,26 @@ contains call list_density % append(density * 0.6260_8) case ('os') - call list_names % append('76184.' // xs) - call list_density % append(density * 0.0002_8) - call list_names % append('76186.' // xs) - call list_density % append(density * 0.0159_8) - call list_names % append('76187.' // xs) - call list_density % append(density * 0.0196_8) - call list_names % append('76188.' // xs) - call list_density % append(density * 0.1324_8) - call list_names % append('76189.' // xs) - call list_density % append(density * 0.1615_8) - call list_names % append('76190.' // xs) - call list_density % append(density * 0.2626_8) - call list_names % append('76192.' // xs) - call list_density % append(density * 0.4078_8) + if (default_expand == EXPAND_JEFF_311 .or. & + default_expand == EXPAND_JEFF_312) then + call list_names % append('76000.' // xs) + call list_density % append(density) + else + call list_names % append('76184.' // xs) + call list_density % append(density * 0.0002_8) + call list_names % append('76186.' // xs) + call list_density % append(density * 0.0159_8) + call list_names % append('76187.' // xs) + call list_density % append(density * 0.0196_8) + call list_names % append('76188.' // xs) + call list_density % append(density * 0.1324_8) + call list_names % append('76189.' // xs) + call list_density % append(density * 0.1615_8) + call list_names % append('76190.' // xs) + call list_density % append(density * 0.2626_8) + call list_names % append('76192.' // xs) + call list_density % append(density * 0.4078_8) + end if case ('ir') call list_names % append('77191.' // xs) @@ -3767,18 +3808,24 @@ contains call list_density % append(density * 0.627_8) case ('pt') - call list_names % append('78190.' // xs) - call list_density % append(density * 0.00012_8) - call list_names % append('78192.' // xs) - call list_density % append(density * 0.00782_8) - call list_names % append('78194.' // xs) - call list_density % append(density * 0.3286_8) - call list_names % append('78195.' // xs) - call list_density % append(density * 0.3378_8) - call list_names % append('78196.' // xs) - call list_density % append(density * 0.2521_8) - call list_names % append('78198.' // xs) - call list_density % append(density * 0.07356_8) + if (default_expand == EXPAND_JEFF_311 .or. & + default_expand == EXPAND_JEFF_312) then + call list_names % append('78000.' // xs) + call list_density % append(density) + else + call list_names % append('78190.' // xs) + call list_density % append(density * 0.00012_8) + call list_names % append('78192.' // xs) + call list_density % append(density * 0.00782_8) + call list_names % append('78194.' // xs) + call list_density % append(density * 0.3286_8) + call list_names % append('78195.' // xs) + call list_density % append(density * 0.3378_8) + call list_names % append('78196.' // xs) + call list_density % append(density * 0.2521_8) + call list_names % append('78198.' // xs) + call list_density % append(density * 0.07356_8) + end if case ('au') call list_names % append('79197.' // xs) @@ -3801,10 +3848,16 @@ contains call list_density % append(density * 0.0687_8) case ('tl') - call list_names % append('81203.' // xs) - call list_density % append(density * 0.2952_8) - call list_names % append('81205.' // xs) - call list_density % append(density * 0.7048_8) + if (default_expand == EXPAND_JEFF_311 .or. & + default_expand == EXPAND_JEFF_312) then + call list_names % append('81000.' // xs) + call list_density % append(density) + else + call list_names % append('81203.' // xs) + call list_density % append(density * 0.2952_8) + call list_names % append('81205.' // xs) + call list_density % append(density * 0.7048_8) + end if case ('pb') call list_names % append('82204.' // xs) From cc0b626b5c898f4a1a76b0ecbc36969cc511e4af Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Mon, 14 Apr 2014 20:16:50 -0400 Subject: [PATCH 2/8] Add option in settings.xml. --- src/input_xml.F90 | 21 +++++++++++++++++++++ src/relaxng/settings.rnc | 2 ++ 2 files changed, 23 insertions(+) diff --git a/src/input_xml.F90 b/src/input_xml.F90 index 7cd699c97a..c83b11baaf 100644 --- a/src/input_xml.F90 +++ b/src/input_xml.F90 @@ -778,6 +778,27 @@ contains end if end if + ! Natural element expansion option + if (check_for_node(doc, "natural_elements")) then + call get_node_value(doc, "natural_elements", temp_str) + call lower_case(temp_str) + select case (temp_str) + case ('endf/b-vii.0') + default_expand = EXPAND_ENDF_BVII0 + case ('endf/b-vii.1') + default_expand = EXPAND_ENDF_BVII1 + case ('jeff-3.1.1') + default_expand = EXPAND_JEFF_311 + case ('jeff-3.1.2') + default_expand = EXPAND_JEFF_312 + case ('jeff-3.2') + default_expand = EXPAND_JEFF_32 + case default + message = "Unknown natural element expansion option: " // trim(temp_str) + call fatal_error() + end select + end if + ! Close settings XML file call close_xmldoc(doc) diff --git a/src/relaxng/settings.rnc b/src/relaxng/settings.rnc index 58699a2a26..ea3ecabf54 100644 --- a/src/relaxng/settings.rnc +++ b/src/relaxng/settings.rnc @@ -38,6 +38,8 @@ element settings { attribute upper_right { list { xsd:double+ } }) }? & + element natural_elements { xsd:string { maxLength = "20" } }? & + element no_reduce { xsd:boolean }? & element output { From c52ccd2cc2283a6a37be28304069af37dc00e240 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Fri, 18 Apr 2014 17:15:03 -0400 Subject: [PATCH 3/8] Add support for JENDL natural elements. --- src/constants.F90 | 15 +++++++----- src/global.F90 | 2 +- src/input_xml.F90 | 61 +++++++++++++++++++++++++++-------------------- 3 files changed, 45 insertions(+), 33 deletions(-) diff --git a/src/constants.F90 b/src/constants.F90 index 512da81646..db22f74cda 100644 --- a/src/constants.F90 +++ b/src/constants.F90 @@ -244,13 +244,16 @@ module constants ! Maximum number of partial fission reactions integer, parameter :: PARTIAL_FISSION_MAX = 4 - ! Natural element compositions + ! Major cross section libraries integer, parameter :: & - EXPAND_ENDF_BVII0 = 1, & - EXPAND_ENDF_BVII1 = 2, & - EXPAND_JEFF_311 = 3, & - EXPAND_JEFF_312 = 4, & - EXPAND_JEFF_32 = 5 + ENDF_BVII0 = 1, & + ENDF_BVII1 = 2, & + JEFF_311 = 3, & + JEFF_312 = 4, & + JEFF_32 = 5, & + JENDL_32 = 6, & + JENDL_33 = 7, & + JENDL_40 = 8 ! ============================================================================ ! TALLY-RELATED CONSTANTS diff --git a/src/global.F90 b/src/global.F90 index 513683b459..57e849b955 100644 --- a/src/global.F90 +++ b/src/global.F90 @@ -89,7 +89,7 @@ module global character(3):: default_xs ! What to assume for expanding natural elements - integer :: default_expand = EXPAND_ENDF_BVII1 + integer :: default_expand = ENDF_BVII1 ! ============================================================================ ! TALLY-RELATED VARIABLES diff --git a/src/input_xml.F90 b/src/input_xml.F90 index a102f8ea42..9dbc37c0ac 100644 --- a/src/input_xml.F90 +++ b/src/input_xml.F90 @@ -784,15 +784,21 @@ contains call lower_case(temp_str) select case (temp_str) case ('endf/b-vii.0') - default_expand = EXPAND_ENDF_BVII0 + default_expand = ENDF_BVII0 case ('endf/b-vii.1') - default_expand = EXPAND_ENDF_BVII1 + default_expand = ENDF_BVII1 case ('jeff-3.1.1') - default_expand = EXPAND_JEFF_311 + default_expand = JEFF_311 case ('jeff-3.1.2') - default_expand = EXPAND_JEFF_312 + default_expand = JEFF_312 case ('jeff-3.2') - default_expand = EXPAND_JEFF_32 + default_expand = JEFF_32 + case ('jendl-3.2') + default_expand = JENDL_32 + case ('jendl-3.3') + default_expand = JENDL_33 + case ('jendl-4.0') + default_expand = JENDL_40 case default message = "Unknown natural element expansion option: " // trim(temp_str) call fatal_error() @@ -3137,8 +3143,7 @@ contains call list_density % append(density * 0.801_8) case ('c') - ! The evaluation of Carbon in ENDF/B-VII.1 and JEFF 3.1.2 is a natural - ! element, i.e. it's not possible to split into C-12 and C-13. + ! No evaluations split up Carbon into isotopes yet call list_names % append('6000.' // xs) call list_density % append(density) @@ -3149,14 +3154,16 @@ contains call list_density % append(density * 0.00364_8) case ('o') - ! Only JEFF 3.2 has O-18 - if (default_expand == EXPAND_JEFF_32) then + if (default_expand == JEFF_32) then call list_names % append('8016.' // xs) call list_density % append(density * 0.99757_8) call list_names % append('8017.' // xs) call list_density % append(density * 0.00038_8) call list_names % append('8018.' // xs) call list_density % append(density * 0.00205_8) + elseif (default_expand >= JENDL_32 .and. default_expand <= JENDL_40) then + call list_names % append('8016.' // xs) + call list_density % append(density) else call list_names % append('8016.' // xs) call list_density % append(density * 0.99962_8) @@ -3267,11 +3274,12 @@ contains call list_density % append(density * 0.0518_8) case ('v') - if (default_expand == EXPAND_ENDF_BVII0 .or. (default_expand >= & - EXPAND_JEFF_311 .and. default_expand <= EXPAND_JEFF_32)) then + if (default_expand == ENDF_BVII0 .or. default_expand == JEFF_311 & + .or. default_expand == JEFF_32 .or. & + (default_expand >= JENDL_32 .and. default_expand <= JENDL_33)) then call list_names % append('23000.' // xs) call list_density % append(density) - elseif (default_expand == EXPAND_ENDF_BVII1) then + else call list_names % append('23050.' // xs) call list_density % append(density * 0.0025_8) call list_names % append('23051.' // xs) @@ -3325,8 +3333,8 @@ contains call list_density % append(density * 0.3085_8) case ('zn') - if (default_expand == EXPAND_ENDF_BVII0 .or. default_expand == & - EXPAND_JEFF_311 .or. default_expand == EXPAND_JEFF_312) then + if (default_expand == ENDF_BVII0 .or. default_expand == & + JEFF_311 .or. default_expand == JEFF_312) then call list_names % append('30000.' // xs) call list_density % append(density) else @@ -3343,8 +3351,7 @@ contains end if case ('ga') - if (default_expand == EXPAND_JEFF_311 .or. & - default_expand == EXPAND_JEFF_312) then + if (default_expand == JEFF_311 .or. default_expand == JEFF_312) then call list_names % append('31000.' // xs) call list_density % append(density) else @@ -3763,10 +3770,12 @@ contains call list_density % append(density * 0.3508_8) case ('ta') - if (default_expand == EXPAND_ENDF_BVII0) then + if (default_expand == ENDF_BVII0 .or. & + (default_expand >= JEFF_311 .and. default_expand <= JEFF_312) .or. & + (default_expand >= JENDL_32 .and. default_expand <= JENDL_40)) then call list_names % append('73181.' // xs) call list_density % append(density) - elseif (default_expand == EXPAND_ENDF_BVII1) then + else call list_names % append('73180.' // xs) call list_density % append(density * 0.0001201_8) call list_names % append('73181.' // xs) @@ -3774,7 +3783,10 @@ contains end if case ('w') - if (default_expand == EXPAND_ENDF_BVII0) then + if (default_expand == ENDF_BVII0 .or. default_expand == JEFF_311 & + .or. default_expand == JEFF_312 .or. & + (default_expand >= JENDL_32 .and. default_expand <= JENDL_33)) then + ! Combine W-180 with W-182 call list_names % append('74182.' // xs) call list_density % append(density * 0.2662_8) call list_names % append('74183.' // xs) @@ -3783,7 +3795,7 @@ contains call list_density % append(density * 0.3064_8) call list_names % append('74186.' // xs) call list_density % append(density * 0.2843_8) - elseif (default_expand == EXPAND_ENDF_BVII1) then + else call list_names % append('74180.' // xs) call list_density % append(density * 0.0012_8) call list_names % append('74182.' // xs) @@ -3803,8 +3815,7 @@ contains call list_density % append(density * 0.6260_8) case ('os') - if (default_expand == EXPAND_JEFF_311 .or. & - default_expand == EXPAND_JEFF_312) then + if (default_expand == JEFF_311 .or. default_expand == JEFF_312) then call list_names % append('76000.' // xs) call list_density % append(density) else @@ -3831,8 +3842,7 @@ contains call list_density % append(density * 0.627_8) case ('pt') - if (default_expand == EXPAND_JEFF_311 .or. & - default_expand == EXPAND_JEFF_312) then + if (default_expand == JEFF_311 .or. default_expand == JEFF_312) then call list_names % append('78000.' // xs) call list_density % append(density) else @@ -3871,8 +3881,7 @@ contains call list_density % append(density * 0.0687_8) case ('tl') - if (default_expand == EXPAND_JEFF_311 .or. & - default_expand == EXPAND_JEFF_312) then + if (default_expand == JEFF_311 .or. default_expand == JEFF_312) then call list_names % append('81000.' // xs) call list_density % append(density) else From 6b54d8888515d7c005c32bb672bab07b232ce000 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Fri, 18 Apr 2014 17:26:52 -0400 Subject: [PATCH 4/8] Added documentation on . --- docs/source/usersguide/input.rst | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/source/usersguide/input.rst b/docs/source/usersguide/input.rst index eebe6bfc14..ee71e63661 100644 --- a/docs/source/usersguide/input.rst +++ b/docs/source/usersguide/input.rst @@ -182,6 +182,29 @@ performed. It has the following attributes/sub-elements: *Default*: None +.. _natural_elements: + +```` Element +------------------------------ + +The ```` element indicates to OpenMC what nuclides are +available in the cross section library when expanding an ```` into +separate isotopes (see :ref:`material`). The accepted values are: + + - ENDF/B-VII.0 + - ENDF/B-VII.1 + - JEFF-3.1.1 + - JEFF-3.1.2 + - JEFF-3.2 + - JENDL-3.2 + - JENDL-3.3 + - JENDL-4.0 + +Note that the value is case-insensitive, so "ENDF/B-VII.1" is equivalent to +"endf/b-vii.1". + + *Default*: ENDF/B-VII.1 + ```` Element ----------------------- @@ -741,6 +764,8 @@ sub-elements: Materials Specification -- materials.xml ---------------------------------------- +.. _material: + ```` Element ---------------------- @@ -781,7 +806,7 @@ Each ``material`` element can have the following attributes or sub-elements: Specifies that a natural element is present in the material. The natural element is split up into individual isotopes based on IUPAC Isotopic - Compositions of the Elements 1997. This element has attributes/sub-elements + Compositions of the Elements 2009. This element has attributes/sub-elements called ``name``, ``xs``, and ``ao``. The ``name`` attribute is the atomic symbol of the element while the ``xs`` attribute is the cross-section identifier. Finally, the ``ao`` attribute specifies the atom percent of the @@ -794,6 +819,10 @@ Each ``material`` element can have the following attributes or sub-elements: + In some cross section libraries, certain naturally occurring isotopes do not + have cross sections. The :ref:`natural_elements` option determines how a + natural element is split into isotopes in these cases. + *Default*: None From 21b4ce0a3649955e19486c8beb4e6ad59aa646fc Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Wed, 23 Apr 2014 20:55:26 -0400 Subject: [PATCH 5/8] Fix natural element expansion for Zn to match IUPAC 2009. --- src/input_xml.F90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/input_xml.F90 b/src/input_xml.F90 index 9dbc37c0ac..efee036149 100644 --- a/src/input_xml.F90 +++ b/src/input_xml.F90 @@ -3339,15 +3339,15 @@ contains call list_density % append(density) else call list_names % append('30064.' // xs) - call list_density % append(density * 0.4863_8) + call list_density % append(density * 0.4917_8) call list_names % append('30066.' // xs) - call list_density % append(density * 0.2790_8) + call list_density % append(density * 0.2773_8) call list_names % append('30067.' // xs) - call list_density % append(density * 0.0410_8) + call list_density % append(density * 0.0404_8) call list_names % append('30068.' // xs) - call list_density % append(density * 0.1875_8) + call list_density % append(density * 0.1845_8) call list_names % append('30070.' // xs) - call list_density % append(density * 0.0062_8) + call list_density % append(density * 0.0061_8) end if case ('ga') From 84c03aefec89a07f91032db5ab9d902801affcb2 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Wed, 23 Apr 2014 20:58:00 -0400 Subject: [PATCH 6/8] Add link to IUPAC 2009 document. --- docs/source/usersguide/input.rst | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/source/usersguide/input.rst b/docs/source/usersguide/input.rst index ee71e63661..19a0d620d5 100644 --- a/docs/source/usersguide/input.rst +++ b/docs/source/usersguide/input.rst @@ -805,12 +805,13 @@ Each ``material`` element can have the following attributes or sub-elements: :element: Specifies that a natural element is present in the material. The natural - element is split up into individual isotopes based on IUPAC Isotopic - Compositions of the Elements 2009. This element has attributes/sub-elements - called ``name``, ``xs``, and ``ao``. The ``name`` attribute is the atomic - symbol of the element while the ``xs`` attribute is the cross-section - identifier. Finally, the ``ao`` attribute specifies the atom percent of the - element within the material, respectively. One example would be as follows: + element is split up into individual isotopes based on `IUPAC Isotopic + Compositions of the Elements 2009`_. This element has + attributes/sub-elements called ``name``, ``xs``, and ``ao``. The ``name`` + attribute is the atomic symbol of the element while the ``xs`` attribute is + the cross-section identifier. Finally, the ``ao`` attribute specifies the + atom percent of the element within the material, respectively. One example + would be as follows: .. code-block:: xml @@ -834,6 +835,9 @@ Each ``material`` element can have the following attributes or sub-elements: *Default*: None +.. _IUPAC Isotopic Compositions of the Elements 2009: + http://pac.iupac.org/publications/pac/pdf/2011/pdf/8302x0397.pdf + ```` Element ------------------------ From a8d42e40388f5292b66bb632c586645ce52ced04 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Thu, 24 Apr 2014 16:34:55 -0400 Subject: [PATCH 7/8] Add tag in test_natural_element/settings.xml. --- tests/test_natural_element/settings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_natural_element/settings.xml b/tests/test_natural_element/settings.xml index 4df1f124a6..f903c92e72 100644 --- a/tests/test_natural_element/settings.xml +++ b/tests/test_natural_element/settings.xml @@ -9,6 +9,8 @@ 400 + endf/b-vii.1 + box From 06fbfe5862f558d2ab02e1e44dc0dcefe4959cbf Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Sat, 26 Apr 2014 11:24:12 -0400 Subject: [PATCH 8/8] Add warning about reaching fission bank size. --- src/physics.F90 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/physics.F90 b/src/physics.F90 index bb138668cd..5d3433f3be 100644 --- a/src/physics.F90 +++ b/src/physics.F90 @@ -866,6 +866,14 @@ contains nu = int(nu_t) + 1 end if + ! Check for fission bank size getting hit + if (n_bank + nu > size(fission_bank)) then + message = "Maximum number of sites in fission bank reached. This can & + &result in irreproducible results using different numbers of & + &processes/threads." + call warning() + end if + ! Bank source neutrons if (nu == 0 .or. n_bank == size(fission_bank)) return p % fission = .true. ! Fission neutrons will be banked