libMesh
Loading...
Searching...
No Matches
include
mesh
mesh_serializer.h
Go to the documentation of this file.
1
// The libMesh Finite Element Library.
2
// Copyright (C) 2002-2026 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
#ifndef LIBMESH_MESH_SERIALIZER_H
20
#define LIBMESH_MESH_SERIALIZER_H
21
22
// Local includes
23
24
// C++ includes
25
26
27
namespace
libMesh
28
{
29
// Forward declarations
30
class
MeshBase;
31
55
class
MeshSerializer
56
{
57
public
:
58
MeshSerializer
(
MeshBase
&
mesh
,
bool
need_serial =
true
,
bool
serial_only_needed_on_proc_0 =
false
);
59
60
~MeshSerializer
();
61
62
private
:
63
/*
64
* The mesh which should remain serialized while this serializer
65
* exists
66
*/
67
MeshBase
&
_mesh
;
68
69
/*
70
* Whether to delete remote elements on the mesh (returning it to a
71
* distributed state) when the serializer is destroyed
72
*/
73
bool
reparallelize
;
74
75
/*
76
* Whether to again allow `prepare_for_use` to delete remote
77
* elements on the mesh (returning it to a distributed state) after
78
* the serializer is destroyed
79
*/
80
bool
resume_allow_remote_element_removal
;
81
};
82
83
}
// namespace libMesh
84
85
#endif
// LIBMESH_MESH_SERIALIZER_H
libMesh::MeshBase
This is the MeshBase class.
Definition
mesh_base.h:81
libMesh::MeshSerializer
Temporarily serialize a DistributedMesh for non-distributed-mesh capable code paths.
Definition
mesh_serializer.h:56
libMesh::MeshSerializer::resume_allow_remote_element_removal
bool resume_allow_remote_element_removal
Definition
mesh_serializer.h:80
libMesh::MeshSerializer::_mesh
MeshBase & _mesh
Definition
mesh_serializer.h:67
libMesh::MeshSerializer::reparallelize
bool reparallelize
Definition
mesh_serializer.h:73
libMesh::MeshSerializer::~MeshSerializer
~MeshSerializer()
Definition
mesh_serializer.C:52
mesh
MeshBase & mesh
Definition
mesh_communication.C:1460
libMesh
The libMesh namespace provides an interface to certain functionality in the library.
Generated on Fri Aug 21 2026 13:32:27 for libMesh by
1.9.8