Renaming Nuclide_* to Nuclide*

This commit is contained in:
Adam Nelson 2016-02-05 21:13:54 -05:00
parent 86d5600eb2
commit 4d27f7eab0
12 changed files with 145 additions and 145 deletions

View file

@ -54,7 +54,7 @@ contains
character(12) :: name ! name of isotope, e.g. 92235.03c
character(12) :: alias ! alias of nuclide, e.g. U-235.03c
type(Material), pointer :: mat
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
type(SAlphaBeta), pointer :: sab
type(SetChar) :: already_read
@ -265,7 +265,7 @@ contains
character(10) :: mat ! material identifier
character(70) :: comment ! comment for ACE table
character(MAX_FILE_LEN) :: filename ! path to ACE cross section library
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
type(SAlphaBeta), pointer :: sab
type(XsListing), pointer :: listing
@ -422,7 +422,7 @@ contains
!===============================================================================
subroutine read_esz(nuc, data_0K)
type(Nuclide_CE), intent(inout) :: nuc
type(NuclideCE), intent(inout) :: nuc
logical, intent(in) :: data_0K ! are we reading 0K data?
integer :: NE ! number of energy points for total and elastic cross sections
@ -510,7 +510,7 @@ contains
!===============================================================================
subroutine read_nu_data(nuc)
type(Nuclide_CE), intent(inout) :: nuc
type(NuclideCE), intent(inout) :: nuc
integer :: i ! loop index
integer :: JXS2 ! location for fission nu data
@ -714,7 +714,7 @@ contains
!===============================================================================
subroutine read_reactions(nuc)
type(Nuclide_CE), intent(inout) :: nuc
type(NuclideCE), intent(inout) :: nuc
integer :: i ! loop indices
integer :: i_fission ! index in nuc % index_fission
@ -894,7 +894,7 @@ contains
!===============================================================================
subroutine read_angular_dist(nuc)
type(Nuclide_CE), intent(inout) :: nuc
type(NuclideCE), intent(inout) :: nuc
integer :: LOCB ! location of angular distribution for given MT
integer :: NE ! number of incoming energies
@ -998,7 +998,7 @@ contains
!===============================================================================
subroutine read_energy_dist(nuc)
type(Nuclide_CE), intent(inout) :: nuc
type(NuclideCE), intent(inout) :: nuc
integer :: i ! loop index
integer :: n
@ -1386,7 +1386,7 @@ contains
!===============================================================================
subroutine read_unr_res(nuc)
type(Nuclide_CE), intent(inout) :: nuc
type(NuclideCE), intent(inout) :: nuc
integer :: JXS23 ! location of URR data
integer :: lc ! locator
@ -1474,7 +1474,7 @@ contains
!===============================================================================
subroutine generate_nu_fission(nuc)
type(Nuclide_CE), intent(inout) :: nuc
type(NuclideCE), intent(inout) :: nuc
integer :: i ! index on nuclide energy grid
real(8) :: E ! energy

View file

@ -148,7 +148,7 @@ contains
integer :: i_low ! lower logarithmic mapping index
integer :: i_high ! upper logarithmic mapping index
real(8) :: f ! interp factor on nuclide energy grid
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
type(Material), pointer :: mat
! Set pointer to nuclide and material
@ -367,7 +367,7 @@ contains
real(8) :: inelastic ! inelastic cross section
logical :: same_nuc ! do we know the xs for this nuclide at this energy?
type(UrrData), pointer :: urr
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
micro_xs(i_nuclide) % use_ptable = .true.
@ -534,7 +534,7 @@ contains
pure function elastic_xs_0K(E, nuc) result(xs_out)
real(8), intent(in) :: E ! trial energy
type(Nuclide_CE), intent(in) :: nuc ! target nuclide at temperature
type(NuclideCE), intent(in) :: nuc ! target nuclide at temperature
real(8) :: xs_out ! 0K xs at trial energy
integer :: i_grid ! index on nuclide energy grid

View file

