Skip to content

improved depletion plan #98

@shimwell

Description

@shimwell

just making this issue to keep track of a possible break down of the PRs needed to close out #2757 on openmc

PR 1: Energy-dependent isomeric branching in chain files (@shimwell PR)

  • Chain.from_endf() reads MF=9/MF=10
  • Nuclide.isomeric_branching stores/reads/writes energy-dependent yields
  • LFS ordering for state mapping

PR 2: ELIS matching for isomeric state identification (perhaps @jckica) could make this PR

  • requires PR 1 to be merged (or can stack on top)
  • demonstrated by @jckica on https://github.com/jckica/isomer_branching_jendl
  • Read ELFS from MF=8 for each product state
  • Read ELIS from the decay library for each candidate metastable nuclide
  • Match by excitation energy within tolerance instead of assuming LFS=n → _m{n}
  • Falls back to LFS ordering when no match found

PR 3: (n,n') reaction support (perhaps @yrrepy could make this PR)

  • demonstrated by @yrrepy on branch fork
  • Add "(n,n')": ReactionInfo({4}, ()) to REACTIONS dict
  • Add "(n,n')": (0, 0) to MASS_NUMBER_CHANGE
  • Add REACTION_MT["(n,n')"] = 4
  • Add C++ alias in reaction_type()
  • This unlocks inelastic scattering activation (isomeric state changes via (n,n'))

PR 4: Runtime spectrum-dependent branching collapse (perhaps @jbae11)

  • requires PR 1 to be merged (or can stack on top)
  • form_matrix() accepts isomeric_branching parameter (energy-collapsed ratios per material)
  • New helper that takes local multigroup flux + Nuclide.isomeric_branching yield data and collapses to effective scalar ratios
  • Thread through _matrix_funcs.py and pool.py

PR 5: Operator integration (perhaps @yrrepy)

  • IndependentOperator reads isomeric_branching from chain, collapses with flux at each depletion step
  • CoupledOperator gets direct_with_flux reaction rate mode to tally flux spectrum alongside reaction rates
  • Per-material branching ratios updated each step

PR 6: GENDF cross-section support (optional) (perhaps @yrrepy could make this PR)

  • demonstrated by @yrrepy on branch fork
  • GENDF library parser
  • get_gendfxs_and_flux() as alternative to CE cross sections
  • Broader nuclide coverage than HDF5 transport libraries

Related

Review jbae11/openmc_activator#41
rerun openmc activator for V&V if all PRs get merged in. See if OpenMC and Fispact are closer and if OpenMC perhaps @jbae11 is best placed to do that
rerun fusion activation handbook if all PRs get merged. See if anything changes

@eepeterson can perhaps keep an overview and make sure we head in the right direction without overlapping with MIT work

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions