idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.6k stars 1k forks source link

Conflicting Sub-Generator Names in FlexiblePatternGenerator #27540

Closed miaoyinb closed 2 weeks ago

miaoyinb commented 2 weeks ago

Bug Description

FlexiblePatternGenerator has an option to delete the default external boundaries of the input meshes. This is done by creating subgenerators of BoundaryDeletionGenerator. However, if two FlexiblePatternGenerators use the same input mesh, the current naming convention of the subgenerators lead to conflicts and a MOOSE error is thrown.

Steps to Reproduce

[Mesh]
  [accg]
    type = AdvancedConcentricCircleGenerator
    num_sectors = 9
    ring_radii = '1 2'
    ring_intervals = '2 2'
    ring_block_ids = '10 15 20'
    create_outward_interface_boundaries = false
  []
  [fpg1]
    type = FlexiblePatternGenerator
    inputs = 'accg'
    boundary_type = HEXAGON
    boundary_size = 22
    boundary_sectors = 10
    hex_patterns = '0 0;
                   0 0 0;
                    0 0'
    hex_pitches = 6
    desired_area = 1.0
    background_subdomain_id = 200
    delete_default_external_boundary_from_inputs = true
  []
  [fpg2]
    type = FlexiblePatternGenerator
    inputs = 'accg'
    boundary_type = HEXAGON
    boundary_size = 22
    boundary_sectors = 10
    hex_patterns = '0 0;
                   0 0 0;
                    0 0'
    hex_pitches = 7.5
    desired_area = 1.0
    background_subdomain_id = 200
    delete_default_external_boundary_from_inputs = true
  []
  [pattern_1]
    type = PatternedHexMeshGenerator
    inputs = 'fpg1 fpg2'
    pattern = '0 0;
              0 1 0;
               0 0'
    pattern_boundary = none
    generate_core_metadata = true
  []
[]

Note that setting delete_default_external_boundary_from_inputs=false averts the error

Impact

Prevent users from flexibly using FlexiblePatternGenerator

[Optional] Diagnostics

No response