HexagonalGridDivision

Divide the mesh along a hexagonal grid. Numbering of pin divisions increases first counterclockwise, then expanding outwards from the inner ring, then axially. Inner-numbering is within a radial ring, outer-numbering is axial divisions

Points that lie outside the hexagonal grid may be assigned to the grid outer bins using the "assign_domain_outside_grid_to_border" parameter. This is the current treatment for background/duct regions around hexagonal pins in an assembly.

Using a Positions object as the "center_positions" parameter, multiple hexagonal grids can be created around each position computed by that object. The division index of a point is then:

division index=(i1)Nsingle division+division index in hexagonal grid centered around position i\text{division index} = (i - 1) N_{\text{single division}} + \text{division index in hexagonal grid centered around position i}

with ii the index in the Positions object of the position nearest from the point and Nsingle divisionN_{\text{single division}} the number of divisions for a single hexagonal grid, based on the number of rings and axial discretization specified.

commentnote

For points lying within the standard tolerance of an internal boundary of the hexagonal grid, this object will output a warning. If you do not mind the indetermination on which bins they belong to but do mind that a warning is output, please reach out to a MOOSE (or any MOOSE app) developer.

Input Parameters

  • lattice_flat_to_flatDistance between two (inner) opposite sides of a lattice. Also known as bundle pitch or inner flat-to-flat distance

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Distance between two (inner) opposite sides of a lattice. Also known as bundle pitch or inner flat-to-flat distance

  • nrNumber of hexagonal rings

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of hexagonal rings

  • nzNumber of divisions in Z

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of divisions in Z

  • pin_pitchDistance between pins

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Distance between pins

  • z_maxMaximum axial extent of the lattice

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Maximum axial extent of the lattice

  • z_minMinimal axial extent of the lattice

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Minimal axial extent of the lattice

Required Parameters

  • assign_domain_outside_grid_to_borderFalseWhether to map the domain outside the grid back to the border of the grid

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether to map the domain outside the grid back to the border of the grid

  • centerCenter of the hexagonal grid

    C++ Type:libMesh::Point

    Unit:(no unit assumed)

    Controllable:No

    Description:Center of the hexagonal grid

  • center_positionsCenters of the hexagonal grids

    C++ Type:PositionsName

    Unit:(no unit assumed)

    Controllable:No

    Description:Centers of the hexagonal grids

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters