20 #include "libmesh/distributed_mesh.h" 
   21 #include "libmesh/equation_systems.h" 
   22 #include "libmesh/libmesh_logging.h" 
   23 #include "libmesh/mesh_output.h" 
   24 #include "libmesh/unstructured_mesh.h" 
   25 #include "libmesh/numeric_vector.h" 
   33                                              const std::set<std::string> * system_names)
 
   35   LOG_SCOPE(
"write_equation_systems()", 
"MeshOutput");
 
   39   MT & my_mesh = const_cast<MT &>(*_obj);
 
   43   libmesh_assert_equal_to(&es.
get_mesh(), _obj);
 
   47   if (my_mesh.max_elem_id() != my_mesh.n_elem() ||
 
   48       my_mesh.max_node_id() != my_mesh.n_nodes())
 
   55                       "Warning:  This MeshOutput subclass only supports meshes which are contiguously renumbered!" 
   58       my_mesh.allow_renumbering(
true);
 
   60       my_mesh.renumber_nodes_and_elements();
 
   64       my_mesh.allow_renumbering(
false);
 
   67   if (!_is_parallel_format)
 
   69       MeshSerializer serialize(const_cast<MT &>(*_obj), !_is_parallel_format, _serial_only_needed_on_proc_0);
 
   72       std::vector<std::string> names;
 
   77       std::vector<Number> soln;
 
   80       this->write_nodal_data (fname, soln, names);
 
   83     this->write_nodal_data (fname, es, system_names);
 
   89                                                            const std::set<std::string> * system_names)
 
   91   LOG_SCOPE(
"write_discontinuous_equation_systems()", 
"MeshOutput");
 
   95   MT & my_mesh = const_cast<MT &>(*_obj);
 
   99   libmesh_assert_equal_to(&es.
get_mesh(), _obj);
 
  103   if (my_mesh.max_elem_id() != my_mesh.n_elem() ||
 
  104       my_mesh.max_node_id() != my_mesh.n_nodes())
 
  111                       "Warning:  This MeshOutput subclass only supports meshes which are contiguously renumbered!" 
  114       my_mesh.allow_renumbering(
true);
 
  116       my_mesh.renumber_nodes_and_elements();
 
  120       my_mesh.allow_renumbering(
false);
 
  123   MeshSerializer serialize(const_cast<MT &>(*_obj), !_is_parallel_format, _serial_only_needed_on_proc_0);
 
  126   std::vector<std::string> names;
 
  129   if (!_is_parallel_format)
 
  133       std::vector<Number> soln;
 
  136       this->write_nodal_data_discontinuous (fname, soln, names);
 
  140       libmesh_not_implemented();
 
  147                                        const std::vector<std::string> & names)
 
  152   std::vector<Number> soln;
 
  154   this->write_nodal_data(fname, soln, names);
 
  160                                        const std::set<std::string> * system_names)
 
  162   std::vector<std::string> names;
 
  165   std::unique_ptr<NumericVector<Number>> parallel_soln =
 
  168   this->write_nodal_data (fname, *parallel_soln, names);