libMesh
serial_mesh.h
Go to the documentation of this file.
1 // The libMesh Finite Element Library.
2 // Copyright (C) 2002-2025 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License, or (at your option) any later version.
8 
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
13 
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 
18 
19 
20 #ifndef LIBMESH_SERIAL_MESH_H
21 #define LIBMESH_SERIAL_MESH_H
22 
23 #include "libmesh/replicated_mesh.h"
24 
25 
26 namespace libMesh
27 {
28 
29 // For backwards compatibility with our original name, users can still
30 // refer to a ReplicatedMesh as a SerialMesh.
31 //
32 // This has to be a shim class rather than a typedef so that forward
33 // declarations still work.
34 class SerialMesh : public ReplicatedMesh
35 {
36 public:
37  explicit
39  unsigned char dim=1)
40  : ReplicatedMesh(comm_in,dim) {}
41 
42  SerialMesh (const UnstructuredMesh & other_mesh) : ReplicatedMesh(other_mesh) {}
43 
44  virtual std::unique_ptr<MeshBase> clone () const override
45  { return std::make_unique<SerialMesh>(*this); }
46 
47  ~SerialMesh() = default;
48 };
49 
50 } // namespace libMesh
51 
52 
53 #endif // LIBMESH_SERIAL_MESH_H
The ReplicatedMesh class is derived from the MeshBase class, and is used to store identical copies of...
unsigned int dim
The libMesh namespace provides an interface to certain functionality in the library.
virtual std::unique_ptr< MeshBase > clone() const override
Virtual copy-constructor, creates a copy of this mesh.
Definition: serial_mesh.h:44
The UnstructuredMesh class is derived from the MeshBase class.
SerialMesh(const Parallel::Communicator &comm_in, unsigned char dim=1)
Definition: serial_mesh.h:38
SerialMesh(const UnstructuredMesh &other_mesh)
Definition: serial_mesh.h:42