Skip to content

Instantly share code, notes, and snippets.

@paulromano
Last active November 23, 2023 02:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save paulromano/5d4ccfb9f32e96e5c288239640fa4139 to your computer and use it in GitHub Desktop.
Save paulromano/5d4ccfb9f32e96e5c288239640fa4139 to your computer and use it in GitHub Desktop.
Changes in OpenMC to imitate MCNP's TOTNU option
diff --git a/src/nuclide.cpp b/src/nuclide.cpp
index ae3085aff2..13816f59a5 100644
--- a/src/nuclide.cpp
+++ b/src/nuclide.cpp
@@ -409,7 +409,7 @@ void Nuclide::create_derived(
for (int i = 0; i < n; ++i) {
double E = grid_[t].energy[i];
xs_[t](i, XS_NU_FISSION) =
- nu(E, EmissionMode::total) * xs_[t](i, XS_FISSION);
+ nu(E, EmissionMode::prompt) * xs_[t](i, XS_FISSION);
}
}
}
@@ -602,7 +602,7 @@ void Nuclide::calculate_xs(
micro.absorption = sig_a;
micro.fission = sig_f;
micro.nu_fission =
- fissionable_ ? sig_f * this->nu(p.E(), EmissionMode::total) : 0.0;
+ fissionable_ ? sig_f * this->nu(p.E(), EmissionMode::prompt) : 0.0;
if (simulation::need_depletion_rx) {
// Only non-zero reaction is (n,gamma)
@@ -943,7 +943,7 @@ void Nuclide::calculate_urr_xs(int i_temp, Particle& p) const
// Determine nu-fission cross-section
if (fissionable_) {
- micro.nu_fission = nu(p.E(), EmissionMode::total) * micro.fission;
+ micro.nu_fission = nu(p.E(), EmissionMode::prompt) * micro.fission;
}
}
diff --git a/src/physics.cpp b/src/physics.cpp
index 36161f3ea1..7e03c05502 100644
--- a/src/physics.cpp
+++ b/src/physics.cpp
@@ -1040,8 +1040,8 @@ void sample_fission_neutron(int i_nuclide, const Reaction& rx, double E_in,
{
// Determine total nu, delayed nu, and delayed neutron fraction
const auto& nuc {data::nuclides[i_nuclide]};
- double nu_t = nuc->nu(E_in, Nuclide::EmissionMode::total);
- double nu_d = nuc->nu(E_in, Nuclide::EmissionMode::delayed);
+ double nu_t = nuc->nu(E_in, Nuclide::EmissionMode::prompt);
+ double nu_d = 0.0;
double beta = nu_d / nu_t;
if (prn(seed) < beta) {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment