Skip to content

Merge mesh generators#32847

Open
kyriv1980 wants to merge 9 commits into
idaholab:nextfrom
kyriv1980:mergeMeshGenerators
Open

Merge mesh generators#32847
kyriv1980 wants to merge 9 commits into
idaholab:nextfrom
kyriv1980:mergeMeshGenerators

Conversation

@kyriv1980
Copy link
Copy Markdown
Contributor

This PR resolves issue #32796

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from a81cd1d to 54e18e2 Compare April 27, 2026 20:09
@moosebuild
Copy link
Copy Markdown
Contributor

moosebuild commented Apr 27, 2026

Job Documentation, step Docs: sync website on e26df14 wanted to post the following:

View the site here

This comment will be updated on new commits.

@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 6154931 to 7ec291e Compare April 28, 2026 20:47
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 7ec291e to 54a9631 Compare April 28, 2026 20:57
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 54a9631 to 194515e Compare April 28, 2026 21:03
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 194515e to 7340f6a Compare April 28, 2026 21:10
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 7340f6a to 21e0bb2 Compare April 28, 2026 21:29
kyriv1980 added a commit to kyriv1980/moose that referenced this pull request Apr 28, 2026
kyriv1980 added a commit to kyriv1980/moose that referenced this pull request Apr 28, 2026
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 74bf3a9 to cdb7692 Compare April 28, 2026 21:59
kyriv1980 added a commit to kyriv1980/moose that referenced this pull request Apr 28, 2026
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from cdb7692 to 651057a Compare April 28, 2026 22:24
kyriv1980 added a commit to kyriv1980/moose that referenced this pull request Apr 29, 2026
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 651057a to 0bdb326 Compare April 29, 2026 16:07
kyriv1980 added a commit to kyriv1980/moose that referenced this pull request Apr 29, 2026
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 0bdb326 to 8c71acc Compare April 29, 2026 17:49
kyriv1980 added a commit to kyriv1980/moose that referenced this pull request Apr 29, 2026
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 8c71acc to 0de0af5 Compare April 29, 2026 17:52
kyriv1980 added a commit to kyriv1980/moose that referenced this pull request Apr 29, 2026
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 0de0af5 to fb51b06 Compare April 29, 2026 17:55
@moosebuild
Copy link
Copy Markdown
Contributor

Job Precheck on fb51b06 : invalidated by @kyriv1980

1 similar comment
@moosebuild
Copy link
Copy Markdown
Contributor

Job Precheck on fb51b06 : invalidated by @kyriv1980

@moosebuild
Copy link
Copy Markdown
Contributor

Job Non unity build on fb51b06 : invalidated by @kyriv1980

kyriv1980 added a commit to kyriv1980/moose that referenced this pull request Apr 30, 2026
  Remove unused detailed pin mesh generator code and an unused tri assembly
  helper. Make quad and tri power IC/Aux objects require a pin mesh and apply
  q_prime only on pin nodes. Update added-heat calculations to source heat from
  pin nodes only, returning zero for no-pin meshes. Refresh related power object
  documentation to match the pin-only behavior. Refs idaholab#32847
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 93f49ee to c2bfa59 Compare April 30, 2026 23:32
Copy link
Copy Markdown
Contributor

@GiudGiud GiudGiud left a comment

Choose a reason for hiding this comment

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

This has no backwards compatibility. You're breaking everyone's inputs, at PSU, at Oklo etc. You need to add an info page with what to do to change their inputs to adapt to the new version of MOOSE. Ideally you would leave an action or some deprecated objects behind to give them the link to that page when they try to run their simulation.

You're regolding a very significant share of SCM tests.
To merge two MGs you should have nothing to regold. Just keep the option to have the pin mesh or not in the new MG and the results should not have changed.

And in a follow up PR, you can remove this option if you'd like, thus needing the regold.

The widespread deletion of comments in the code needs to be entirely reversed.

Comment thread modules/subchannel/include/transfers/SCMSolutionTransfer.h Outdated
Comment thread modules/subchannel/include/transfers/SCMSolutionTransfer.h
Comment thread modules/subchannel/src/meshgenerators/SCMTriAssemblyMeshGenerator.C Outdated
Comment thread modules/subchannel/src/transfers/SCMSolutionTransfer.C
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch 6 times, most recently from c385e8d to c276e0b Compare May 6, 2026 16:57
@moosebuild
Copy link
Copy Markdown
Contributor

