Skip to content

Ignore negative volume components in mass-weighted averaging - #2646

Draft
mgjarrett wants to merge 8 commits into
mainfrom
ignoreNegativeVolumeComps
Draft

Ignore negative volume components in mass-weighted averaging#2646
mgjarrett wants to merge 8 commits into
mainfrom
ignoreNegativeVolumeComps

Conversation

@mgjarrett

@mgjarrett mgjarrett commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

What is the change? Why is it being made?

Change: Ignore any component with negative area when computing a mass-weighted average temperature and composition for a set of components.

Background: When building a representative block in the CrossSectionGroupManager for a cross section type with the option averageByComponent: true, it is necessary to compute an average temperature and composition across all blocks in the BlockCollection for each component in the representative block. In normal circumstances, a mass-weighted average is used. However, there are some situations where a component can have negative area/volume and thus negative mass. If some components in the BlockCollection have positive mass and others have negative mass, the mass-weighted average temperature of the components can be extremely different than a non-weighted average. In some cases, the resulting temperature could be outside the bounds of defined material properties, which could cause a run to crash.

SCR Information

Change Type: fixes

One-Sentence Rationale: This addresses a corner case bug that could cause ARMI apps to crash when there are negative-volume components present.

One-line Impact on Requirements: NA


Checklist

@mgjarrett mgjarrett self-assigned this Aug 27, 2026
@john-science
john-science self-requested a review August 28, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant