UniqueExtraIDMeshGenerator

Add a new extra element integer ID by finding unique combinations of the existing extra element integer ID values

Overview

UniqueExtraIDMeshGenerator object applies a new set of extra IDs determined by parsing existing extra IDs. First, the existing extra IDs of each element are parsed to find a set of unique combinations of their ID values. Then, a new ID value are determined to individual unique combination and assign it to the corresponding element. The new ID is embedded in all the existing IDs, i.e. elements with a unique new ID value have a unique value for all existing IDs.

The UniqueExtraIDMeshGenerator requires the following parameters:

Optionally, users can control how the new ID values are determined by using "new_id_rule", which is a vector of unsigned integers. If "new_id_rule" is provided, new ID values are determined by multiplying the provided integers to the corresponding existing ID values and then summing the resulting values as: new_id_value = new_id_rule[0] * extra_id_value[0] + ... + new_id_rule[n] * extra_id_value[n].

Example Syntax

[Mesh]
  [fmg]
    type = FileMeshGenerator
    file = unique_id.e
    exodus_extra_element_integers = 'id1 id0'
  []
  [parse_id]
    type = UniqueExtraIDMeshGenerator
    input = fmg
    id_name = 'id1 id0'
    new_id_name = 'parsed_id'
  []
[]
(moose/test/tests/meshgenerators/unique_extra_id_mesh_generator/unique_id.i)

Input Parameters

  • id_nameExisting extra integer ID names that is used to generate a new extra integer ID by finding unique combinations of their values

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Existing extra integer ID names that is used to generate a new extra integer ID by finding unique combinations of their values

  • inputName of an existing mesh generator to which we assign extra element IDs

    C++ Type:MeshGeneratorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of an existing mesh generator to which we assign extra element IDs

  • new_id_nameNew extra integer ID name

    C++ Type:ExtraElementIDName

    Unit:(no unit assumed)

    Controllable:No

    Description:New extra integer ID name

Required Parameters

  • new_id_ruleVector of unsigned integers to determine new integer ID values by multiplying the provided integers to the corresponding existing ID values and then summing the resulting values

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Vector of unsigned integers to determine new integer ID values by multiplying the provided integers to the corresponding existing ID values and then summing the resulting values

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