Skip to content

Adds mooseWarning for when a moving OpenMC problem is detected, but the moose mesh is fixed. - #1436

Open
cvoorhees15 wants to merge 1 commit into
neams-th-coe:develfrom
cvoorhees15:add-warning-for-fixed-mesh-with-moving-openmc-problem-1335
Open

Adds mooseWarning for when a moving OpenMC problem is detected, but the moose mesh is fixed.#1436
cvoorhees15 wants to merge 1 commit into
neams-th-coe:develfrom
cvoorhees15:add-warning-for-fixed-mesh-with-moving-openmc-problem-1335

Conversation

@cvoorhees15

Copy link
Copy Markdown

closes #1335

@cvoorhees15

Copy link
Copy Markdown
Author

I wasn't sure whether the _using_skinner flag was supposed to be included in this case... Mostly because I'm not familiar with what a "skinner" is. Feel free to explain or point me to relevant docs, thanks!

@meltawila
meltawila self-requested a review August 26, 2026 00:53
@moosebuild

moosebuild commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Job Documentation, step Sync to remote on d99cd79 wanted to post the following:

View the site here

This comment will be updated on new commits.

@meltawila

meltawila commented Aug 26, 2026

Copy link
Copy Markdown
Member

Thank you for the PR. the "skinner" refers to MoabSkinner UserObject in Cardinal. it's another example where we can encounter a displaced problem (for example transferring displacements to Cardinal app following thermomechanics solve and update OpenMC geometry with these). so that's what I had in mind when I opened this issue. However thinking more about this now, I think leaving this out of the new condition is correct because the skinning operates on the [Mesh] block and I don't think there's a scenario where the skinner can make the updated OpenMC geometry mismatch the mapping with the [Mesh].

We have a few tests that should now show this new warning such as test/tests/userobjects/openmc_cell_transform/cells_shadow.i. However something I'm just noticing is that criticality search objects derive from OpenMCCellTransformBase not OpenMCCellTransform and might not be captured by hasCellTransform(). I'll want to make sure that rotation criticality search tests also show this warning when they modify the OpenMC geometry while the MOOSE mesh remains unchanged. I'll take a deeper look tomorrow.

NekRS tests failures are unrelated and are being handled separately

@aprilnovak

Copy link
Copy Markdown
Collaborator

Hi @cvoorhees15, I've just sent you an invite to join cardinal-devs - once you join, the test suite here will automatically launch upon further updates (Mahmoud manually triggered it for the first run).

@meltawila meltawila left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the below is my main concern since hasCellTransform() is just:

bool
OpenMCProblemBase::hasCellTransform() const
{
  return !_cell_transform_uos.empty();
}

you could maybe add a new bool OpenMCProblemBase::movesOpenMCGeometry() const that combines this with the criticality search scenario I was writing inline below

Comment thread src/base/OpenMCCellAverageProblem.C Outdated
"OpenMCCellTransform user object (both of which move the OpenMC geometry). The "
"[Mesh] will move, but the underlying OpenMC geometry will remain unchanged. "
"Unexpected behavior may occur.");
else if (!_use_displaced && hasCellTransform())

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be else if (!_use_displaced && (hasCellTransform() || (_criticality_search && _criticality_search->changingGeometry()))) to show the warning when a criticality search object uses OpenMCCellTransformBase and changes the geometry. feel free to rewrite this if you think there's a better way to catch this scenario

Comment thread src/base/OpenMCCellAverageProblem.C Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the corresponding opposite case should be added here

@cvoorhees15
cvoorhees15 force-pushed the add-warning-for-fixed-mesh-with-moving-openmc-problem-1335 branch from 804fed4 to 90b0b16 Compare August 27, 2026 00:06
@moosebuild

Copy link
Copy Markdown
Collaborator

Job Precheck, step Clang format on 90b0b16 wanted to post the following:

Your code requires style changes.

A patch was auto generated and copied here
You can directly apply the patch by running, in the top level of your repository:

curl -s https://mooseframework.inl.gov/cardinal/docs/PRs/1436/clang_format/style.patch | git apply -v

Alternatively, with your repository up to date and in the top level of your repository:

git clang-format 3db1047a57101f51dbc67d1d1a16fe1b0c823d5d

@cvoorhees15
cvoorhees15 force-pushed the add-warning-for-fixed-mesh-with-moving-openmc-problem-1335 branch from 90b0b16 to d99cd79 Compare August 27, 2026 00:12
Comment on lines 585 to 588
_need_to_reinit_coupling |= hasCellTransform();
// The criticality search may modify the geometry.
if (_criticality_search)
_need_to_reinit_coupling |= _criticality_search->changingGeometry();

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this now be collapsed to just:

_need_to_reinit_coupling |= movesOpenMCGeometry();

@cvoorhees15
cvoorhees15 requested a review from meltawila August 27, 2026 00:20
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.

Add a warning when a fixed mesh is being coupled to a moving OpenMC problem

4 participants