@ -27,7 +27,7 @@ contains
integer :: i ! index in nuclides array
integer :: j ! index in materials array
type(ListReal) :: list
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
type(Material), pointer :: mat
call write_message("Creating unionized energy grid...", 5)
@ -70,7 +70,7 @@ contains
real(8) :: E_max ! Maximum energy in MeV
real(8) :: E_min ! Minimum energy in MeV
real(8), allocatable :: umesh(:) ! Equally log-spaced energy grid
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
! Set minimum/maximum energies
E_max = energy_max_neutron
@ -179,7 +179,7 @@ contains
integer :: index_e ! index on union energy grid
real(8) :: union_energy ! energy on union grid
real(8) :: energy ! energy on nuclide grid
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
type(Material), pointer :: mat
do k = 1, n_materials

View file

@ -1,6 +1,6 @@
module fission
use nuclide_header, only: Nuclide_CE
use nuclide_header, only: NuclideCE
use constants
use error, only: fatal_error
use interpolation, only: interpolate_tab1
@ -16,7 +16,7 @@ contains
!===============================================================================
pure function nu_total(nuc, E) result(nu)
type(Nuclide_CE), intent(in) :: nuc ! nuclide from which to find nu
type(NuclideCE), intent(in) :: nuc ! nuclide from which to find nu
real(8), intent(in) :: E ! energy of incoming neutron
real(8) :: nu ! number of total neutrons emitted per fission
@ -49,7 +49,7 @@ contains
!===============================================================================
pure function nu_prompt(nuc, E) result(nu)
type(Nuclide_CE), intent(in) :: nuc ! nuclide from which to find nu
type(NuclideCE), intent(in) :: nuc ! nuclide from which to find nu
real(8), intent(in) :: E ! energy of incoming neutron
real(8) :: nu ! number of prompt neutrons emitted per fission
@ -86,7 +86,7 @@ contains
!===============================================================================
pure function nu_delayed(nuc, E) result(nu)
type(Nuclide_CE), intent(in) :: nuc ! nuclide from which to find nu
type(NuclideCE), intent(in) :: nuc ! nuclide from which to find nu
real(8), intent(in) :: E ! energy of incoming neutron
real(8) :: nu ! number of delayed neutrons emitted per fission
@ -109,7 +109,7 @@ contains
!===============================================================================
pure function yield_delayed(nuc, E, g) result(yield)
type(Nuclide_CE), intent(in) :: nuc ! nuclide from which to find nu
type(NuclideCE), intent(in) :: nuc ! nuclide from which to find nu
real(8), intent(in) :: E ! energy of incoming neutron
real(8) :: yield ! delayed neutron precursor yield
integer, intent(in) :: g ! the delayed neutron precursor group

View file

@ -86,7 +86,7 @@ module global
! CONTINUOUS-ENERGY CROSS SECTION RELATED VARIABLES
! Cross section arrays
type(Nuclide_CE), allocatable, target :: nuclides(:) ! Nuclide cross-sections
type(NuclideCE), allocatable, target :: nuclides(:) ! Nuclide cross-sections
type(SAlphaBeta), allocatable, target :: sab_tables(:) ! S(a,b) tables
integer :: n_sab_tables ! Number of S(a,b) thermal scattering tables

View file

@ -16,7 +16,7 @@ module initialize
hdf5_tallyresult_t, hdf5_integer8_t
use input_xml, only: read_input_xml, cells_in_univ_dict, read_plots_xml
use material_header, only: Material
use mgxs_data, only: read_mgxs, same_nuclide_mg_list, create_macro_xs
use mgxs_data, only: read_mgxs, same_NuclideMG_list, create_macro_xs
use output, only: title, header, print_version, write_message, &
print_usage, write_xs_summary, print_plot
use random_lcg, only: initialize_prng
@ -126,7 +126,7 @@ contains
if (run_CE) then
call same_nuclide_list()
else
call same_nuclide_mg_list()
call same_NuclideMG_list()
end if
! Construct information needed for nuclear data

View file

@ -6,7 +6,7 @@ module macroxs
use material_header, only: Material
use math
use nuclide_header, only: find_angle, MaterialMacroXS, NuclideMicroXS, &
Nuclide_MG, NuclideMGContainer
NuclideMG, NuclideMGContainer
use random_lcg, only: prn
use scattdata_header
use search

View file

