CylindricalGridDivision

Divide the mesh along a cylindrical grid. The innermost numbering of divisions is the radial bins, then comes the azimuthal bins, then the axial bins

The number of mesh divisions/regions is the product of the number of bins in each coordinate.

Points that lie outside the cylindrical grid may be assigned to the closest grid outer bins using the "assign_domain_outside_grid_to_border" parameter.

commentnote

The "center" should be a point on the axis of the cylinder that also corresponds to the reference for the minimal ("cylinder_axial_min") and maximal ("cylinder_axial_max") axial extent of the cylinder.

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

with the index in the Positions object of the position nearest from the point and the number of divisions for a single cylindrical grid, based on the number of rings and axial discretization specified.

commentnote

We have not implemented restrictions in the azimuthal direction so the entire (, ) arc will be split. This is a desirable extension of this object.

commentnote

For points lying within the standard tolerance of an internal boundary of the cylindrical 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

  • axis_directionDirection of the cylinder's axis

    C++ Type:libMesh::Point

    Controllable:No

    Description:Direction of the cylinder's axis

  • azimuthal_startDirection of the 0-azimuthal-angle vector, normal to the cylinder's axis

    C++ Type:libMesh::Point

    Controllable:No

    Description:Direction of the 0-azimuthal-angle vector, normal to the cylinder's axis

  • n_radialNumber of divisions in the cylinder radial direction

    C++ Type:unsigned int

    Controllable:No

    Description:Number of divisions in the cylinder radial direction

  • r_maxMaximum radial coordinate

    C++ Type:double

    Controllable:No

    Description:Maximum radial coordinate

Required Parameters

  • assign_domain_outside_grid_to_borderFalseWhether to map the domain outside the grid back to the border of the grid (radially or axially)

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to map the domain outside the grid back to the border of the grid (radially or axially)

  • centerPoint on the cylinder's axis, acting as the center of this local R-theta-Z coordinate based division

    C++ Type:libMesh::Point

    Controllable:No

    Description:Point on the cylinder's axis, acting as the center of this local R-theta-Z coordinate based division

  • center_positionsPositions of the points on the cylinders' respective axis, acting as the center of the local R-theta-Z coordinate based divisions

    C++ Type:PositionsName

    Controllable:No

    Description:Positions of the points on the cylinders' respective axis, acting as the center of the local R-theta-Z coordinate based divisions

  • cylinder_axial_max1.79769e+308Maximum axial coordinate

    Default:1.79769e+308

    C++ Type:double

    Controllable:No

    Description:Maximum axial coordinate

  • cylinder_axial_min-1.79769e+308Minimum axial coordinate

    Default:-1.79769e+308

    C++ Type:double

    Controllable:No

    Description:Minimum axial coordinate

  • n_axial1Number of divisions in the cylinder axial direction

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of divisions in the cylinder axial direction

  • n_azimuthal1Number of divisions in the azimuthal direction

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of divisions in the azimuthal direction

  • r_min0Minimum radial coordinate (for a hollow cylinder)

    Default:0

    C++ Type:double

    Controllable:No

    Description:Minimum radial coordinate (for a hollow cylinder)

Optional Parameters

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

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

    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

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters