diff --git a/src/reaction_product.cpp b/src/reaction_product.cpp index 495e4dfa50..6a3b231ccc 100644 --- a/src/reaction_product.cpp +++ b/src/reaction_product.cpp @@ -3,7 +3,10 @@ #include // for unique_ptr #include // for string +#include + #include "openmc/endf.h" +#include "openmc/error.h" #include "openmc/hdf5_interface.h" #include "openmc/particle.h" #include "openmc/random_lcg.h" @@ -36,8 +39,14 @@ ReactionProduct::ReactionProduct(hid_t group) } // Read decay rate for delayed emission - if (emission_mode_ == EmissionMode::delayed) - read_attribute(group, "decay_rate", decay_rate_); + if (emission_mode_ == EmissionMode::delayed) { + if (attribute_exists(group, "decay_rate")) { + read_attribute(group, "decay_rate", decay_rate_); + } else if (particle_ == Particle::Type::neutron) { + warning(fmt::format("Decay rate doesn't exist for delayed neutron " + "emission ({}).", object_name(group))); + } + } // Read secondary particle yield yield_ = read_function(group, "yield");