Release notes for v0.5.0¶
Summary¶
This release adds support for OpenMC
in SaltProc
via the addition of
the DepcodeOpenMC
class
Dependency Changes¶
SaltProc
now requires the following packages:(new) → openmc
(new) → serpentTools
(formality) → pytables
pyne>=0.5.11
→ (removed)pydotplus
→pydot
New Features¶
openmc
support 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.bash
Control flow check for an
XSDIR
environment 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.pl
script (found on the Serpent wiki) to convert the MCNP.dir
style file to the Serpent.xsdata
style fileAdd
SERPENT_DATA
andSERPENT_ACELIB
variables 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.bash
into 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
-n
command line argument in favor of the newmpi_args
input parameterChanged the
-d
command line argument to-s
/--threads
.(new) →
mpi_args
Added default values for certain input parameters
Added a
zaid_convention
input parameterAdded depletion settings for OpenMC
num_depsteps
→n_depletion_steps
depcode['template_inputfile_path']
→depcode['template_input_file_path']
The
depcode['template_input_file_path']
input variable now has the following depletion-code-depentent types:str
forSerpent2
dict
ofstr
tostr
foropenmc
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:
Depcode
Added output_path parameter.
template_inputfile_path
→template_input_file_path
Removed 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_metadata
read_depcode_step_param()
→read_neutronics_parameters()
param
→neutronics_parameters
read_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_inputfile
iter_matfile
→runtime_matfile
geo_files
→geo_file_paths
DepcodeSerpent
→SerpentDepcode
Added output_path parameter.
template_inputfile_path
→template_input_file_path
Removed 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_metadata
read_depcode_step_param()
→read_neutronics_parameters()
param
→neutronics_parameters
read_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_inputfile
iter_matfile
→runtime_matfile
geo_files
→geo_file_paths
change_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
OpenMCDepcode
is aDepcode
subclass 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.py
reprocessing()
→reprocess_materials()
refill()
→refill_materials()
read_feeds_from_input()
→get_feeds()
read_processes_from_input()
→get_extraction_processes()
read_dot()
→get_extraction_process_paths()
Process
calc_rem_efficiency()
→calculate_removal_efficiency()
Reactor
dep_step_length_cumulative
→depletion_timesteps
(new) →
timestep_units
(new) →
timestep_type
(new) →
Results
New class for reading the saltproc_results.h5 file
Simulation
core_number
→ (removed)node_number
→ (removed)(new function) →
_add_missing_nuclides()
Sparger
calc_rem_efficiency()
→calculate_removal_efficiency()
Separator
calc_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: