Release notes for v0.5.0¶
Summary¶
This release adds support for OpenMC in SaltProc via the addition of
the DepcodeOpenMC class
Dependency Changes¶
SaltProcnow requires the following packages:(new) → openmc
(new) → serpentTools
(formality) → pytables
pyne>=0.5.11→ (removed)pydotplus→pydot
New Features¶
openmcsupport via DepcodeOpenMCOpenMC compatible MSBR model.
Bug Fixes¶
Fix bug where Serpent2 material temperatures are hardcoded to 900K in the JEFF 3.1.2 library format. by @yardasol
Fix bug where using MCNP-style ZAID codes results in an error in various SerpentDepcode functions by @yardasol
Fix bug where only one array of OpenMC Materials are stored in results by @yardasol
Script Changes¶
Added convenience features to
process_j312.bashControl flow check for an
XSDIRenvironment variable set by the user. This variable should point to the location where the user would like the library to be installedCommands to download and run the
xsdirconvert.plscript (found on the Serpent wiki) to convert the MCNP.dirstyle file to the Serpent.xsdatastyle fileAdd
SERPENT_DATAandSERPENT_ACELIBvariables to.bashrc
A new script,
scripts/ci/openmc-xs.bash, that downloads the OpenMC HDF5 cross section library.A new script,
download_endfb71.bash, that downloads the ENDF/B 7.1 cross section library – including thermal scattering, decay, and fission yield data – in ACE format.A new script,
process_endfb71_to_openmc.bash, that converts the library created bydownload_endfb71.bashinto an OpenMC-usable HDF5 format. Requires OpenMC to be installed from source to use.A new script
openmc_msbr_model.py, that creates an OpenMC-usable MSBR model based on the Serpent MSBR model.
Python API Changes¶
The test suite has been overhauled and moved to the tests/ directory. The test suite is no longer part of the saltproc package.
Input file format changes:
Removed the
-ncommand line argument in favor of the newmpi_argsinput parameterChanged the
-dcommand line argument to-s/--threads.(new) →
mpi_argsAdded default values for certain input parameters
Added a
zaid_conventioninput parameterAdded depletion settings for OpenMC
num_depsteps→n_depletion_stepsdepcode['template_inputfile_path']→depcode['template_input_file_path']The
depcode['template_input_file_path']input variable now has the following depletion-code-depentent types:strforSerpent2dictofstrtostrforopenmc
depcode['iter_inputfile']→ (removed)depcode['iter_matfile']→ (removed)depcode['npop']→ (removed)depcode['active_cycles']→ (removed)depcode['inactive_cycles']→ (removed)reactor['dep_step_length_cumulative']→depletion_timesteps(new) →
reactor['timestep_type'](new) →
reactor['timestep_units']
Note
Variables that have been removed from the saltproc input file
remain part of the Depcode classes as attributes. Their use is unchanged, save for the fact they can no
longer be initialized by the user from the SaltProc input file.
New/changed classes, methods, and attributes:
DepcodeAdded output_path parameter.
template_inputfile_path→template_input_file_pathRemoved default values for geo_files
Changed iter_inputfile, iter_matfile to be attributes instead of parameters
Changed npop, active_cycles, inactive_cycles to be attributes instead of parameters
read_depcode_info()→read_step_metadata()sim_info→step_metadataread_depcode_step_param()→read_neutronics_parameters()param→neutronics_parametersread_dep_comp()→read_depleted_materials()run_depcode()→run_depletion_step()write_mat_file()→update_depletable_materials()write_depcode_input()→write_runtime_input()iter_inputfile→runtime_inputfileiter_matfile→runtime_matfilegeo_files→geo_file_paths
DepcodeSerpent→SerpentDepcodeAdded output_path parameter.
template_inputfile_path→template_input_file_pathRemoved default values for exec_path, template_input_file_path, geo_files
Changed iter_inputfile, iter_matfile to be attributes instead of parameters
Changed npop, active_cycles, inactive_cycles to be attributes instead of parameters
read_depcode_info()→read_depletion_step_metadata()sim_info→step_metadataread_depcode_step_param()→read_neutronics_parameters()param→neutronics_parametersread_dep_comp()→read_depleted_materials()create_nuclide_name_map_zam_to_serpent()→map_nuclide_code_zam_to_serpent()run_depcode()→run_depletion_step()write_mat_file()→update_depletable_materials()get_nuc_name()→convert_nuclide_code_to_name()convert_nuclide_name_serpent_to_zam()→convert_nuclide_code_to_zam()create_iter_matfile()→create_runtime_matfile()replace_burnup_parameters()→set_power_load()write_depcode_input()→write_runtime_input()iter_inputfile→runtime_inputfileiter_matfile→runtime_matfilegeo_files→geo_file_pathschange_sim_par()→ (deleted)(new function) →
get_neutron_settings()(new function) →
_get_burnable_materials_file()(new function) →
_get_burnable_material_card_data()(new function) →
resolve_include_paths()(new function) →
_convert_name_to_nuccode()(new parameter) →
zaid_convention
OpenMCDepcodeis aDepcodesubclass that interfaces withopenmc. This class implements the following functions -run_depletion_step()-write_saltproc_openmc_tallies()-convert_nuclide_code_to_name()-switch_to_next_geometry()-write_runtime_input()-write_depletion_settings()-write_saltproc_openmc_tallies()app.pyreprocessing()→reprocess_materials()refill()→refill_materials()read_feeds_from_input()→get_feeds()read_processes_from_input()→get_extraction_processes()read_dot()→get_extraction_process_paths()
Processcalc_rem_efficiency()→calculate_removal_efficiency()
Reactordep_step_length_cumulative→depletion_timesteps(new) →
timestep_units(new) →
timestep_type
(new) →
ResultsNew class for reading the saltproc_results.h5 file
Simulationcore_number→ (removed)node_number→ (removed)(new function) →
_add_missing_nuclides()
Spargercalc_rem_efficiency()→calculate_removal_efficiency()
Separatorcalc_rem_efficiency()→calculate_removal_efficiency()
Contributors¶
The following people contributed code to this release of SaltProc:
Reviewers¶
The following people reviewed code for this release of SaltProc: