www.mooseframework.org
StitchedMesh.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef STITCHEDMESH_H
16 #define STITCHEDMESH_H
17 
18 #include "MooseMesh.h"
19 
20 // Forward declarations
21 class StitchedMesh;
22 
23 namespace libMesh
24 {
25 class ReplicatedMesh;
26 }
27 
28 template <>
30 
35 class StitchedMesh : public MooseMesh
36 {
37 public:
38  StitchedMesh(const InputParameters & parameters);
39  StitchedMesh(const StitchedMesh & other_mesh);
40 
41  virtual ~StitchedMesh();
42 
43  virtual MooseMesh & clone() const override;
44 
45  virtual void buildMesh() override;
46 
47 protected:
49  const std::vector<MeshFileName> & _files;
50 
53 
55  const std::vector<BoundaryName> & _stitch_boundaries;
56 
58  std::vector<std::pair<BoundaryName, BoundaryName>> _stitch_boundaries_pairs;
59 
60  // Pointer to the original "real" mesh to be stitched into
61  ReplicatedMesh * _original_mesh;
62 
64  std::vector<std::unique_ptr<ReplicatedMesh>> _meshes;
65 };
66 
67 #endif /* STITCHEDMESH_H */
const bool & _clear_stitched_boundary_ids
Whether or not to clear (remove) the stitched boundary IDs.
Definition: StitchedMesh.h:52
ReplicatedMesh * _original_mesh
Definition: StitchedMesh.h:61
std::vector< std::unique_ptr< ReplicatedMesh > > _meshes
The meshes to be stitched together. The first entry will be the "real" mesh.
Definition: StitchedMesh.h:64
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
InputParameters validParams< StitchedMesh >()
Definition: StitchedMesh.C:25
Reads an arbitrary set of meshes and attempts to "stitch" (join) them along boundaries.
Definition: StitchedMesh.h:35
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
const std::vector< BoundaryName > & _stitch_boundaries
The raw data from the input file.
Definition: StitchedMesh.h:55
const std::vector< MeshFileName > & _files
The mesh files to read.
Definition: StitchedMesh.h:49
std::vector< std::pair< BoundaryName, BoundaryName > > _stitch_boundaries_pairs
A transformed version of _stitch_boundaries into a more logical "pairwise" structure.
Definition: StitchedMesh.h:58