- fileThe filename to read.
C++ Type:MeshFileName
Controllable:No
Description:The filename to read.
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.
Extension | Description |
---|---|
.e, .exd | Sandia's ExodusII format |
.dat | Tecplot ASCII file |
.fro | ACDL's surface triangulation file |
.gmv | LANL's GMV (General Mesh Viewer) format |
.mat | Matlab triangular ASCII file (read only) |
.msh | GMSH ASCII file |
.n, .nem | Sandia's Nemesis format |
.plt | Tecplot binary file (write only) |
.node, .ele; .poly | TetGen ASCII file (read; write) |
.inp | Abaqus .inp format (read only) |
.ucd | AVS's ASCII UCD format |
.unv | I-deas Universal format |
.xda, .xdr | libMesh formats |
.vtk, .pvtu | Visualization Toolkit |
.cpr | Checkpoint 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
- 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.