Go to the documentation of this file.
20 #ifndef LIBMESH_MESH_OUTPUT_H
21 #define LIBMESH_MESH_OUTPUT_H
25 #include "libmesh/libmesh_common.h"
26 #include "libmesh/libmesh_logging.h"
27 #include "libmesh/mesh_base.h"
28 #include "libmesh/mesh_serializer.h"
40 class EquationSystems;
41 template <
typename T>
class NumericVector;
62 MeshOutput (
const bool is_parallel_format =
false,
const bool serial_only_needed_on_proc_0 =
false);
69 MeshOutput (
const MT &,
const bool is_parallel_format =
false,
const bool serial_only_needed_on_proc_0 =
false);
82 virtual void write (
const std::string &) = 0;
90 const std::set<std::string> * system_names=
nullptr);
99 const std::set<std::string> * system_names=
nullptr);
106 const std::vector<Number> &,
107 const std::vector<std::string> &)
108 { libmesh_not_implemented(); }
115 const std::vector<Number> &,
116 const std::vector<std::string> &)
117 { libmesh_not_implemented(); }
134 const std::vector<std::string> &);
147 const std::set<std::string> *);
164 const MT &
mesh()
const;
208 _is_parallel_format(is_parallel_format),
209 _serial_only_needed_on_proc_0(serial_only_needed_on_proc_0),
211 _ascii_precision (
std::numeric_limits<
Real>::max_digits10)
219 _is_parallel_format(is_parallel_format),
220 _serial_only_needed_on_proc_0(serial_only_needed_on_proc_0),
222 _ascii_precision (
std::numeric_limits<
Real>::max_digits10)
224 if (!_is_parallel_format && !this->
mesh().is_serial())
226 if (this->
mesh().processor_id() == 0)
229 "Warning: This MeshOutput subclass only supports meshes which have been serialized!"
259 return _ascii_precision;
266 #endif // LIBMESH_MESH_OUTPUT_H
MeshOutput(const bool is_parallel_format=false, const bool serial_only_needed_on_proc_0=false)
Default constructor.
const bool _serial_only_needed_on_proc_0
Flag specifying whether this format can be written by only serializing the mesh to processor zero.
The libMesh namespace provides an interface to certain functionality in the library.
unsigned int & ascii_precision()
Return/set the precision to use when writing ASCII files.
const bool _is_parallel_format
Flag specifying whether this format is parallel-capable.
This is the EquationSystems class.
virtual void write_equation_systems(const std::string &, const EquationSystems &, const std::set< std::string > *system_names=nullptr)
This method implements writing a mesh with data to a specified file where the data is taken from the ...
virtual void write(const std::string &)=0
This method implements writing a mesh to a specified file.
This class defines an abstract interface for Mesh output.
virtual void write_nodal_data(const std::string &, const std::vector< Number > &, const std::vector< std::string > &)
This method implements writing a mesh with nodal data to a specified file where the nodal data and va...
virtual void write_discontinuous_equation_systems(const std::string &, const EquationSystems &, const std::set< std::string > *system_names=nullptr)
This method implements writing a mesh with discontinuous data to a specified file where the data is t...
virtual void write_nodal_data_discontinuous(const std::string &, const std::vector< Number > &, const std::vector< std::string > &)
This method implements writing a mesh with discontinuous data to a specified file where the nodal dat...
const MT *const _obj
A pointer to a constant object.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual ~MeshOutput()
Destructor.
unsigned int _ascii_precision
Precision to use when writing ASCII files.