diff --git a/examples/xml/pincell_multigroup/mgxs.h5 b/examples/xml/pincell_multigroup/mgxs.h5 index debdf0257..4916f9915 100644 Binary files a/examples/xml/pincell_multigroup/mgxs.h5 and b/examples/xml/pincell_multigroup/mgxs.h5 differ diff --git a/openmc/mgxs_library.py b/openmc/mgxs_library.py index 3ceb6e996..4b12603ab 100644 --- a/openmc/mgxs_library.py +++ b/openmc/mgxs_library.py @@ -85,7 +85,7 @@ class XSdata(object): fission : dict of numpy.ndarray Group-wise fission cross section. kappa_fission : dict of numpy.ndarray - Group-wise kappa-fission cross section. + Group-wise kappa_fission cross section. chi : dict of numpy.ndarray Group-wise fission spectra ordered by increasing group index (i.e., fast to thermal). This attribute should be used if making the common @@ -1249,7 +1249,7 @@ class XSdata(object): """ - check_type('k_fission', k_fission, openmc.mgxs.KappaFissionXS) + check_type('kappa_fission', k_fission, openmc.mgxs.KappaFissionXS) check_value('energy_groups', k_fission.energy_groups, [self.energy_groups]) check_value('domain_type', k_fission.domain_type, @@ -1745,7 +1745,7 @@ class XSdata(object): xs_grp.create_dataset("beta", data=self._beta[i]) if self._decay_rate[i] is not None: - xs_grp.create_dataset("decay-rate", data=self._decay_rate[i]) + xs_grp.create_dataset("decay rate", data=self._decay_rate[i]) if self._scatter_matrix[i] is None: raise ValueError('Scatter matrix must be provided when ' diff --git a/src/mgxs_data.F90 b/src/mgxs_data.F90 index ea0188480..9a745f830 100644 --- a/src/mgxs_data.F90 +++ b/src/mgxs_data.F90 @@ -121,6 +121,7 @@ contains ! Add name to dictionary call already_read % add(name) + end if end do NUCLIDE_LOOP end do MATERIAL_LOOP diff --git a/src/mgxs_header.F90 b/src/mgxs_header.F90 index 06a56ca7f..0b02960ad 100644 --- a/src/mgxs_header.F90 +++ b/src/mgxs_header.F90 @@ -28,7 +28,7 @@ module mgxs_header class(ScattData), allocatable :: scatter ! scattering info real(8), allocatable :: delayed_nu_fission(:,:) ! Delayed fission matrix (Gin x Dg) real(8), allocatable :: prompt_nu_fission(:) ! Prompt fission vector (Gin) - real(8), allocatable :: kappa_fission(:) ! Kappa-fission + real(8), allocatable :: kappa_fission(:) ! Kappa fission real(8), allocatable :: fission(:) ! Neutron production real(8), allocatable :: decay_rate(:) ! Delayed neutron precursor decay rate real(8), allocatable :: inverse_velocity(:) ! Inverse neutron velocity @@ -44,7 +44,7 @@ module mgxs_header type(ScattDataContainer), allocatable :: scatter(:, :) ! scattering info real(8), allocatable :: delayed_nu_fission(:, :, :, :) ! Delayed fission matrix (Gout x Gin) real(8), allocatable :: prompt_nu_fission(:, :, :) ! Prompt fission matrix (Gout x Gin) - real(8), allocatable :: kappa_fission(:, :, :) ! Kappa-fission + real(8), allocatable :: kappa_fission(:, :, :) ! Kappa fission real(8), allocatable :: fission(:, :, :) ! Neutron production real(8), allocatable :: decay_rate(:, :, :) ! Delayed neutron precursor decay rate real(8), allocatable :: inverse_velocity(:, :, :) ! Inverse neutron velocity @@ -467,6 +467,7 @@ module mgxs_header xs % chi_delayed = ZERO xs % chi_prompt = ZERO xs % decay_rate = ZERO + xs % inverse_velocity = ZERO if (this % fissionable) then @@ -520,7 +521,7 @@ module mgxs_header temp_beta = ZERO end if - ! If chi provided, set chi_prompt and chi_delayed + ! If chi provided, set chi-prompt and chi-delayed if (object_exists(xsdata_grp, "chi")) then ! Allocate temporary array for chi @@ -534,7 +535,7 @@ module mgxs_header xs % chi_prompt(gout, gin) = temp_arr(gout) end do - ! Normalize chi_prompt so its CDF goes to 1 + ! Normalize chi-prompt so its CDF goes to 1 chi_sum =sum(xs % chi_prompt(:, gin)) if (chi_sum == ZERO) then call fatal_error("Encountered chi for a group that sums to & @@ -544,7 +545,7 @@ module mgxs_header end if end do - ! Set chi_delayed to chi_prompt + ! Set chi-delayed to chi-prompt do dg = 1, delayed_groups xs % chi_delayed(:, :, dg) = xs % chi_prompt(:, :) end do @@ -553,9 +554,9 @@ module mgxs_header deallocate(temp_arr) end if - ! If nu-fission provided, set prompt_nu_fission and - ! delayed_nu_fission. If nu-fission is a matrix, set chi_prompt and - ! chi_delayed. + ! If nu-fission provided, set prompt-nu_-ission and + ! delayed-nu-fission. If nu fission is a matrix, set chi-prompt and + ! chi-delayed. if (object_exists(xsdata_grp, "nu-fission")) then ! Get the dimensions of the nu-fission dataset @@ -565,36 +566,36 @@ module mgxs_header ! If nu-fission is a vector if (ndims == 1) then - ! Get nu_fission + ! Get nu-fission call read_dataset(xs % prompt_nu_fission, xsdata_grp, & "nu-fission") - ! Set delayed_nu_fission and correct prompt_nu_fission with + ! Set delayed-nu-fission and correct prompt-nu-fission with ! beta do gin = 1, energy_groups do dg = 1, delayed_groups - ! Set delayed_nu_fission using delayed neutron fraction + ! Set delayed-nu-fission using delayed neutron fraction xs % delayed_nu_fission(gin, dg) = temp_beta(gin, dg) * & xs % prompt_nu_fission(gin) end do - ! Correct prompt_nu_fission using delayed neutron fraction + ! Correct prompt-nu-fission using delayed neutron fraction xs % prompt_nu_fission(gin) = (1 - sum(temp_beta(gin, :))) * & xs % prompt_nu_fission(gin) end do - ! If nu-fission is a matrix, set prompt_nu_fission, - ! delayed_nu_fission, chi_prompt, and chi_delayed. + ! If nu-fission is a matrix, set prompt-nu-fission, + ! delayed-nu-fission, chi-prompt, and chi-delayed. else if (ndims == 2) then - ! chi is embedded in nu_fission -> extract chi + ! chi is embedded in nu-fission -> extract chi allocate(temp_arr(energy_groups * energy_groups)) call read_dataset(temp_arr, xsdata_grp, "nu-fission") allocate(temp_2d(energy_groups, energy_groups)) temp_2d = reshape(temp_arr, (/energy_groups, energy_groups/)) - ! Deallocate temporary 1D array for nu_fission matrix + ! Deallocate temporary 1D array for nu-fission matrix deallocate(temp_arr) ! Set the vector nu-fission from the matrix nu-fission @@ -602,17 +603,17 @@ module mgxs_header xs % prompt_nu_fission(gin) = sum(temp_2d(:, gin)) end do - ! Set delayed_nu_fission and correct prompt_nu_fission with + ! Set delayed-nu-fission and correct prompt-nu-fission with ! beta do gin = 1, energy_groups do dg = 1, delayed_groups - ! Set delayed_nu_fission using delayed neutron fraction + ! Set delayed-nu-fission using delayed neutron fraction xs % delayed_nu_fission(gin, dg) = temp_beta(gin, dg) * & xs % prompt_nu_fission(gin) end do - ! Correct prompt_nu_fission using delayed neutron fraction + ! Correct prompt-nu-fission using delayed neutron fraction xs % prompt_nu_fission(gin) = (1 - sum(temp_beta(gin, :))) * & xs % prompt_nu_fission(gin) end do @@ -620,7 +621,7 @@ module mgxs_header ! Now pull out information needed for chi xs % chi_prompt(:, :) = temp_2d - ! Deallocate temporary 2D array for nu_fission matrix + ! Deallocate temporary 2D array for nu-fission matrix deallocate(temp_2d) ! Normalize chi so its CDF goes to 1 @@ -634,7 +635,7 @@ module mgxs_header end if end do - ! Set chi_delayed to chi_prompt + ! Set chi-delayed to chi-prompt do dg = 1, delayed_groups xs % chi_delayed(:, :, dg) = xs % chi_prompt(:, :) end do @@ -644,13 +645,13 @@ module mgxs_header end if end if - ! If chi_prompt provided, set chi_prompt + ! If chi-prompt provided, set chi-prompt if (object_exists(xsdata_grp, "chi-prompt")) then - ! Allocate temporary array for chi_prompt + ! Allocate temporary array for chi-prompt allocate(temp_arr(energy_groups)) - ! Get array with chi_prompt + ! Get array with chi-prompt call read_dataset(temp_arr, xsdata_grp, "chi-prompt") do gin = 1, energy_groups @@ -668,21 +669,21 @@ module mgxs_header end if end do - ! Deallocate temporary array for chi_prompt + ! Deallocate temporary array for chi-prompt deallocate(temp_arr) end if - ! If chi_delayed provided, set chi_delayed + ! If chi-delayed provided, set chi-delayed if (object_exists(xsdata_grp, "chi-delayed")) then - ! Get the dimensions of the nu-fission dataset + ! Get the dimensions of the chi-delayed dataset xsdata = open_dataset(xsdata_grp, "chi-delayed") call get_ndims(xsdata, ndims) ! If chi-delayed is a vector if (ndims == 1) then - ! Allocate temporary array for chi_delayed + ! Allocate temporary array for chi-delayed allocate(temp_arr(energy_groups)) ! Get chi-delayed @@ -706,12 +707,12 @@ module mgxs_header end do end do - ! Deallocate temporary array for chi_delayed + ! Deallocate temporary array for chi-delayed deallocate(temp_arr) else if (ndims == 2) then - ! Allocate temporary array for chi_delayed + ! Allocate temporary array for chi-delayed allocate(temp_arr(delayed_groups * energy_groups)) ! Get chi-delayed @@ -737,7 +738,7 @@ module mgxs_header end do end do - ! Deallocate temporary arrays for chi_delayed + ! Deallocate temporary arrays for chi-delayed deallocate(temp_arr) deallocate(temp_2d) @@ -747,16 +748,16 @@ module mgxs_header end if end if - ! If prompt-nu-fission present, set prompt_nu_fission + ! If prompt-nu-fission present, set prompt-nu-fission if (object_exists(xsdata_grp, "prompt-nu-fission")) then - ! Set prompt_nu_fission + ! Set prompt-nu-fission call read_dataset(xs % prompt_nu_fission, xsdata_grp, & "prompt-nu-fission") end if - ! If delayed-nu-fission provided, set delayed_nu_fission. If - ! delayed-nu-fission is a matrix, set chi_delayed. + ! If delayed-nu-fission provided, set delayed-nu-fission. If + ! delayed-nu-fission is a matrix, set chi-delayed. if (object_exists(xsdata_grp, "delayed-nu-fission")) then ! Get the dimensions of the delayed-nu-fission dataset @@ -772,26 +773,26 @@ module mgxs_header &array if beta not provided") end if - ! Allocate temporary array for delayed_nu_fission + ! Allocate temporary array for delayed-nu-fission allocate(temp_arr(energy_groups)) - ! Get delayed_nu_fission + ! Get delayed-nu-fission call read_dataset(temp_arr, xsdata_grp, "delayed-nu-fission") do gin = 1, energy_groups do dg = 1, delayed_groups - ! Set delayed_nu_fission using delayed neutron fraction + ! Set delayed-nu-fission using delayed neutron fraction xs % delayed_nu_fission(gin, dg) = temp_beta(gin, dg) * & temp_arr(gin) end do end do - ! Deallocate temporary delayed_nu_fission array + ! Deallocate temporary delayed-nu-fission array deallocate(temp_arr) ! If delayed-nu-fission is a (delayed_group, energy_group) - ! matrix, set delayed_nu_fission separately for each delayed + ! matrix, set delayed-nu-fission separately for each delayed ! group. else if (ndims == 2) then @@ -822,13 +823,13 @@ module mgxs_header &be set as a group by group matrix.") end if - ! Get delayed_nu_fission + ! Get delayed-nu-fission allocate(temp_arr(delayed_groups * energy_groups)) call read_dataset(temp_arr, xsdata_grp, "delayed-nu-fission") xs % delayed_nu_fission = reshape(temp_arr, (/energy_groups, & delayed_groups/)) - ! Deallocate temporary array for delayed_nu_fission matrix + ! Deallocate temporary array for delayed-nu-fission matrix deallocate(temp_arr) else @@ -840,7 +841,7 @@ module mgxs_header ! Deallocate temporary beta array deallocate(temp_beta) - ! chi_prompt, chi_delayed, prompt_nu_fission, and delayed_nu_fission + ! chi-prompt, chi-delayed, prompt-nu-fission, and delayed-nu-fission ! have been set; Now we will check for the rest of the XS that are ! unique to fissionable isotopes @@ -849,14 +850,14 @@ module mgxs_header call read_dataset(xs % fission, xsdata_grp, "fission") end if - ! Get kappa_fission xs - if (object_exists(xsdata_grp, "kappa_fission")) then - call read_dataset(xs % kappa_fission, xsdata_grp, "kappa_fission") + ! Get kappa-fission xs + if (object_exists(xsdata_grp, "kappa-fission")) then + call read_dataset(xs % kappa_fission, xsdata_grp, "kappa-fission") end if ! Get decay rate xs - if (object_exists(xsdata_grp, "decay_rate")) then - call read_dataset(xs % decay_rate, xsdata_grp, "decay_rate") + if (object_exists(xsdata_grp, "decay rate")) then + call read_dataset(xs % decay_rate, xsdata_grp, "decay rate") end if end if @@ -870,11 +871,9 @@ module mgxs_header end if ! Get inverse velocity - if (object_exists(xsdata_grp, "inverse_velocity")) then + if (object_exists(xsdata_grp, "inverse-velocity")) then call read_dataset(xs % inverse_velocity, xsdata_grp, & - "inverse_velocity") - else - xs % inverse_velocity = ZERO + "inverse-velocity") end if ! Get scattering data @@ -1080,6 +1079,7 @@ module mgxs_header deallocate(scatt_coeffs, temp_mult) end associate ! xs end do ! Temperatures + end subroutine mgxsiso_from_hdf5 subroutine mgxsang_from_hdf5(this, xs_id, energy_groups, delayed_groups, & @@ -1213,7 +1213,7 @@ module mgxs_header temp_beta = ZERO end if - ! If chi provided, set chi_prompt and chi_delayed + ! If chi provided, set chi-prompt and chi-delayed if (object_exists(xsdata_grp, "chi")) then ! Allocate temporary array for chi @@ -1233,7 +1233,7 @@ module mgxs_header temp_3d(gout, iazi, ipol) end do - ! Normalize chi_prompt so its CDF goes to 1 + ! Normalize chi-prompt so its CDF goes to 1 if (sum(xs % chi_prompt(:, gin, iazi, ipol)) == ZERO) then call fatal_error("Encountered chi for a group that sums& & to zero") @@ -1246,7 +1246,7 @@ module mgxs_header end do end do - ! Set chi_delayed to chi_prompt + ! Set chi-delayed to chi-prompt do ipol = 1, this % n_pol do iazi = 1, this % n_azi do dg = 1, delayed_groups @@ -1261,14 +1261,14 @@ module mgxs_header deallocate(temp_3d) end if - ! If chi_prompt provided, set chi_prompt + ! If chi-prompt provided, set chi-prompt if (object_exists(xsdata_grp, "chi-prompt")) then - ! Allocate temporary array for chi_prompt + ! Allocate temporary array for chi-prompt allocate(temp_1d(energy_groups * this % n_azi * this % n_pol)) allocate(temp_3d(energy_groups, this % n_azi, this % n_pol)) - ! Get array with chi_prompt + ! Get array with chi-prompt call read_dataset(temp_1d, xsdata_grp, "chi-prompt") temp_3d = reshape(temp_1d, (/energy_groups, this % n_azi, & this % n_pol/)) @@ -1294,26 +1294,26 @@ module mgxs_header end do end do - ! Deallocate temporary arrays for chi_prompt + ! Deallocate temporary arrays for chi-prompt deallocate(temp_1d) deallocate(temp_3d) end if - ! If chi_delayed provided, set chi_delayed + ! If chi-delayed provided, set chi-delayed if (object_exists(xsdata_grp, "chi-delayed")) then - ! Get the dimensions of the nu-fission dataset + ! Get the dimensions of the chi-delayed dataset xsdata = open_dataset(xsdata_grp, "chi-delayed") call get_ndims(xsdata, ndims) ! If chi-delayed is a vector if (ndims == 1) then - ! Allocate temporary array for chi_prompt + ! Allocate temporary array for chi-prompt allocate(temp_1d(delayed_groups * this % n_azi * this % n_pol)) allocate(temp_3d(delayed_groups, this % n_azi, this % n_pol)) - ! Get array with chi_prompt + ! Get array with chi-prompt call read_dataset(temp_1d, xsdata_grp, "chi-delayed") temp_3d = reshape(temp_1d, (/delayed_groups, this % n_azi, & this % n_pol/)) @@ -1342,13 +1342,13 @@ module mgxs_header end do end do - ! Deallocate temporary arrays for chi_delayed + ! Deallocate temporary arrays for chi-delayed deallocate(temp_1d) deallocate(temp_3d) else if (ndims == 2) then - ! Allocate temporary array for chi_delayed + ! Allocate temporary array for chi-delayed allocate(temp_1d(delayed_groups * energy_groups * this % n_azi & * this % n_pol)) allocate(temp_4d(energy_groups, delayed_groups, this % n_azi, & @@ -1383,7 +1383,7 @@ module mgxs_header end do end do - ! Deallocate temporary arrays for chi_delayed + ! Deallocate temporary arrays for chi-delayed deallocate(temp_1d) deallocate(temp_4d) @@ -1393,7 +1393,7 @@ module mgxs_header end if end if - ! If prompt-nu-fission present, set prompt_nu_fission + ! If prompt-nu-fission present, set prompt-nu-fission if (object_exists(xsdata_grp, "prompt-nu-fission")) then ! Allocate temporary array for prompt-nu-fission @@ -1404,12 +1404,12 @@ module mgxs_header xs % prompt_nu_fission = reshape(temp_1d, (/energy_groups, & this % n_azi, this % n_pol/)) - ! Deallocate temporary array for prompt_nu_fission + ! Deallocate temporary array for prompt-nu-fission deallocate(temp_1d) end if - ! If delayed-nu-fission provided, set delayed_nu_fission. If - ! delayed-nu-fission is a matrix, set chi_delayed. + ! If delayed-nu-fission provided, set delayed-nu-fission. If + ! delayed-nu-fission is a matrix, set chi-delayed. if (object_exists(xsdata_grp, "delayed-nu-fission")) then ! Get the dimensions of the delayed-nu-fission dataset @@ -1425,11 +1425,11 @@ module mgxs_header &array if beta not provided") end if - ! Allocate temporary arrays for delayed_nu_fission + ! Allocate temporary arrays for delayed-nu-fission allocate(temp_1d(energy_groups * this % n_azi * this % n_pol)) allocate(temp_3d(energy_groups, this % n_azi, this % n_pol)) - ! Get delayed_nu_fission + ! Get delayed-nu-fission call read_dataset(temp_1d, xsdata_grp, "delayed-nu-fission") temp_3d = reshape(temp_1d, (/energy_groups, this % n_azi, & this % n_pol/)) @@ -1439,7 +1439,7 @@ module mgxs_header do gin = 1, energy_groups do dg = 1, delayed_groups - ! Set delayed_nu_fission using delayed neutron fraction + ! Set delayed-nu-fission using delayed neutron fraction xs % delayed_nu_fission(gin, dg, iazi, ipol) = & temp_beta(gin, dg, iazi, ipol) * & temp_3d(gin, iazi, ipol) @@ -1448,12 +1448,12 @@ module mgxs_header end do end do - ! Deallocate temporary delayed_nu_fission arrays + ! Deallocate temporary delayed-nu-fission arrays deallocate(temp_1d) deallocate(temp_3d) ! If delayed-nu-fission is a (delayed_group, energy_group) - ! matrix, set delayed_nu_fission separately for each delayed + ! matrix, set delayed-nu-fission separately for each delayed ! group. else if (ndims == 4) then @@ -1485,14 +1485,14 @@ module mgxs_header &matrix.") end if - ! Get delayed_nu_fission + ! Get delayed-nu-fission allocate(temp_1d(delayed_groups * energy_groups * this % n_azi & * this % n_pol)) call read_dataset(temp_1d, xsdata_grp, "delayed-nu-fission") xs % delayed_nu_fission = reshape(temp_1d, (/energy_groups, & delayed_groups, this % n_azi, this % n_pol /)) - ! Deallocate temporary array for delayed_nu_fission matrix + ! Deallocate temporary array for delayed-nu-fission matrix deallocate(temp_1d) else @@ -1504,7 +1504,7 @@ module mgxs_header ! Deallocate temporary beta array deallocate(temp_beta) - ! chi_prompt, chi_delayed, prompt_nu_fission, and delayed_nu_fission + ! chi-prompt, chi-delayed, prompt-nu-fission, and delayed-nu-fission ! have been set; Now we will check for the rest of the XS that are ! unique to fissionable isotopes @@ -1523,33 +1523,33 @@ module mgxs_header deallocate(temp_1d) end if - ! Set kappa_fission xs + ! Set kappa-fission xs if (object_exists(xsdata_grp, "kappa-fission")) then - ! Allocate temporary array for kappa_fission + ! Allocate temporary array for kappa-fission allocate(temp_1d(energy_groups * this % n_azi * this % n_pol)) - ! Get kappa_fission array + ! Get kappa-fission array call read_dataset(temp_1d, xsdata_grp, "kappa-fission") xs % kappa_fission(:, :, :) = reshape(temp_1d, (/energy_groups, & this % n_azi, this % n_pol/)) - ! Deallocate temporary array for kappa_fission + ! Deallocate temporary array for kappa-fission deallocate(temp_1d) end if ! Set decay rate - if (object_exists(xsdata_grp, "decay-rate")) then + if (object_exists(xsdata_grp, "decay rate")) then - ! Allocate temporary array for decay_rate + ! Allocate temporary array for decay rate allocate(temp_1d(this % n_azi * this % n_pol * delayed_groups)) - ! Get decay_rate array - call read_dataset(temp_1d, xsdata_grp, "decay-rate") + ! Get decay rate array + call read_dataset(temp_1d, xsdata_grp, "decay rate") xs % decay_rate(:, :, :) = reshape(temp_1d, (/delayed_groups, & this % n_azi, this % n_pol/)) - ! Deallocate temporary array for decay_rate + ! Deallocate temporary array for decay rate deallocate(temp_1d) end if end if @@ -1574,16 +1574,14 @@ module mgxs_header call fatal_error("Must provide absorption!") end if - if (object_exists(xsdata_grp, "inverse_velocity")) then + if (object_exists(xsdata_grp, "inverse-velocity")) then ! Allocate temporary array for inverse velocity allocate(temp_1d(energy_groups * this % n_azi * this % n_pol)) ! Read in inverse velocity - call read_dataset(temp_1d, xsdata_grp, "inverse_velocity") + call read_dataset(temp_1d, xsdata_grp, "inverse-velocity") - allocate(xs % inverse_velocity(energy_groups, this % n_azi, & - this % n_pol)) xs % inverse_velocity = reshape(temp_1d, (/energy_groups, & this % n_azi, this % n_pol/)) @@ -2517,6 +2515,7 @@ module mgxs_header this % xs(t) % kappa_fission = this % xs(t) % kappa_fission & + atom_density * nuc % xs(nuc_t) % kappa_fission * interp + end if ! We will next gather the multiplicity and scattering matrices. @@ -2686,34 +2685,34 @@ module mgxs_header case('fission') xs = this % xs(t) % fission(gin) - case('kappa_fission') + case('kappa-fission') xs = this % xs(t) % kappa_fission(gin) - case('inverse_velocity') + case('inverse-velocity') xs = this % xs(t) % inverse_velocity(gin) - case('decay_rate') + case('decay rate') if (present(dg)) then xs = this % xs(t) % decay_rate(dg) else xs = this % xs(t) % decay_rate(1) end if - case('prompt_nu_fission') + case('prompt-nu-fission') xs = this % xs(t) % prompt_nu_fission(gin) - case('delayed_nu_fission') + case('delayed-nu-fission') if (present(dg)) then xs = this % xs(t) % delayed_nu_fission(gin, dg) else xs = sum(this % xs(t) % delayed_nu_fission(gin, :)) end if - case('nu_fission') + case('nu-fission') xs = this % xs(t) % prompt_nu_fission(gin) + & sum(this % xs(t) % delayed_nu_fission(gin, :)) - case('chi_prompt') + case('chi-prompt') if (present(gout)) then xs = this % xs(t) % chi_prompt(gout,gin) else @@ -2721,7 +2720,7 @@ module mgxs_header xs = sum(this % xs(t) % chi_prompt(:, gin)) end if - case('chi_delayed') + case('chi-delayed') if (present(gout)) then if (present(dg)) then xs = this % xs(t) % chi_delayed(gout, gin, dg) @@ -2821,24 +2820,24 @@ module mgxs_header case('fission') xs = this % xs(t) % fission(gin, iazi, ipol) - case('kappa_fission') + case('kappa-fission') xs = this % xs(t) % kappa_fission(gin, iazi, ipol) - case('prompt_nu_fission') + case('prompt-nu-fission') xs = this % xs(t) % prompt_nu_fission(gin, iazi, ipol) - case('delayed_nu_fission') + case('delayed-nu-fission') if (present(dg)) then xs = this % xs(t) % delayed_nu_fission(gin, dg, iazi, ipol) else xs = sum(this % xs(t) % delayed_nu_fission(gin, :, iazi, ipol)) end if - case('nu_fission') + case('nu-fission') xs = this % xs(t) % prompt_nu_fission(gin, iazi, ipol) + & sum(this % xs(t) % delayed_nu_fission(gin, :, iazi, ipol)) - case('chi_prompt') + case('chi-prompt') if (present(gout)) then xs = this % xs(t) % chi_prompt(gout, gin, iazi, ipol) else @@ -2846,7 +2845,7 @@ module mgxs_header xs = sum(this % xs(t) % chi_prompt(:, gin, iazi, ipol)) end if - case('chi_delayed') + case('chi-delayed') if (present(gout)) then if (present(dg)) then xs = this % xs(t) % chi_delayed(gout, gin, dg, iazi, ipol) @@ -2861,14 +2860,14 @@ module mgxs_header end if end if - case('decay_rate') + case('decay rate') if (present(dg)) then xs = this % xs(t) % decay_rate(iazi, ipol, dg) else xs = this % xs(t) % decay_rate(iazi, ipol, 1) end if - case('inverse_velocity') + case('inverse-velocity') xs = this % xs(t) % inverse_velocity(gin, iazi, ipol) case('scatter') @@ -2951,8 +2950,8 @@ module mgxs_header ! Get nu and nu_prompt real(8) :: prob_prompt - prob_prompt = this % get_xs('prompt_nu_fission', gin) / & - this % get_xs('nu_fission', gin) + prob_prompt = this % get_xs('prompt-nu-fission', gin) / & + this % get_xs('nu-fission', gin) ! Sample random numbers xi_pd = prn() @@ -2983,7 +2982,7 @@ module mgxs_header dg = dg + 1 prob_prompt = prob_prompt + & this % get_xs('delayed_nu_fision', gin, dg=dg) & - / this % get_xs('nu_fission', gin) + / this % get_xs('nu-fission', gin) end do ! Adjust dg in case of round off error @@ -3014,8 +3013,8 @@ module mgxs_header real(8) :: prob_prompt ! Get nu and nu_prompt - prob_prompt = this % get_xs('prompt_nu_fission', gin, uvw=uvw) / & - this % get_xs('nu_fission', gin, uvw=uvw) + prob_prompt = this % get_xs('prompt-nu-fission', gin, uvw=uvw) / & + this % get_xs('nu-fission', gin, uvw=uvw) ! Sample random numbers xi_pd = prn() @@ -3028,12 +3027,12 @@ module mgxs_header dg = 0 gout = 1 - prob_gout = this % get_xs('chi_prompt', gin, gout, uvw=uvw) + prob_gout = this % get_xs('chi-prompt', gin, gout, uvw=uvw) do while (prob_gout < xi_gout) gout = gout + 1 prob_gout = prob_gout + & - this % get_xs('chi_prompt', gin, gout, uvw=uvw) + this % get_xs('chi-prompt', gin, gout, uvw=uvw) end do ! Neutron is born delayed @@ -3045,8 +3044,8 @@ module mgxs_header do while (xi_pd < prob_prompt) dg = dg + 1 prob_prompt = prob_prompt + & - this % get_xs('delayed_nu_fission', gin, uvw=uvw, dg=dg) / & - this % get_xs('nu_fission', gin, uvw=uvw) + this % get_xs('delayed-nu-fission', gin, uvw=uvw, dg=dg) / & + this % get_xs('nu-fission', gin, uvw=uvw) end do ! Adjust dg in case of round off error @@ -3054,11 +3053,11 @@ module mgxs_header ! Get the outgoing group gout = 1 - prob_gout = this % get_xs('chi_delayed', gin, gout, uvw=uvw, dg=dg) + prob_gout = this % get_xs('chi-delayed', gin, gout, uvw=uvw, dg=dg) do while (prob_gout < xi_gout) gout = gout + 1 - prob_gout = this % get_xs('chi_delayed', gin, gout, uvw=uvw, dg=dg) + prob_gout = this % get_xs('chi-delayed', gin, gout, uvw=uvw, dg=dg) end do end if diff --git a/src/tally.F90 b/src/tally.F90 index c5a1b8352..865da6058 100644 --- a/src/tally.F90 +++ b/src/tally.F90 @@ -1247,19 +1247,19 @@ contains end if if (i_nuclide > 0) then - score = score * nucxs % get_xs('inverse_velocity', p_g, UVW=p_uvw) & + score = score * nucxs % get_xs('inverse-velocity', p_g, UVW=p_uvw) & / nucxs % get_xs('total', p_g, UVW=p_uvw) * flux else - score = score * matxs % get_xs('inverse_velocity', p_g, UVW=p_uvw) & + score = score * matxs % get_xs('inverse-velocity', p_g, UVW=p_uvw) & / matxs % get_xs('total', p_g, UVW=p_uvw) * flux end if else if (i_nuclide > 0) then - score = flux * nucxs % get_xs('inverse_velocity', p_g, UVW=p_uvw) + score = flux * nucxs % get_xs('inverse-velocity', p_g, UVW=p_uvw) else - score = flux * matxs % get_xs('inverse_velocity', p_g, UVW=p_uvw) + score = flux * matxs % get_xs('inverse-velocity', p_g, UVW=p_uvw) end if end if @@ -1445,11 +1445,11 @@ contains score = p % absorb_wgt * flux if (i_nuclide > 0) then score = score * atom_density * & - nucxs % get_xs('nu_fission', p_g, UVW=p_uvw) / & + nucxs % get_xs('nu-fission', p_g, UVW=p_uvw) / & matxs % get_xs('absorption', p_g, UVW=p_uvw) else score = score * & - matxs % get_xs('nu_fission', p_g, UVW=p_uvw) / & + matxs % get_xs('nu-fission', p_g, UVW=p_uvw) / & matxs % get_xs('absorption', p_g, UVW=p_uvw) end if else @@ -1470,10 +1470,10 @@ contains else if (i_nuclide > 0) then - score = nucxs % get_xs('nu_fission', p_g, UVW=p_uvw) * & + score = nucxs % get_xs('nu-fission', p_g, UVW=p_uvw) * & atom_density * flux else - score = matxs % get_xs('nu_fission', p_g, UVW=p_uvw) * flux + score = matxs % get_xs('nu-fission', p_g, UVW=p_uvw) * flux end if end if @@ -1506,11 +1506,11 @@ contains score = p % absorb_wgt * flux if (i_nuclide > 0) then score = score * atom_density * & - nucxs % get_xs('prompt_nu_fission', p_g, UVW=p_uvw) / & + nucxs % get_xs('prompt-nu-fission', p_g, UVW=p_uvw) / & matxs % get_xs('absorption', p_g, UVW=p_uvw) else score = score * & - matxs % get_xs('prompt_nu_fission', p_g, UVW=p_uvw) / & + matxs % get_xs('prompt-nu-fission', p_g, UVW=p_uvw) / & matxs % get_xs('absorption', p_g, UVW=p_uvw) end if else @@ -1532,10 +1532,10 @@ contains else if (i_nuclide > 0) then - score = nucxs % get_xs('prompt_nu_fission', p_g, UVW=p_uvw) * & + score = nucxs % get_xs('prompt-nu-fission', p_g, UVW=p_uvw) * & atom_density * flux else - score = matxs % get_xs('prompt_nu_fission', p_g, UVW=p_uvw) * flux + score = matxs % get_xs('prompt-nu-fission', p_g, UVW=p_uvw) * flux end if end if @@ -1583,11 +1583,11 @@ contains score = p % absorb_wgt * flux if (i_nuclide > 0) then - score = score * nucxs % get_xs('delayed_nu_fission', & + score = score * nucxs % get_xs('delayed-nu-fission', & p_g, UVW=p_uvw, dg=d) / & nucxs % get_xs('absorption', p_g, UVW=p_uvw) else - score = score * matxs % get_xs('delayed_nu_fission', & + score = score * matxs % get_xs('delayed-nu-fission', & p_g, UVW=p_uvw, dg=d) / & matxs % get_xs('absorption', p_g, UVW=p_uvw) end if @@ -1599,10 +1599,10 @@ contains else score = p % absorb_wgt * flux if (i_nuclide > 0) then - score = score * nucxs % get_xs('delayed_nu_fission', p_g, & + score = score * nucxs % get_xs('delayed-nu-fission', p_g, & UVW=p_uvw) / nucxs % get_xs('absorption', p_g, UVW=p_uvw) else - score = score * matxs % get_xs('delayed_nu_fission', p_g, & + score = score * matxs % get_xs('delayed-nu-fission', p_g, & UVW=p_uvw) / matxs % get_xs('absorption', p_g, UVW=p_uvw) end if end if @@ -1665,10 +1665,10 @@ contains d = filt % groups(d_bin) if (i_nuclide > 0) then - score = nucxs % get_xs('delayed_nu_fission', p_g, & + score = nucxs % get_xs('delayed-nu-fission', p_g, & UVW=p_uvw, dg=d) * atom_density * flux else - score = matxs % get_xs('delayed_nu_fission', p_g, & + score = matxs % get_xs('delayed-nu-fission', p_g, & UVW=p_uvw, dg=d) * flux end if @@ -1678,10 +1678,10 @@ contains end select else if (i_nuclide > 0) then - score = nucxs % get_xs('delayed_nu_fission', p_g, UVW=p_uvw) & + score = nucxs % get_xs('delayed-nu-fission', p_g, UVW=p_uvw) & * atom_density * flux else - score = matxs % get_xs('delayed_nu_fission', p_g, UVW=p_uvw) & + score = matxs % get_xs('delayed-nu-fission', p_g, UVW=p_uvw) & * flux end if end if @@ -1719,15 +1719,15 @@ contains score = p % absorb_wgt * flux if (i_nuclide > 0) then - score = score * nucxs % get_xs('decay_rate', p_g, & + score = score * nucxs % get_xs('decay rate', p_g, & UVW=p_uvw, dg=d) * & - nucxs % get_xs('delayed_nu_fission', p_g, & + nucxs % get_xs('delayed-nu-fission', p_g, & UVW=p_uvw, dg=d) / nucxs % get_xs('absorption', & p_g, UVW=p_uvw) else - score = score * matxs % get_xs('decay_rate', p_g, & + score = score * matxs % get_xs('decay rate', p_g, & UVW=p_uvw, dg=d) * & - matxs % get_xs('delayed_nu_fission', p_g, & + matxs % get_xs('delayed-nu-fission', p_g, & UVW=p_uvw, dg=d) / matxs % get_xs('absorption', & p_g, UVW=p_uvw) end if @@ -1747,13 +1747,13 @@ contains do d = 1, num_delayed_groups if (i_nuclide > 0) then score = score + p % absorb_wgt * & - nucxs % get_xs('decay_rate', p_g, UVW=p_uvw, dg=d) * & - nucxs % get_xs('delayed_nu_fission', p_g, UVW=p_uvw, & + nucxs % get_xs('decay rate', p_g, UVW=p_uvw, dg=d) * & + nucxs % get_xs('delayed-nu-fission', p_g, UVW=p_uvw, & dg=d) / nucxs % get_xs('absorption', p_g, UVW=p_uvw) else score = score + p % absorb_wgt * & - matxs % get_xs('decay_rate', p_g, UVW=p_uvw, dg=d) * & - matxs % get_xs('delayed_nu_fission', p_g, UVW=p_uvw, & + matxs % get_xs('decay rate', p_g, UVW=p_uvw, dg=d) * & + matxs % get_xs('delayed-nu-fission', p_g, UVW=p_uvw, & dg=d) / matxs % get_xs('absorption', p_g, UVW=p_uvw) end if end do @@ -1783,13 +1783,13 @@ contains if (i_nuclide > 0) then score = score + keff * atom_density * & fission_bank(n_bank - p % n_bank + k) % wgt * & - nucxs % get_xs('decay_rate', p_g, UVW=p_uvw, dg=g) * & + nucxs % get_xs('decay rate', p_g, UVW=p_uvw, dg=g) * & nucxs % get_xs('fission', p_g, UVW=p_uvw) / & matxs % get_xs('fission', p_g, UVW=p_uvw) else score = score + keff * & fission_bank(n_bank - p % n_bank + k) % wgt * & - matxs % get_xs('decay_rate', p_g, UVW=p_uvw, dg=g) + matxs % get_xs('decay rate', p_g, UVW=p_uvw, dg=g) end if ! if the delayed group filter is present, tally to corresponding @@ -1841,12 +1841,12 @@ contains d = filt % groups(d_bin) if (i_nuclide > 0) then - score = nucxs % get_xs('decay_rate', p_g, UVW=p_uvw, dg=d) * & - nucxs % get_xs('delayed_nu_fission', p_g, UVW=p_uvw, & + score = nucxs % get_xs('decay rate', p_g, UVW=p_uvw, dg=d) * & + nucxs % get_xs('delayed-nu-fission', p_g, UVW=p_uvw, & dg=d) * atom_density * flux else - score = matxs % get_xs('decay_rate', p_g, UVW=p_uvw, dg=d) * & - matxs % get_xs('delayed_nu_fission', p_g, UVW=p_uvw, & + score = matxs % get_xs('decay rate', p_g, UVW=p_uvw, dg=d) * & + matxs % get_xs('delayed-nu-fission', p_g, UVW=p_uvw, & dg=d) * flux end if @@ -1864,12 +1864,12 @@ contains do d = 1, num_delayed_groups if (i_nuclide > 0) then score = score + atom_density * flux * & - nucxs % get_xs('decay_rate', p_g, UVW=p_uvw, dg=d) * & - nucxs % get_xs('delayed_nu_fission', p_g, UVW=p_uvw, dg=d) + nucxs % get_xs('decay rate', p_g, UVW=p_uvw, dg=d) * & + nucxs % get_xs('delayed-nu-fission', p_g, UVW=p_uvw, dg=d) else score = score + flux * & - matxs % get_xs('decay_rate', p_g, UVW=p_uvw, dg=d) * & - matxs % get_xs('delayed_nu_fission', p_g, UVW=p_uvw, dg=d) + matxs % get_xs('decay rate', p_g, UVW=p_uvw, dg=d) * & + matxs % get_xs('delayed-nu-fission', p_g, UVW=p_uvw, dg=d) end if end do end if @@ -1901,19 +1901,19 @@ contains end if if (i_nuclide > 0) then score = score * atom_density * & - nucxs % get_xs('kappa_fission', p_g, UVW=p_uvw) / & + nucxs % get_xs('kappa-fission', p_g, UVW=p_uvw) / & matxs % get_xs('absorption', p_g, UVW=p_uvw) else score = score * & - matxs % get_xs('kappa_fission', p_g, UVW=p_uvw) / & + matxs % get_xs('kappa-fission', p_g, UVW=p_uvw) / & matxs % get_xs('absorption', p_g, UVW=p_uvw) end if else if (i_nuclide > 0) then - score = nucxs % get_xs('kappa_fission', p_g, UVW=p_uvw) * & + score = nucxs % get_xs('kappa-fission', p_g, UVW=p_uvw) * & atom_density * flux else - score = matxs % get_xs('kappa_fission', p_g, UVW=p_uvw) * flux + score = matxs % get_xs('kappa-fission', p_g, UVW=p_uvw) * flux end if end if