ImageMeshGenerator

Generated mesh with the aspect ratio of a given image stack.

Overview

The ImageMeshGenerator object is a convenience tool for setting up a mesh to match the pixel structure of a two or three dimensional image. It is generally used in union with the ImageFunction object to perform simulations that rely on image data, such as setting up an initial condition of a grain structure. By default the generated mesh is sized to the dimensions of the images and creates one element per pixel.

Input Parameters

  • dimThe dimension of the mesh to be generated

    C++ Type:MooseEnum

    Options:1, 2, 3

    Controllable:No

    Description:The dimension of the mesh to be generated

Required Parameters

  • bias_x1The amount by which to grow (or shrink) the cells in the x-direction.

    Default:1

    C++ Type:double

    Controllable:No

    Description:The amount by which to grow (or shrink) the cells in the x-direction.

  • bias_y1The amount by which to grow (or shrink) the cells in the y-direction.

    Default:1

    C++ Type:double

    Controllable:No

    Description:The amount by which to grow (or shrink) the cells in the y-direction.

  • bias_z1The amount by which to grow (or shrink) the cells in the z-direction.

    Default:1

    C++ Type:double

    Controllable:No

    Description:The amount by which to grow (or shrink) the cells in the z-direction.

  • boundary_id_offset0This offset is added to the generated boundary IDs

    Default:0

    C++ Type:short

    Controllable:No

    Description:This offset is added to the generated boundary IDs

  • boundary_name_prefixIf provided, prefix the built in boundary names with this string

    C++ Type:std::string

    Controllable:No

    Description:If provided, prefix the built in boundary names with this string

  • cells_per_pixel1The number of mesh cells per pixel, must be <=1

    Default:1

    C++ Type:double

    Controllable:No

    Description:The number of mesh cells per pixel, must be <=1

  • elem_typeThe type of element from libMesh to generate (default: linear element for requested dimension)

    C++ Type:MooseEnum

    Options:EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI3, TRI6, HEX, HEX8, HEX20, HEX27, TET4, TET10, PRISM6, PRISM15, PRISM18, PYRAMID5, PYRAMID13, PYRAMID14

    Controllable:No

    Description:The type of element from libMesh to generate (default: linear element for requested dimension)

  • extra_element_integersNames of extra element integers

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

    Controllable:No

    Description:Names of extra element integers

  • fileName of single image file to extract mesh parameters from. If provided, a 2D mesh is created.

    C++ Type:FileName

    Controllable:No

    Description:Name of single image file to extract mesh parameters from. If provided, a 2D mesh is created.

  • file_baseImage file base to open, use this option when a stack of images must be read (ignored if 'file' is given)

    C++ Type:FileNameNoExtension

    Controllable:No

    Description:Image file base to open, use this option when a stack of images must be read (ignored if 'file' is given)

  • file_rangeRange of images to analyze, used with 'file_base' (ignored if 'file' is given)

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

    Controllable:No

    Description:Range of images to analyze, used with 'file_base' (ignored if 'file' is given)

  • file_suffixSuffix of the file to open, e.g. 'png'

    C++ Type:std::string

    Controllable:No

    Description:Suffix of the file to open, e.g. 'png'

  • gauss_lobatto_gridFalseGrade mesh into boundaries according to Gauss-Lobatto quadrature spacing.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Grade mesh into boundaries according to Gauss-Lobatto quadrature spacing.

  • nx1Number of elements in the X direction

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of elements in the X direction

  • ny1Number of elements in the Y direction

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of elements in the Y direction

  • nz1Number of elements in the Z direction

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of elements in the Z direction

  • scale_to_oneTrueWhether or not to scale the image so its max dimension is 1

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether or not to scale the image so its max dimension is 1

  • subdomain_idsSubdomain IDs, default to all zero

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

    Controllable:No

    Description:Subdomain IDs, default to all zero

  • xmax1Upper X Coordinate of the generated mesh

    Default:1

    C++ Type:double

    Controllable:No

    Description:Upper X Coordinate of the generated mesh

  • xmin0Lower X Coordinate of the generated mesh

    Default:0

    C++ Type:double

    Controllable:No

    Description:Lower X Coordinate of the generated mesh

  • ymax1Upper Y Coordinate of the generated mesh

    Default:1

    C++ Type:double

    Controllable:No

    Description:Upper Y Coordinate of the generated mesh

  • ymin0Lower Y Coordinate of the generated mesh

    Default:0

    C++ Type:double

    Controllable:No

    Description:Lower Y Coordinate of the generated mesh

  • zmax1Upper Z Coordinate of the generated mesh

    Default:1

    C++ Type:double

    Controllable:No

    Description:Upper Z Coordinate of the generated mesh

  • zmin0Lower Z Coordinate of the generated mesh

    Default:0

    C++ Type:double

    Controllable:No

    Description:Lower Z Coordinate of the generated mesh

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