RefineBlockGenerator

Mesh generator which refines one or more blocks in an existing mesh

Overview

This MeshGenerator object allows the user to refine one or more blocks in a mesh.

The user has to provide the ids of the blocks to be modified, as well as the corresponding levels of refinement for each block. These must match up to the order of the aforementioned block id list, e.g. if the blocks you wish to modify are '0 2 1 4', with 1 refinement for block 0, 2 for block 2, 3 for block 1, and 4 for block 4, then the refinement list will need to look like '1 2 3 4'. By default, refinement in libMesh refines neighboring blocks to avoid meshing problems. This generator shares this default, but it can be disabled with "enable_neighbor_refinement=false".

Input Parameters

  • blockThe list of blocks to be refined

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

    Controllable:No

    Description:The list of blocks to be refined

  • inputInput mesh to refine

    C++ Type:MeshGeneratorName

    Controllable:No

    Description:Input mesh to refine

  • refinementMinimum amount of times to refine each block, corresponding to their index in 'block'

    C++ Type:std::vector<unsigned int>

    Controllable:No

    Description:Minimum amount of times to refine each block, corresponding to their index in 'block'

Required Parameters

  • enable_neighbor_refinementTrueToggles whether neighboring level one elements should be refined or not. Defaults to true. False may lead to unsupported mesh non-conformality without great care.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Toggles whether neighboring level one elements should be refined or not. Defaults to true. False may lead to unsupported mesh non-conformality without great care.

  • max_element_volume1e+08If elements are above that size, they will be refined more

    Default:1e+08

    C++ Type:double

    Controllable:No

    Description:If elements are above that size, they will be refined more

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.

  • save_with_nameKeep the mesh from this mesh generator in memory with the name specified

    C++ Type:std::string

    Controllable:No

    Description:Keep the mesh from this mesh generator in memory with the name specified

Advanced Parameters

  • nemesisFalseWhether or not to output the mesh file in the nemesisformat (only if output = true)

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to output the mesh file in the nemesisformat (only if output = true)

  • outputFalseWhether or not to output the mesh file after generating the mesh

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to output the mesh file after generating the mesh

  • show_infoFalseWhether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

Debugging Parameters