Job Precheck, step Clang format on e23b90a 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/docs/PRs/32847/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 5b391dfa415c373a9403cb2efcc533150486c98d

@moosebuild
Copy link
Copy Markdown
Contributor

Job Framework 1 on c276e0b : invalidated by @kyriv1980

@moosebuild
Copy link
Copy Markdown
Contributor

Job Coverage, step Verify coverage on c276e0b wanted to post the following:

The following coverage requirement(s) failed:

  • Failed to generate framework coverage rate (required: 81.0%)

@moosebuild
Copy link
Copy Markdown
Contributor

Job Coverage on c276e0b : invalidated by @kyriv1980

@kyriv1980 kyriv1980 requested a review from GiudGiud May 7, 2026 19:24
@moosebuild
Copy link
Copy Markdown
Contributor

Job Coverage, step Verify coverage on c276e0b wanted to post the following:

The following coverage requirement(s) failed:

  • Failed to generate framework coverage rate (required: 81.0%)

kyriv1980 added a commit to kyriv1980/moose that referenced this pull request May 12, 2026
kyriv1980 added a commit to kyriv1980/moose that referenced this pull request May 12, 2026
  Guard quad and tri assembly mesh generators against invalid axial grids,
  zero-length domains, and malformed spacer/blockage inputs before mesh
  construction. Keep quadrilateral assemblies consistent by rejecting only
  1x1 layouts while allowing valid 1xN and Nx1 subchannel meshes.

  Fix triangular assembly block-id fallback handling so the deprecated
  block_id parameter is still honored when subchannel_block_id is not set.
  Also add a quad mesh-object guard so pin index lookup on no-pin 1xN/Nx1
  meshes reports a clear error instead of evaluating unsigned underflow
  arithmetic.

  Add detailed quad coverage for the 1x1 rejection while preserving 1x2
  and Nx1 generation behavior. Refs idaholab#32847
kyriv1980 added a commit to kyriv1980/moose that referenced this pull request May 12, 2026
  Remove unused detailed pin mesh generator code and an unused tri assembly
  helper. Make quad and tri power IC/Aux objects require a pin mesh and apply
  q_prime only on pin nodes. Update added-heat calculations to source heat from
  pin nodes only, returning zero for no-pin meshes. Refresh related power object
  documentation to match the pin-only behavior. Refs idaholab#32847
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from c276e0b to 5c3b19d Compare May 12, 2026 20:54
kyriv1980 added 9 commits May 18, 2026 09:01
  Unify the triangular subchannel/pin mesh generators behind
  SCMTriAssemblyMeshGenerator and SCMDetailedTriAssemblyMeshGenerator,
  matching the earlier quad-generator merge and the new convention that
  assembly generators build both subchannel and pin meshes when pins
  exist.

  This updates triangular inputs, tests, and registrations to use the new
  assembly generator names directly and removes the old tri alias
  registrations for consistency with the quad side.

  While validating the merged detailed-tri path, fix several regressions:
  - stop mutating TriSubChannelMesh from the detailed visualization generator
  - avoid post-build renumbering in the detailed-tri assembly path
  - copy _pin_nodes in TriSubChannelMesh copy construction
  - assign unique element IDs to generated pin prisms by starting from
    mesh_base->n_elem()

  Also refresh the detailed triangular mesh test baseline to reflect the
  new combined subchannel+pin mesh output and quiet its verbose debug
  logging. Refs idaholab#32796
  Guard quad and tri assembly mesh generators against invalid axial grids,
  zero-length domains, and malformed spacer/blockage inputs before mesh
  construction. Keep quadrilateral assemblies consistent by rejecting only
  1x1 layouts while allowing valid 1xN and Nx1 subchannel meshes.

  Fix triangular assembly block-id fallback handling so the deprecated
  block_id parameter is still honored when subchannel_block_id is not set.
  Also add a quad mesh-object guard so pin index lookup on no-pin 1xN/Nx1
  meshes reports a clear error instead of evaluating unsigned underflow
  arithmetic.

  Add detailed quad coverage for the 1x1 rejection while preserving 1x2
  and Nx1 generation behavior. Refs idaholab#32847
  Remove unused detailed pin mesh generator code and an unused tri assembly
  helper. Make quad and tri power IC/Aux objects require a pin mesh and apply
  q_prime only on pin nodes. Update added-heat calculations to source heat from
  pin nodes only, returning zero for no-pin meshes. Refresh related power object
  documentation to match the pin-only behavior. Refs idaholab#32847
  Add a migration page for the merged SubChannel mesh generators,
  including
  old-to-new object mappings, example input updates, and parameter
  changes.

  Link the migration page from the SubChannel landing page and the new
  assembly
  mesh generator documentation.

  Restore explanatory comments in the merged quad/tri mesh generator
  code where
  logic was moved from the old subchannel and pin mesh generators.Refs idaholab#32796
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from 8050942 to e26df14 Compare May 18, 2026 15:12
@moosebuild
Copy link
Copy Markdown
Contributor

