BlockDeletionGenerator

Mesh generator which removes elements from the specified subdomains

Overview

The BlockDeletionGenerator is used to remove elements from a mesh matching a user provided subdomain ID. While most mesh generation operations should be based on geometric operations, it is sometimes easier to remove discretized elements, by blocks, for certain problems.

For example, if we have a mesh that models both a pipe and its interior, but we only want to model the fluid flow, we may delete the subdomain associated with the pipe.

commentnote

Once a block is deleted from the mesh, it should not be referred to in the input. Variables and materials can no longer be block restricted to a deleted block, for example.

commentnote

Lower-dimensional elements created from the deleted elements will also be removed.

Example input syntax

In this example input file, we remove blocks 1 and 3 with a single BlockDeletionGenerator. This leaves only block 2 in the simulation.

[Mesh]
  [cmg]
    type = CartesianMeshGenerator
    dim = 2
    dx = '4 2 3'
    dy = '1 2'
    ix = '10 10 10'
    iy = '8 8'
    subdomain_id = '1 2 3
                    2 2 2'
  []

  [ed0]
    type = BlockDeletionGenerator
    input = cmg
    block = '1 3'
  []
[]
(moose/test/tests/meshgenerators/block_deletion_generator/block_deletion_test14.i)

Input Parameters

  • inputThe mesh we want to modify

    C++ Type:MeshGeneratorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The mesh we want to modify

Required Parameters

  • blockThe list of blocks to be deleted

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The list of blocks to be deleted

  • delete_exteriorsTrueWhether to delete lower-d elements whose interior parents are deleted

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether to delete lower-d elements whose interior parents are deleted

  • new_boundaryoptional boundary name to assign to the cut surface

    C++ Type:BoundaryName

    Unit:(no unit assumed)

    Controllable:No

    Description:optional boundary name to assign to the cut surface

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.

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

    C++ Type:std::string

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Controllable:No

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

Debugging Parameters