FileMeshGenerator

Read a mesh from a file.

Supported File Formats

The FileMeshGenerator is the default type for MOOSE and as the name suggests it reads the mesh from an external file. MOOSE supports reading and writing a large number of formats and could be extended to read more.

ExtensionDescription
.e, .exdSandia's ExodusII format
.datTecplot ASCII file
.froACDL's surface triangulation file
.gmvLANL's GMV (General Mesh Viewer) format
.matMatlab triangular ASCII file (read only)
.mshGMSH ASCII file
.n, .nemSandia's Nemesis format
.pltTecplot binary file (write only)
.node, .ele; .polyTetGen ASCII file (read; write)
.inpAbaqus .inp format (read only)
.ucdAVS's ASCII UCD format
.unvI-deas Universal format
.xda, .xdrlibMesh formats
.vtk, .pvtuVisualization Toolkit
.cprCheckpoint file

Extra element integer

When reading a mesh file in Sandia's ExodusII format, users can use parameter exodus_extra_element_integers to load elemental variables for setting extra element integers of the mesh. The names of the extra element integers will be the same as the names of the element variables in the mesh file.

Exodus restart

This generator can also be used for restarting variables from the Exodus file format. In order to indicate that the mesh file can be used to restart variables, simply set the parameter use_for_exodus_restart = true. The initial_from_file_var parameter must also be set in the variables sub-block as described in Restart in order to perform variable restart.

Additional documentation about restarting from Exodus may be found in the restart-recovery page.

Loading a split mesh

Mesh splits usually do not require a FileMeshGenerator, they can be performed and loaded from the command line. The only use case for loading a split mesh using a FileMeshGenerator is to perform additional mesh generation on the split. For example, a 2D split mesh can be pre-split before extrusion to avoid ever having to load the full 3D mesh in serial.

To load a split mesh using the FileMeshGenerator, split your mesh as usual using the command line:


- mpirun -n 4 <executable> -i <input_file> --split-mesh 16 --split-file mesh_splitted

then load it with the FileMeshGenerator input parameter by using distributed meshes with the command line option:


- mpirun -n 4 <executable> -i <input_file> --distributed-mesh

Input file:


[fmg]
  type = FileMeshGenerator
  file = 'mesh_splitted.cpr'
[]

Input Parameters

  • fileThe filename to read.

    C++ Type:MeshFileName

    Controllable:No

    Description:The filename to read.

Required Parameters

  • allow_renumberingTrueWhether to allow the mesh to renumber nodes and elements. Note that this parameter is only relevant for non-exodus files, e.g. if reading from checkpoint for example. For exodus we always disallow renumbering.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to allow the mesh to renumber nodes and elements. Note that this parameter is only relevant for non-exodus files, e.g. if reading from checkpoint for example. For exodus we always disallow renumbering.

  • clear_spline_nodesFalseIf clear_spline_nodes=true, IsoGeometric Analyis spline nodes and constraints are removed from an IGA mesh, after which only C^0 Rational-Bernstein-Bezier elements will remain.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If clear_spline_nodes=true, IsoGeometric Analyis spline nodes and constraints are removed from an IGA mesh, after which only C^0 Rational-Bernstein-Bezier elements will remain.

  • exodus_extra_element_integersThe variable names in the mesh file for loading extra element integers

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

    Controllable:No

    Description:The variable names in the mesh file for loading extra element integers

  • 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)

  • skip_partitioningFalseTrue to skip partitioning, only after this mesh generator, because the mesh was pre-split for example.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:True to skip partitioning, only after this mesh generator, because the mesh was pre-split for example.

  • use_for_exodus_restartFalseTrue to indicate that the mesh file this generator is reading can be used for restarting variables

    Default:False

    C++ Type:bool

    Controllable:No

    Description:True to indicate that the mesh file this generator is reading can be used for restarting variables

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