Job Test, step Results summary on e26df14 wanted to post the following:

Framework test summary

Compared against 7282911 in job civet.inl.gov/job/3829583.

No change

Modules test summary

Compared against 7282911 in job civet.inl.gov/job/3829583.

Removed tests

Test Time (s) Memory (MB)
subchannel/test:SCMTriPower.SCMTriPower_cells_aligned 1.59 145.79
subchannel/test:SCMTriPower.SCMTriPower_cells_not_aligned 1.30 158.71
subchannel/test:mesh/detailed_tri_sub_channel_mesh.coords 0.93 80.77
subchannel/test:mesh/detailed_tri_pin_mesh.coords 0.85 110.73
subchannel/test:SCMQuadPower.SCMQuadPower_cells_aligned 0.84 124.31
subchannel/test:SCMQuadPower.SCMQuadPower_cells_not_aligned 0.80 113.10
subchannel/test:mesh/quad_sub_channel_mesh.coords 0.75 49.61
subchannel/test:mesh/detailed_quad_sub_channel_mesh.3x1 0.74 89.99
subchannel/test:mesh/quad_subchannel_duct_mesh.test 0.74 53.82
subchannel/test:mesh/quad_sub_channel_mesh.subchannel_number 0.74 29.83
subchannel/test:mesh/quad_sub_channel_pin_mesh.coords 0.72 108.54
subchannel/test:mesh/detailed_quad_sub_channel_mesh.coords 0.72 54.02
subchannel/test:mesh/detailed_quad_pin_mesh.coords 0.72 55.98
subchannel/test:mesh/detailed_quad_sub_channel_mesh.1x3 0.72 121.36
subchannel/test:mesh/tri_subchannel_duct_mesh.test 0.71 51.54
subchannel/test:mesh/tri_sub_channel_pin_mesh.coords 0.71 93.08
subchannel/test:mesh/detailed_quad_sub_channel_mesh.1x2 0.71 92.26
subchannel/test:mesh/tri_subchannel_mesh.tricoords3 0.70 68.10

Added tests

Test Time (s) Memory (MB)
subchannel/test:mesh/detailed_tri_assembly.coords 0.99 109.69
subchannel/test:mesh/quad_assembly.coords 0.80 88.88
subchannel/test:mesh/detailed_quad_assembly.subchannel_number 0.80 98.25
subchannel/test:mesh/quad_assembly.subchannel_number 0.77 46.22
subchannel/test:mesh/quad_duct.test 0.77 68.05
subchannel/test:mesh/tri_assembly.tricoords3 0.75 122.82
subchannel/test:mesh/tri_duct.test 0.75 88.73
subchannel/test:mesh/detailed_quad_assembly.1x2 0.74 59.12
subchannel/test:mesh/detailed_quad_assembly.coords 0.74 78.33
subchannel/test:mesh/detailed_quad_assembly.3x1 0.73 62.53
subchannel/test:mesh/detailed_quad_assembly.1x3 0.72 91.89

Run time changes

Test Base (s) Head (s) +/- Base (MB) Head (MB)
stochastic_tools/test:web_server_control.stochastic_control/batch_reset_multi 2.25 3.73 +66.03% 247.19 258.18

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.

3 participants