www.mooseframework.org
Classes | Namespaces | Typedefs | Functions
MooseMesh.h File Reference

Go to the source code of this file.

Classes

class  QpMap
 Helper object for holding qp mapping info. More...
 
class  MooseMesh
 MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and storing more state. More...
 
class  MooseMesh::MortarInterface
 
struct  MooseMesh::bnd_node_iterator
 The definition of the bnd_node_iterator struct. More...
 
struct  MooseMesh::const_bnd_node_iterator
 The definition of the const_bnd_node_iterator struct. More...
 
struct  MooseMesh::bnd_elem_iterator
 The definition of the bnd_elem_iterator struct. More...
 
struct  MooseMesh::const_bnd_elem_iterator
 The definition of the const_bnd_elem_iterator struct. More...
 

Namespaces

 libMesh
 The following methods are specializations for using the libMesh::Parallel::packed_range_* routines for std::strings.
 

Typedefs

typedef StoredRange< std::set< Node * >::iterator, Node * > SemiLocalNodeRange
 
typedef StoredRange< MooseMesh::const_bnd_node_iterator, const BndNode * > ConstBndNodeRange
 Some useful StoredRange typedefs. More...
 
typedef StoredRange< MooseMesh::const_bnd_elem_iterator, const BndElement * > ConstBndElemRange
 

Functions

template<>
InputParameters validParams< MooseMesh > ()
 

Typedef Documentation

Definition at line 1185 of file MooseMesh.h.

Some useful StoredRange typedefs.

These are defined outside the MooseMesh class to mimic the Const{Node,Elem}Range classes in libmesh.

Definition at line 1184 of file MooseMesh.h.

typedef StoredRange<std::set<Node *>::iterator, Node *> SemiLocalNodeRange

Definition at line 47 of file MooseMesh.h.

Function Documentation

Definition at line 65 of file MooseMesh.C.

Referenced by validParams< AnnularMesh >(), validParams< FileMesh >(), validParams< GeneratedMesh >(), validParams< PatternedMesh >(), validParams< StitchedMesh >(), and validParams< TiledMesh >().

66 {
68 
69  MooseEnum mesh_parallel_type("DISTRIBUTED=0 REPLICATED DEFAULT", "DEFAULT");
70  params.addParam<MooseEnum>("parallel_type",
71  mesh_parallel_type,
72  "DISTRIBUTED: Always use libMesh::DistributedMesh "
73  "REPLICATED: Always use libMesh::ReplicatedMesh "
74  "DEFAULT: Use libMesh::ReplicatedMesh unless --distributed-mesh is "
75  "specified on the command line");
76 
77  params.addParam<bool>(
78  "allow_renumbering",
79  true,
80  "If allow_renumbering=false, node and element numbers are kept fixed until deletion");
81 
82  params.addParam<bool>("nemesis",
83  false,
84  "If nemesis=true and file=foo.e, actually reads "
85  "foo.e.N.0, foo.e.N.1, ... foo.e.N.N-1, "
86  "where N = # CPUs, with NemesisIO.");
87 
88  MooseEnum dims("1=1 2 3", "1");
89  params.addParam<MooseEnum>("dim",
90  dims,
91  "This is only required for certain mesh formats where "
92  "the dimension of the mesh cannot be autodetected. "
93  "In particular you must supply this for GMSH meshes. "
94  "Note: This is completely ignored for ExodusII meshes!");
95 
96  MooseEnum partitioning("default=-3 metis=-2 parmetis=-1 linear=0 centroid hilbert_sfc morton_sfc",
97  "default");
98  params.addParam<MooseEnum>(
99  "partitioner",
100  partitioning,
101  "Specifies a mesh partitioner to use when splitting the mesh for a parallel computation.");
102  MooseEnum direction("x y z radial");
103  params.addParam<MooseEnum>("centroid_partitioner_direction",
104  direction,
105  "Specifies the sort direction if using the centroid partitioner. "
106  "Available options: x, y, z, radial");
107 
108  MooseEnum patch_update_strategy("never always auto", "never");
109  params.addParam<MooseEnum>("patch_update_strategy",
110  patch_update_strategy,
111  "How often to update the geometric search 'patch'. The default is to "
112  "never update it (which is the most efficient but could be a problem "
113  "with lots of relative motion). 'always' will update the patch every "
114  "timestep which might be time consuming. 'auto' will attempt to "
115  "determine when the patch size needs to be updated automatically.");
116 
117  // Note: This parameter is named to match 'construct_side_list_from_node_list' in SetupMeshAction
118  params.addParam<bool>(
119  "construct_node_list_from_side_list",
120  true,
121  "Whether or not to generate nodesets from the sidesets (usually a good idea).");
122  params.addParam<unsigned short>("num_ghosted_layers",
123  1,
124  "Parameter to specify the number of geometric element layers"
125  " that will be available when DistributedMesh is used. Value is "
126  "ignored in ReplicatedMesh mode");
127  params.addParam<bool>("ghost_point_neighbors",
128  false,
129  "Boolean to specify whether or not all point neighbors are ghosted"
130  " when DistributedMesh is used. Value is ignored in ReplicatedMesh mode");
131  params.addParam<unsigned int>(
132  "patch_size", 40, "The number of nodes to consider in the NearestNode neighborhood.");
133 
134  params.registerBase("MooseMesh");
135 
136  // groups
137  params.addParamNamesToGroup(
138  "dim nemesis patch_update_strategy construct_node_list_from_side_list num_ghosted_layers"
139  " ghost_point_neighbors patch_size",
140  "Advanced");
141  params.addParamNamesToGroup("partitioner centroid_partitioner_direction", "Partitioning");
142 
143  return params;
144 }
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void registerBase(const std::string &value)
This method must be called from every base "Moose System" to create linkage with the Action System...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:37
InputParameters validParams< MooseObject >()
Definition: MooseObject.C:22
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an option parameter and a documentation string to the InputParameters object...
void addParamNamesToGroup(const std::string &space_delim_names, const std::string group_name)
This method takes a space delimited list of parameter names and adds them to the specified group name...