Skip to content

Merge mesh generators#32847

Open
kyriv1980 wants to merge 6 commits intoidaholab:nextfrom
kyriv1980:mergeMeshGenerators
Open

Merge mesh generators#32847
kyriv1980 wants to merge 6 commits intoidaholab: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 c2bfa59 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
@moosebuild
Copy link
Copy Markdown
Contributor

Job Precheck, step Clang format on cdb7692 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 953c577aaeb4885a251cedbbe9d1bc8819be587e

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 29, 2026
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from fb51b06 to f009851 Compare April 29, 2026 22:02
@moosebuild
Copy link
Copy Markdown
Contributor

Job Precheck on f009851 : invalidated by @kyriv1980

kyriv1980 added a commit to kyriv1980/moose that referenced this pull request Apr 30, 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
@GiudGiud GiudGiud self-assigned this Apr 30, 2026
@moosebuild
Copy link
Copy Markdown
Contributor

moosebuild commented Apr 30, 2026

Job Coverage, step Generate coverage on c2bfa59 wanted to post the following:

Framework coverage

4e53b3 #32847 c2bfa5
Total Total +/- New
Rate 85.87% 85.87% +0.00% -
Hits 132516 132517 +1 0
Misses 21798 21797 -1 0

Diff coverage report

Full coverage report

Modules coverage

Subchannel

4e53b3 #32847 c2bfa5
Total Total +/- New
Rate 93.27% 93.38% +0.10% 100.00%
Hits 6144 6061 -83 1792
Misses 443 430 -13 0

Diff coverage report

Full coverage report

Full coverage reports

Reports

This comment will be updated on new commits.

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
  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
@kyriv1980 kyriv1980 force-pushed the mergeMeshGenerators branch from dd50c20 to 5108bd0 Compare April 30, 2026 23:17
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 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 5108bd0 to 93f49ee Compare April 30, 2026 23:22
  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
@moosebuild
Copy link
Copy Markdown
Contributor

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

Framework test summary

Compared against 4e53b3b in job civet.inl.gov/job/3786076.

No change

Modules test summary

Compared against 4e53b3b in job civet.inl.gov/job/3786076.

Removed tests

Test Time (s) Memory (MB)
subchannel/test:SCMTriPower.SCMTriPower_cells_aligned 1.89 188.00
subchannel/test:SCMTriPower.SCMTriPower_cells_not_aligned 1.69 152.21
subchannel/test:mesh/detailed_tri_pin_mesh.coords 1.08 107.27
subchannel/test:mesh/detailed_tri_sub_channel_mesh.coords 1.06 86.53
subchannel/test:SCMQuadPower.SCMQuadPower_cells_not_aligned 1.00 115.93
subchannel/test:mesh/detailed_quad_sub_channel_mesh.1x2 0.95 92.97
subchannel/test:mesh/quad_sub_channel_mesh.subchannel_number 0.93 83.08
subchannel/test:SCMQuadPower.SCMQuadPower_cells_aligned 0.93 119.14
subchannel/test:mesh/detailed_quad_sub_channel_mesh.1x3 0.90 67.35
subchannel/test:mesh/quad_subchannel_duct_mesh.test 0.89 68.26
subchannel/test:mesh/quad_sub_channel_mesh.coords 0.88 29.42
subchannel/test:mesh/tri_subchannel_mesh.tricoords3 0.87 57.98
subchannel/test:mesh/quad_sub_channel_pin_mesh.coords 0.86 126.74
subchannel/test:mesh/detailed_quad_pin_mesh.coords 0.86 103.97
subchannel/test:mesh/tri_sub_channel_pin_mesh.coords 0.85 127.11
subchannel/test:mesh/detailed_quad_sub_channel_mesh.coords 0.84 135.23
subchannel/test:mesh/tri_subchannel_duct_mesh.test 0.83 86.86
subchannel/test:mesh/detailed_quad_sub_channel_mesh.3x1 0.82 37.70

Added tests

Test Time (s) Memory (MB)
subchannel/test:mesh/detailed_tri_assembly.coords 1.00 117.15
subchannel/test:mesh/detailed_quad_assembly.3x1 0.98 177.15
subchannel/test:mesh/detailed_quad_assembly.subchannel_number 0.80 98.12
subchannel/test:mesh/quad_duct.test 0.78 64.68
subchannel/test:mesh/detailed_quad_assembly.1x2 0.77 25.59
subchannel/test:mesh/detailed_quad_assembly.1x3 0.76 69.60
subchannel/test:mesh/tri_duct.test 0.76 27.37
subchannel/test:mesh/quad_assembly.subchannel_number 0.75 34.71
subchannel/test:mesh/detailed_quad_assembly.coords 0.74 80.18
subchannel/test:mesh/tri_assembly.tricoords3 0.73 102.15
subchannel/test:mesh/quad_assembly.coords 0.73 67.65

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