@ -135,7 +135,7 @@ contains
integer :: i ! loop index over nuclides
integer :: gin, gout ! group indices
real(8) :: atom_density ! atom density of a nuclide
! class(Nuclide_Base), pointer :: nuc ! current nuclide
! class(NuclideBase), pointer :: nuc ! current nuclide
integer :: imu
real(8) :: norm
integer :: mat_max_order, order, l
@ -239,7 +239,7 @@ contains
! Perform our operations which depend upon the type
select type(nuc => nuclides(mat % nuclide(i)) % obj)
type is (Nuclide_Iso)
type is (NuclideIso)
! Add contributions to total, absorption, and fission data (if necessary)
this % total = this % total + atom_density * nuc % total
@ -305,9 +305,9 @@ contains
nuc % mult(gout,gin)
end do
end do
type is (Nuclide_Angle)
type is (NuclideAngle)
error_code = 1
error_text = "Invalid Passing of Nuclide_Angle to MacroXS_Iso Object"
error_text = "Invalid Passing of NuclideAngle to MacroXS_Iso Object"
return
end select
end do
@ -393,12 +393,12 @@ contains
error_text = ''
! Get the number of each polar and azi angles and make sure all the
! Nuclide_Angle types have the same number of these angles
! NuclideAngle types have the same number of these angles
npol = -1
nazi = -1
do i = 1, mat % n_nuclides
select type(nuc => nuclides(mat % nuclide(i)) % obj)
type is (Nuclide_Angle)
type is (NuclideAngle)
if (npol == -1) then
npol = nuc % Npol
nazi = nuc % Nazi
@ -522,11 +522,11 @@ contains
! Perform our operations which depend upon the type
select type(nuc => nuclides(mat % nuclide(i)) % obj)
type is (Nuclide_Iso)
type is (NuclideIso)
error_code = 1
error_text = "Invalid Passing of Nuclide_Iso to MacroXS_Angle Object"
error_text = "Invalid Passing of NuclideIso to MacroXS_Angle Object"
return
type is (Nuclide_Angle)
type is (NuclideAngle)
! Add contributions to total, absorption, and fission data (if necessary)
this % total = this % total + atom_density * nuc % total
this % absorption = this % absorption + &

View file

@ -119,13 +119,13 @@ contains
! Now allocate accordingly
select case(representation)
case(MGXS_ISOTROPIC)
allocate(Nuclide_Iso :: nuclides_MG(i_nuclide) % obj)
allocate(NuclideIso :: nuclides_MG(i_nuclide) % obj)
case(MGXS_ANGLE)
allocate(Nuclide_Angle :: nuclides_MG(i_nuclide) % obj)
allocate(NuclideAngle :: nuclides_MG(i_nuclide) % obj)
end select
! Now read in the data specific to the type we just declared
call nuclide_mg_init(nuclides_MG(i_nuclide) % obj, node_xsdata, &
call NuclideMG_init(nuclides_MG(i_nuclide) % obj, node_xsdata, &
energy_groups, get_kfiss, get_fiss, error_code, &
error_text)
@ -175,7 +175,7 @@ contains
! in multiple entries in the nuclides array for a single zaid number.
!===============================================================================
subroutine same_nuclide_mg_list()
subroutine same_NuclideMG_list()
integer :: i ! index in nuclides array
integer :: j ! index in nuclides array
@ -188,15 +188,15 @@ contains
end do
end do
end subroutine same_nuclide_mg_list
end subroutine same_NuclideMG_list
!===============================================================================
! NUCLIDE_*_INIT reads in the data from the XML file, as already accessed
!===============================================================================
subroutine nuclide_mg_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
subroutine NuclideMG_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
error_code, error_text)
class(Nuclide_MG), intent(inout) :: this ! Working Object
class(NuclideMG), intent(inout) :: this ! Working Object
type(Node), pointer, intent(in) :: node_xsdata ! Data from data.xml
integer, intent(in) :: groups ! Number of Energy groups
logical, intent(in) :: get_kfiss ! Need Kappa-Fission?
@ -296,19 +296,19 @@ contains
end if
select type(this)
type is (Nuclide_Iso)
call nuclide_iso_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
type is (NuclideIso)
call NuclideIso_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
error_code, error_text)
type is (Nuclide_Angle)
call nuclide_angle_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
type is (NuclideAngle)
call NuclideAngle_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
error_code, error_text)
end select
end subroutine nuclide_mg_init
end subroutine NuclideMG_init
subroutine nuclide_iso_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
subroutine NuclideIso_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
error_code, error_text)
class(Nuclide_Iso), intent(inout) :: this ! Working Object
class(NuclideIso), intent(inout) :: this ! Working Object
type(Node), pointer, intent(in) :: node_xsdata ! Data from data.xml
integer, intent(in) :: groups ! Number of Energy groups
logical, intent(in) :: get_kfiss ! Need Kappa-Fission?
@ -435,11 +435,11 @@ contains
this % mult = ONE
end if
end subroutine nuclide_iso_init
end subroutine NuclideIso_init
subroutine nuclide_angle_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
subroutine NuclideAngle_init(this, node_xsdata, groups, get_kfiss, get_fiss, &
error_code, error_text)
class(Nuclide_Angle), intent(inout) :: this ! Working Object
class(NuclideAngle), intent(inout) :: this ! Working Object
type(Node), pointer, intent(in) :: node_xsdata ! Data from data.xml
integer, intent(in) :: groups ! Number of Energy groups
logical, intent(in) :: get_kfiss ! Need Kappa-Fission?
@ -627,7 +627,7 @@ contains
this % mult = ONE
end if
end subroutine nuclide_angle_init
end subroutine NuclideAngle_init
!===============================================================================
@ -675,9 +675,9 @@ contains
! how we allocate the scatter object within macroxs
legendre_mu_points = nuclides_MG(mat % nuclide(1)) % obj % legendre_mu_points
select type(nuc => nuclides_MG(mat % nuclide(1)) % obj)
type is (Nuclide_Iso)
type is (NuclideIso)
representation = MGXS_ISOTROPIC
type is (Nuclide_Angle)
type is (NuclideAngle)
representation = MGXS_ANGLE
end select
scatt_type = nuclides_MG(mat % nuclide(1)) % obj % scatt_type

