Exemplo n.º 1
0
u238 = Isotope('U-238')

# Create an artifical capture xs for hydrogen
norm_const = 0.025
h1_capture_energies = numpy.logspace(-5., 7.5, 500);
h1_capture_xs = numpy.sqrt(norm_const/h1_capture_energies) * 2.;
h1.setCaptureXS(h1_capture_energies, h1_capture_xs)

# Zero out the scatter, fission xs for U-238
energy = numpy.array([1E-7, 2e7])	        # energy bounds
xs = numpy.array([0.0])				# one group xs
u238.setMultigroupElasticXS(energy, xs)
u238.setMultigroupFissionXS(energy, xs)

py_printf('INFO', 'Plotting microscopic cross-sections...')
plotter.plotMicroXS(h1, ['capture', 'elastic', 'fission'])
plotter.plotMicroXS(u238, ['capture', 'elastic', 'fission'])

# Turn off thermal scattering for U-238
u238.neglectThermalScattering()


###############################################################################
##############################  Create Materials ##############################
###############################################################################

py_printf('INFO', 'Creating a fuel-moderator mixture material...')
mix = Material('Fuel Moderator Mix')
mix.setDensity(5., 'g/cc')
mix.addIsotope(h1, 1.0)
mix.addIsotope(u238, 1E-1)
Exemplo n.º 2
0

###############################################################################
#########################  Run Monte Carlo Simulation #########################
###############################################################################

# Run Monte Carlo simulation
geometry.runMonteCarloSimulation();


###############################################################################
############################  Process Output Data #############################
###############################################################################

py_printf('INFO', 'Plotting microscopic and macroscopic cross-sections...')
plotter.plotMicroXS(u235, ['capture', 'elastic', 'fission'])
plotter.plotMicroXS(u238, ['capture', 'elastic', 'fission'])
plotter.plotMicroXS(h1, ['capture', 'elastic', 'absorption'])
plotter.plotMicroXS(o16, ['capture', 'elastic', 'absorption'])
plotter.plotMacroXS(fuel, ['capture', 'elastic', 'fission'])
plotter.plotMacroXS(moderator, ['capture', 'elastic', 'fission'])

py_printf('INFO', 'Computing group cross-sections...')
elastic_xs = process.GroupXS(total_flux_xs, elastic_rate)
capture_xs = process.GroupXS(total_flux_xs, capture_rate)
fission_xs = process.GroupXS(total_flux_xs, fission_rate)
absorb_xs = process.GroupXS(total_flux_xs, absorb_rate)
transport_xs = process.GroupXS(total_flux_xs, transport_rate)
diffusion_coeff = process.GroupXS(total_flux_xs, diffusion_rate)
total_xs = process.GroupXS(total_flux_xs, total_rate)
Exemplo n.º 3
0
TallyBank.registerTally(tot_fiss_rate)
TallyBank.registerTally(tot_abs_rate)

###############################################################################
#########################  Run Monte Carlo Simulation #########################
###############################################################################

# Run Monte Carlo simulation
geometry.runMonteCarloSimulation()

###############################################################################
############################  Process Output Data #############################
###############################################################################

py_printf('INFO', 'Plotting microscopic and macroscopic cross-sections...')
plotter.plotMicroXS(u235, ['capture', 'elastic', 'fission'])
plotter.plotMicroXS(u238, ['capture', 'elastic', 'fission'])
plotter.plotMicroXS(h1, ['capture', 'elastic', 'absorption'])
plotter.plotMicroXS(o16, ['capture', 'elastic', 'absorption'])
plotter.plotMacroXS(fuel, ['capture', 'elastic', 'fission'])
plotter.plotMacroXS(moderator, ['capture', 'elastic', 'fission'])

py_printf('INFO', 'Computing group cross-sections...')
elastic_xs = process.GroupXS(total_flux_xs, elastic_rate)
capture_xs = process.GroupXS(total_flux_xs, capture_rate)
fission_xs = process.GroupXS(total_flux_xs, fission_rate)
absorb_xs = process.GroupXS(total_flux_xs, absorb_rate)
transport_xs = process.GroupXS(total_flux_xs, transport_rate)
diffusion_coeff = process.GroupXS(total_flux_xs, diffusion_rate)
total_xs = process.GroupXS(total_flux_xs, total_rate)