Merge branch 'mg-mode-delayed-matrix' of github.com:samuelshaner/openmc into mg-mode-delayed-matrix

This commit is contained in:
samuel shaner 2016-11-05 17:47:52 +00:00
commit c1ffdd593e
5 changed files with 21 additions and 7 deletions

View file

@ -64,6 +64,7 @@ module mgxs_header
! Fission information
logical :: fissionable ! mgxs object is fissionable?
integer :: scatter_format ! either legendre, histogram, or tabular.
integer :: num_delayed_groups ! Num delayed groups
! Caching information
integer :: index_temp ! temperature index for nuclide
@ -445,6 +446,9 @@ module mgxs_header
call mgxs_from_hdf5(this, xs_id, temperature, method, tolerance, &
temps_to_read, order_dim)
! Set the number of delayed groups
this % num_delayed_groups = delayed_groups
! Load the more specific data
do t = 1, temps_to_read % size()
associate(xs => this % xs(t))
@ -1218,6 +1222,9 @@ module mgxs_header
call mgxs_from_hdf5(this, xs_id, temperature, method, tolerance, &
temps_to_read, order_dim)
! Set the number of delayed groups
this % num_delayed_groups = delayed_groups
! Load the more specific data
do t = 1, temps_to_read % size()
associate(xs => this % xs(t))
@ -1702,7 +1709,7 @@ module mgxs_header
! If beta is zeros, raise error
if (temp_beta(1,1,1,1) == ZERO) then
call fatal_error("cannot set delayed-nu-fission with a 1D &
call fatal_error("cannot set delayed-nu-fission with a 3D &
&array if beta not provided")
end if
@ -2231,6 +2238,7 @@ module mgxs_header
this % name = trim(mat % name)
end if
! Set whether this material is fissionable
this % fissionable = mat % fissionable
! The following info we should initialize, but we dont need it nor
@ -2364,6 +2372,9 @@ module mgxs_header
call mgxs_combine(this, temps, mat, nuclides, max_order, scatter_format, &
order_dim)
! Set the number of delayed groups
this % num_delayed_groups = delayed_groups
! Create the Xs Data for each temperature
TEMP_LOOP: do t = 1, temps % size()
@ -2663,6 +2674,9 @@ module mgxs_header
call mgxs_combine(this, temps, mat, nuclides, max_order, scatter_format, &
order_dim)
! Set the number of delayed groups
this % num_delayed_groups = delayed_groups
! Get the number of each polar and azi angles and make sure all the
! NuclideAngle types have the same number of these angles
n_pol = -1
@ -3322,7 +3336,7 @@ module mgxs_header
end do
! Adjust dg in case of round off error
dg = min(dg, num_delayed_groups)
dg = min(dg, this % num_delayed_groups)
! Get the outgoing group
gout = 1
@ -3376,7 +3390,7 @@ module mgxs_header
! Get the delayed group
dg = 0
do while (xi_pd < prob_prompt)
do while (xi_pd >= prob_prompt)
dg = dg + 1
prob_prompt = prob_prompt + &
this % get_xs('delayed-nu-fission', gin, uvw=uvw, dg=dg) / &
@ -3384,7 +3398,7 @@ module mgxs_header
end do
! Adjust dg in case of round off error
dg = min(dg, num_delayed_groups)
dg = min(dg, this % num_delayed_groups)
! Get the outgoing group
gout = 1

Binary file not shown.

View file

@ -1,2 +1,2 @@
k-combined:
1.086853E+00 2.677280E-02
1.086852E+00 2.677280E-02

View file

@ -1,2 +1,2 @@
k-combined:
1.086853E+00 2.677280E-02
1.086852E+00 2.677280E-02

View file

@ -1 +1 @@
1edf0c3e5557b2f480bca714e85f4503ae25ee055fb6b9a6ebdfa917200f0a20bd31925ef66f859ff3cf3476f7a899b802bab7431f706a08f5f2a7cfa35130c1
3d2ce1b8bdd558fe9f8560e8bb91455e1fedd80a47349344399e22f5b0fac1391f1721e7f12a42bb0c458fd6c87ebf9fa38fe9539fcf69292b21cebf8e5f8989