View file

@ -12,12 +12,12 @@ module nuclide_header
implicit none
!===============================================================================
! NUCLIDE_BASE contains the base nuclidic data for a nuclide, which does not depend
! NuclideBase contains the base nuclidic data for a nuclide, which does not depend
! upon how the nuclear data is represented (i.e., CE, or any variant of MG).
! The extended types, Nuclide_CE and Nuclide_MG deal with the rest
! The extended types, NuclideCE and NuclideMG deal with the rest
!===============================================================================
type, abstract :: Nuclide_Base
type, abstract :: NuclideBase
character(12) :: name ! name of nuclide, e.g. 92235.03c
integer :: zaid ! Z and A identifier, e.g. 92235
real(8) :: awr ! Atomic Weight Ratio
@ -31,26 +31,26 @@ module nuclide_header
logical :: fissionable ! nuclide is fissionable?
contains
procedure(nuclide_base_clear_), deferred, pass :: clear ! Deallocates Nuclide
procedure(print_nuclide_), deferred, pass :: print ! Writes nuclide info
end type Nuclide_Base
procedure(nuclidebase_clear_), deferred, pass :: clear ! Deallocates Nuclide
procedure(print_nuclide_), deferred, pass :: print ! Writes nuclide info
end type NuclideBase
abstract interface
subroutine nuclide_base_clear_(this)
import Nuclide_Base
class(Nuclide_Base), intent(inout) :: this
end subroutine nuclide_base_clear_
subroutine nuclidebase_clear_(this)
import NuclideBase
class(NuclideBase), intent(inout) :: this
end subroutine nuclidebase_clear_
subroutine print_nuclide_(this, unit)
import Nuclide_Base
class(Nuclide_Base),intent(in) :: this
import NuclideBase
class(NuclideBase),intent(in) :: this
integer, optional, intent(in) :: unit
end subroutine print_nuclide_
end interface
type, extends(Nuclide_Base) :: Nuclide_CE
type, extends(NuclideBase) :: NuclideCE
! Energy grid information
integer :: n_grid ! # of nuclide grid points
integer, allocatable :: grid_index(:) ! log grid mapping indices
@ -108,29 +108,29 @@ module nuclide_header
! Type-Bound procedures
contains
procedure, pass :: clear => nuclide_ce_clear
procedure, pass :: print => nuclide_ce_print
end type Nuclide_CE
procedure, pass :: clear => nuclidece_clear
procedure, pass :: print => nuclidece_print
end type NuclideCE
type, abstract, extends(Nuclide_Base) :: Nuclide_MG
type, abstract, extends(NuclideBase) :: NuclideMG
! Scattering Order Information
integer :: order ! Order of data (Scattering for Nuclide_Iso,
! Number of angles for all in Nuclide_Angle)
integer :: order ! Order of data (Scattering for NuclideIso,
! Number of angles for all in NuclideAngle)
integer :: scatt_type ! either legendre, histogram, or tabular.
integer :: legendre_mu_points ! Number of tabular points to use to represent
! Legendre distribs, -1 if sample with the
! Legendres themselves
! Type-Bound procedures
contains
procedure(nuclide_mg_get_xs_), deferred, pass :: get_xs ! Get the xs
procedure(nuclide_calc_f_), deferred, pass :: calc_f ! Calculates f, given mu
end type Nuclide_MG
procedure(nuclidemg_get_xs), deferred, pass :: get_xs ! Get the xs
procedure(nuclide_calc_f_), deferred, pass :: calc_f ! Calculates f, given mu
end type NuclideMG
abstract interface
function nuclide_mg_get_xs_(this, g, xstype, gout, uvw, mu, i_azi, i_pol) &
function nuclidemg_get_xs(this, g, xstype, gout, uvw, mu, i_azi, i_pol) &
result(xs)
import Nuclide_MG
class(Nuclide_MG), intent(in) :: this
import NuclideMG
class(NuclideMG), intent(in) :: this
integer, intent(in) :: g ! Incoming Energy group
character(*), intent(in) :: xstype ! Cross Section Type
integer, optional, intent(in) :: gout ! Outgoing Group
@ -139,11 +139,11 @@ module nuclide_header
integer, optional, intent(in) :: i_azi ! Azimuthal Index
integer, optional, intent(in) :: i_pol ! Polar Index
real(8) :: xs ! Resultant xs
end function nuclide_mg_get_xs_
end function nuclidemg_get_xs
pure function nuclide_calc_f_(this, gin, gout, mu, uvw, i_azi, i_pol) result(f)
import Nuclide_MG
class(Nuclide_MG), intent(in) :: this
import NuclideMG
class(NuclideMG), intent(in) :: this
integer, intent(in) :: gin ! Incoming Energy Group
integer, intent(in) :: gout ! Outgoing Energy Group
real(8), intent(in) :: mu ! Angle of interest
@ -156,11 +156,11 @@ module nuclide_header
end interface
!===============================================================================
! NUCLIDE_ISO contains the base MGXS data for a nuclide specifically for
! NuclideIso contains the base MGXS data for a nuclide specifically for
! isotropically weighted MGXS
!===============================================================================
type, extends(Nuclide_MG) :: Nuclide_Iso
type, extends(NuclideMG) :: NuclideIso
! Microscopic cross sections
real(8), allocatable :: total(:) ! total cross section
@ -174,18 +174,18 @@ module nuclide_header
! Type-Bound procedures
contains
procedure, pass :: clear => nuclide_iso_clear ! Deallocates Nuclide
procedure, pass :: print => nuclide_iso_print ! Writes nuclide info
procedure, pass :: get_xs => nuclide_iso_get_xs ! Gets Size of Data w/in Object
procedure, pass :: calc_f => nuclide_mg_iso_calc_f ! Calcs f given mu
end type Nuclide_Iso
procedure, pass :: clear => nuclideiso_clear ! Deallocates Nuclide
procedure, pass :: print => nuclideiso_print ! Writes nuclide info
procedure, pass :: get_xs => nuclideiso_get_xs ! Gets Size of Data w/in Object
procedure, pass :: calc_f => nuclideiso_calc_f ! Calcs f given mu
end type NuclideIso
!===============================================================================
! NUCLIDE_ANGLE contains the base MGXS data for a nuclide specifically for
! NuclideAngle contains the base MGXS data for a nuclide specifically for
! explicit angle-dependent weighted MGXS
!===============================================================================
type, extends(Nuclide_MG) :: Nuclide_Angle
type, extends(NuclideMG) :: NuclideAngle
! Microscopic cross sections. Dimensions are: (Npol, Nazi, Nl, Ng, Ng)
real(8), allocatable :: total(:,:,:) ! total cross section
@ -205,23 +205,23 @@ module nuclide_header
! Type-Bound procedures
contains
procedure, pass :: clear => nuclide_angle_clear ! Deallocates Nuclide
procedure, pass :: print => nuclide_angle_print ! Gets Size of Data w/in Object
procedure, pass :: get_xs => nuclide_angle_get_xs ! Gets Size of Data w/in Object
procedure, pass :: calc_f => nuclide_mg_angle_calc_f ! Calcs f given mu
end type Nuclide_Angle
procedure, pass :: clear => nuclideangle_clear ! Deallocates Nuclide
procedure, pass :: print => nuclideangle_print ! Gets Size of Data w/in Object
procedure, pass :: get_xs => nuclideangle_get_xs ! Gets Size of Data w/in Object
procedure, pass :: calc_f => nuclideangle_calc_f ! Calcs f given mu
end type NuclideAngle
!===============================================================================
! NUCLIDEMGCONTAINER pointer array for storing Nuclides
!===============================================================================
type NuclideMGContainer
class(Nuclide_MG), pointer :: obj
class(NuclideMG), pointer :: obj
end type NuclideMGContainer
!===============================================================================
! NUCLIDE0K temporarily contains all 0K cross section data and other parameters
! needed to treat resonance scattering before transferring them to NUCLIDE_CE
! needed to treat resonance scattering before transferring them to NuclideCE
!===============================================================================
type Nuclide0K
@ -297,13 +297,13 @@ module nuclide_header
contains
!===============================================================================
! NUCLIDE_*_CLEAR resets and deallocates data in Nuclide_Base, Nuclide_Iso
! or Nuclide_Angle
! NUCLIDE_*_CLEAR resets and deallocates data in NuclideBase, NuclideIso
! or NuclideAngle
!===============================================================================
subroutine nuclide_ce_clear(this)
subroutine nuclidece_clear(this)
class(Nuclide_CE), intent(inout) :: this ! The Nuclide object to clear
class(NuclideCE), intent(inout) :: this ! The Nuclide object to clear
integer :: i ! Loop counter
@ -317,11 +317,11 @@ module nuclide_header
call this % reaction_index % clear()
end subroutine nuclide_ce_clear
end subroutine nuclidece_clear
subroutine nuclide_iso_clear(this)
subroutine nuclideiso_clear(this)
class(Nuclide_Iso), intent(inout) :: this ! The Nuclide object to clear
class(NuclideIso), intent(inout) :: this ! The Nuclide object to clear
! Cler the extended information
if (allocated(this % total)) then
@ -340,11 +340,11 @@ module nuclide_header
deallocate(this % mult)
end if
end subroutine nuclide_iso_clear
end subroutine nuclideiso_clear
subroutine nuclide_angle_clear(this)
subroutine nuclideangle_clear(this)
class(Nuclide_Angle), intent(inout) :: this ! The Nuclide object to clear
class(NuclideAngle), intent(inout) :: this ! The Nuclide object to clear
! Cler the extended information
if (allocated(this % total)) then
@ -370,15 +370,15 @@ module nuclide_header
deallocate(this % mult)
end if
end subroutine nuclide_angle_clear
end subroutine nuclideangle_clear
!===============================================================================
! PRINT_NUCLIDE_* displays information about a continuous-energy neutron
! cross_section table and its reactions and secondary angle/energy distributions
!===============================================================================
subroutine nuclide_ce_print(this, unit)
class(Nuclide_CE), intent(in) :: this
subroutine nuclidece_print(this, unit)
class(NuclideCE), intent(in) :: this
integer, intent(in), optional :: unit
integer :: i ! loop index over nuclides
@ -451,10 +451,10 @@ module nuclide_header
! Blank line at end of nuclide
write(unit_,*)
end subroutine nuclide_ce_print
end subroutine nuclidece_print
subroutine nuclide_mg_print(this, unit_)
class(Nuclide_MG), intent(in) :: this
subroutine nuclidemg_print(this, unit_)
class(NuclideMG), intent(in) :: this
integer, intent(in) :: unit_
character(MAX_LINE_LEN) :: temp_str
@ -484,11 +484,11 @@ module nuclide_header
end if
write(unit_,*) ' Fissionable = ', this % fissionable
end subroutine nuclide_mg_print
end subroutine nuclidemg_print
subroutine nuclide_iso_print(this, unit)
subroutine nuclideiso_print(this, unit)
class(Nuclide_Iso), intent(in) :: this
class(NuclideIso), intent(in) :: this
integer, optional, intent(in) :: unit
integer :: unit_ ! unit to write to
@ -502,7 +502,7 @@ module nuclide_header
end if
! Write Basic Nuclide Information
call nuclide_mg_print(this, unit_)
call nuclidemg_print(this, unit_)
! Determine size of mgxs and scattering matrices
size_scattmat = (size(this % scatter) + size(this % mult)) * 8
@ -524,11 +524,11 @@ module nuclide_header
! Blank line at end of nuclide
write(unit_,*)
end subroutine nuclide_iso_print
end subroutine nuclideiso_print
subroutine nuclide_angle_print(this, unit)
subroutine nuclideangle_print(this, unit)
class(Nuclide_Angle), intent(in) :: this
class(NuclideAngle), intent(in) :: this
integer, optional, intent(in) :: unit
integer :: unit_ ! unit to write to
@ -542,7 +542,7 @@ module nuclide_header
end if
! Write Basic Nuclide Information
call nuclide_mg_print(this, unit_)
call nuclidemg_print(this, unit_)
write(unit_,*) ' # of Polar Angles = ' // trim(to_str(this % Npol))
write(unit_,*) ' # of Azimuthal Angles = ' // trim(to_str(this % Nazi))
@ -567,15 +567,15 @@ module nuclide_header
write(unit_,*)
end subroutine nuclide_angle_print
end subroutine nuclideangle_print
!===============================================================================
! NUCLIDE_*_GET_XS Returns the requested data type
!===============================================================================
function nuclide_iso_get_xs(this, g, xstype, gout, uvw, mu, i_azi, i_pol) &
function nuclideiso_get_xs(this, g, xstype, gout, uvw, mu, i_azi, i_pol) &
result(xs)
class(Nuclide_Iso), intent(in) :: this
class(NuclideIso), intent(in) :: this
integer, intent(in) :: g ! Incoming Energy group
character(*), intent(in) :: xstype ! Cross Section Type
integer, optional, intent(in) :: gout ! Outgoing Group
@ -622,11 +622,11 @@ module nuclide_header
xs = this % total(g) - this % absorption(g)
end select
end if
end function nuclide_iso_get_xs
end function nuclideiso_get_xs
function nuclide_angle_get_xs(this, g, xstype, gout, uvw, mu, i_azi, i_pol) &
function nuclideangle_get_xs(this, g, xstype, gout, uvw, mu, i_azi, i_pol) &
result(xs)
class(Nuclide_Angle), intent(in) :: this
class(NuclideAngle), intent(in) :: this
integer, intent(in) :: g ! Incoming Energy group
character(*), intent(in) :: xstype ! Cross Section Type
integer, optional, intent(in) :: gout ! Outgoing Group
@ -685,16 +685,16 @@ module nuclide_header
end select
end if
end function nuclide_angle_get_xs
end function nuclideangle_get_xs
!===============================================================================
! NUCLIDE_*_CALC_F Finds the value of f(mu), the scattering angle probability,
! given mu
!===============================================================================
pure function nuclide_mg_iso_calc_f(this, gin, gout, mu, uvw, i_azi, i_pol) &
pure function nuclideiso_calc_f(this, gin, gout, mu, uvw, i_azi, i_pol) &
result(f)
class(Nuclide_Iso), intent(in) :: this
class(NuclideIso), intent(in) :: this
integer, intent(in) :: gin ! Incoming Energy Group
integer, intent(in) :: gout ! Outgoing Energy Group
real(8), intent(in) :: mu ! Angle of interest
@ -737,11 +737,11 @@ module nuclide_header
end if
end function nuclide_mg_iso_calc_f
end function nuclideiso_calc_f
pure function nuclide_mg_angle_calc_f(this, gin, gout, mu, uvw, i_azi, &
pure function nuclideangle_calc_f(this, gin, gout, mu, uvw, i_azi, &
i_pol) result(f)
class(Nuclide_Angle), intent(in) :: this
class(NuclideAngle), intent(in) :: this
integer, intent(in) :: gin ! Incoming Energy Group
integer, intent(in) :: gout ! Outgoing Energy Group
real(8), intent(in) :: mu ! Angle of interest
@ -791,7 +791,7 @@ module nuclide_header
end if
end function nuclide_mg_angle_calc_f
end function nuclideangle_calc_f
!===============================================================================
! find_angle finds the closest angle on the data grid and returns that index

View file

@ -350,10 +350,10 @@ contains
call sab_tables(i) % print(unit=unit_xs)
end do SAB_TABLES_LOOP
else
NUCLIDE_MG_LOOP: do i = 1, n_nuclides_total
NuclideMG_LOOP: do i = 1, n_nuclides_total
! Print information about nuclide
call nuclides_mg(i) % obj % print(unit=unit_xs)
end do NUCLIDE_MG_LOOP
end do NuclideMG_LOOP
end if
! Close cross section summary file

View file

@ -75,7 +75,7 @@ contains
integer :: i_nuclide ! index in nuclides array
integer :: i_nuc_mat ! index in material's nuclides array
integer :: i_reaction ! index in nuc % reactions array
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
call sample_nuclide(p, 'total ', i_nuclide, i_nuc_mat)
@ -198,7 +198,7 @@ contains
real(8) :: f
real(8) :: prob
real(8) :: cutoff
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
! Get pointer to nuclide
nuc => nuclides(i_nuclide)
@ -296,7 +296,7 @@ contains
real(8) :: uvw_new(3) ! outgoing uvw for iso-in-lab scattering
real(8) :: uvw_old(3) ! incoming uvw for iso-in-lab scattering
real(8) :: phi ! azimuthal angle for iso-in-lab scattering
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
! copy incoming direction
uvw_old(:) = p % coord(1) % uvw
@ -411,7 +411,7 @@ contains
real(8) :: v_cm(3) ! velocity of center-of-mass
real(8) :: v_t(3) ! velocity of target nucleus
real(8) :: uvw_cm(3) ! directional cosines in center-of-mass
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
! get pointer to nuclide
nuc => nuclides(i_nuclide)
@ -737,7 +737,7 @@ contains
!===============================================================================
subroutine sample_target_velocity(nuc, v_target, E, uvw, v_neut, wgt, xs_eff)
type(Nuclide_CE), intent(in) :: nuc ! target nuclide at temperature T
type(NuclideCE), intent(in) :: nuc ! target nuclide at temperature T
real(8), intent(out) :: v_target(3) ! target velocity
real(8), intent(in) :: v_neut(3) ! neutron velocity
real(8), intent(in) :: E ! particle energy
@ -982,7 +982,7 @@ contains
!===============================================================================
subroutine sample_cxs_target_velocity(nuc, v_target, E, uvw)
type(Nuclide_CE), intent(in) :: nuc ! target nuclide at temperature
type(NuclideCE), intent(in) :: nuc ! target nuclide at temperature
real(8), intent(out) :: v_target(3)
real(8), intent(in) :: E
real(8), intent(in) :: uvw(3)
@ -1070,7 +1070,7 @@ contains
real(8) :: phi ! fission neutron azimuthal angle
real(8) :: weight ! weight adjustment for ufs method
logical :: in_mesh ! source site in ufs mesh?
type(Nuclide_CE), pointer :: nuc
type(NuclideCE), pointer :: nuc
! Get pointers
nuc => nuclides(i_nuclide)
@ -1180,7 +1180,7 @@ contains
function sample_fission_energy(nuc, rxn, p) result(E_out)
type(Nuclide_CE), intent(in) :: nuc
type(NuclideCE), intent(in) :: nuc
type(Reaction), intent(in) :: rxn
type(Particle), intent(inout) :: p ! Particle causing fission
real(8) :: E_out ! outgoing energy of fission neutron
@ -1293,7 +1293,7 @@ contains
!===============================================================================
subroutine inelastic_scatter(nuc, rxn, p)
type(Nuclide_CE), intent(in) :: nuc
type(NuclideCE), intent(in) :: nuc
type(Reaction), intent(in) :: rxn
type(Particle), intent(inout) :: p