hdf5
};
+ /**
+ * Write the given list of patches to the output stream in OpenDX format.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_dx(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const DXFlags &flags,
+ std::ostream & out);
/**
* Write the given list of patches to the output stream in OpenDX format.
const DXFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream in eps format.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int spacedim>
+ DEAL_II_DEPRECATED void
+ write_eps(
+ const std::vector<Patch<2, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const EpsFlags &flags,
+ std::ostream & out);
+
+ /**
+ * This is the same function as above except for domains that are not two-
+ * dimensional. This function is not implemented (and will throw an error if
+ * called) but is declared to allow for dimension-independent programs.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_eps(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const EpsFlags &flags,
+ std::ostream & out);
+
/**
* Write the given list of patches to the output stream in eps format.
*
const EpsFlags &flags,
std::ostream & out);
+ /**
+ * This is the same function as above except for domains that are not two-
+ * dimensional. This function is not implemented (and will throw an error if
+ * called) but is declared to allow for dimension-independent programs.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_eps(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const EpsFlags &flags,
+ std::ostream & out);
+
/**
* This is the same function as above except for domains that are not two-
* dimensional. This function is not implemented (and will throw an error if
const EpsFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream in GMV format.
+ *
+ *@deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_gmv(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const GmvFlags &flags,
+ std::ostream & out);
/**
* Write the given list of patches to the output stream in GMV format.
const GmvFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream in gnuplot format.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_gnuplot(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const GnuplotFlags &flags,
+ std::ostream & out);
+
/**
* Write the given list of patches to the output stream in gnuplot format.
* Visualization of two-dimensional data can then be achieved by starting
const GnuplotFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream for the Povray
+ * raytracer.
+ *
+ *@deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_povray(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const PovrayFlags &flags,
+ std::ostream & out);
+
/**
* Write the given list of patches to the output stream for the Povray
* raytracer.
const PovrayFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream in Tecplot ASCII
+ * format (FEBLOCK).
+ *
+ * For more information consult the Tecplot Users and Reference manuals.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_tecplot(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const TecplotFlags &flags,
+ std::ostream & out);
+
/**
* Write the given list of patches to the output stream in Tecplot ASCII
* format (FEBLOCK).
const TecplotFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream in Tecplot binary
+ * format.
+ *
+ * @deprecated Use the version suing DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_tecplot_binary(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const TecplotFlags &flags,
+ std::ostream & out);
+
/**
* Write the given list of patches to the output stream in Tecplot binary
* format.
const TecplotFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream in UCD format
+ * described in the AVS developer's guide (now AVS).
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_ucd(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const UcdFlags &flags,
+ std::ostream & out);
+
/**
* Write the given list of patches to the output stream in UCD format
* described in the AVS developer's guide (now AVS). Due to limitations in
const UcdFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream in VTK format. The
+ * data is written in the traditional VTK format as opposed to the XML-based
+ * format that write_vtu() produces.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_vtk(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const VtkFlags &flags,
+ std::ostream & out);
+
/**
* Write the given list of patches to the output stream in VTK format. The
* data is written in the traditional VTK format as opposed to the XML-based
const VtkFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream in VTU format. The
+ * data is written in the XML-based VTK format as opposed to the traditional
+ * format that write_vtk() produces.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_vtu(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const VtkFlags &flags,
+ std::ostream & out);
/**
* Write the given list of patches to the output stream in VTU format. The
void
write_vtu_footer(std::ostream &out);
+ /**
+ * This function writes the main part for the xml based vtu file format. This
+ * routine is used internally together with
+ * DataOutInterface::write_vtu_header() and
+ * DataOutInterface::write_vtu_footer() by DataOutBase::write_vtu().
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_vtu_main(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const VtkFlags &flags,
+ std::ostream & out);
+
/**
* This function writes the main part for the xml based vtu file format. This
* routine is used internally together with
const VtkFlags &flags,
std::ostream & out);
+ /**
+ * Some visualization programs, such as ParaView, can read several separate
+ * VTU files that all form part of the same simulation, in order to
+ * parallelize visualization. In that case, you need a
+ * <code>.pvtu</code> file that describes which VTU files (written, for
+ * example, through the DataOutInterface::write_vtu() function) form a group.
+ * The current function can generate such a master record.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ DEAL_II_DEPRECATED
+ void
+ write_pvtu_record(
+ std::ostream & out,
+ const std::vector<std::string> &piece_names,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ &nonscalar_data_ranges);
+
/**
* Some visualization programs, such as ParaView, can read several separate
* VTU files that all form part of the same simulation, in order to
const std::vector<std::pair<double, std::vector<std::string>>>
×_and_piece_names);
+ /**
+ * Write the given list of patches to the output stream in SVG format.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int spacedim>
+ DEAL_II_DEPRECATED void
+ write_svg(
+ const std::vector<Patch<2, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const SvgFlags &flags,
+ std::ostream & out);
+
/**
* Write the given list of patches to the output stream in SVG format.
*
const SvgFlags &flags,
std::ostream & out);
+ /**
+ * Write the given list of patches to the output stream in deal.II
+ * intermediate format. This is not a format understood by any other
+ * graphics program, but is rather a direct dump of the intermediate
+ * internal format used by deal.II. This internal format is generated by the
+ * various classes that can generate output using the DataOutBase class, for
+ * example from a finite element solution, and is then converted in the
+ * present class to the final graphics format.
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_deal_II_intermediate(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const Deal_II_IntermediateFlags &flags,
+ std::ostream & out);
+
/**
* Write the given list of patches to the output stream in deal.II
* intermediate format. This is not a format understood by any other
const std::string &solution_filename,
MPI_Comm comm);
+ /**
+ * DataOutFilter is an intermediate data format that reduces the amount of
+ * data that will be written to files. The object filled by this function
+ * can then later be used again to write data in a concrete file format;
+ * see, for example, DataOutBase::write_hdf5_parallel().
+ *
+ * @deprecated Use the version using DataComponentInterpretation instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED void
+ write_filtered_data(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ DataOutFilter &filtered_data);
+
/**
* DataOutFilter is an intermediate data format that reduces the amount of
* data that will be written to files. The object filled by this function
virtual std::vector<std::string>
get_dataset_names() const = 0;
+ /**
+ * This functions returns information about how the individual components of
+ * output files that consist of more than one data set are to be
+ * interpreted.
+ *
+ * @deprecated Use get_nonscalar_data_ranges instead.
+ */
+ DEAL_II_DEPRECATED
+ virtual std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ get_vector_data_ranges() const;
+
/**
* This functions returns information about how the individual components of
* output files that consist of more than one data set are to be
+ template <int dim, int spacedim>
+ void
+ write_ucd(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+ const UcdFlags &flags,
+ std::ostream & out)
+ {
+ write_ucd(
+ patches,
+ data_names,
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>{},
+ flags,
+ out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_ucd(
}
+
+ template <int dim, int spacedim>
+ void
+ write_dx(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+ const DXFlags &flags,
+ std::ostream & out)
+ {
+ write_dx(
+ patches,
+ data_names,
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>{},
+ flags,
+ out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_dx(
+ template <int dim, int spacedim>
+ void
+ write_gnuplot(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+ const GnuplotFlags &flags,
+ std::ostream & out)
+ {
+ write_gnuplot(
+ patches,
+ data_names,
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>{},
+ flags,
+ out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_gnuplot(
+ template <int dim, int spacedim>
+ void
+ write_povray(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+ const PovrayFlags &flags,
+ std::ostream & out)
+ {
+ write_povray(
+ patches,
+ data_names,
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>{},
+ flags,
+ out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_povray(
+ template <int dim, int spacedim>
+ void
+ write_eps(
+ const std::vector<Patch<dim, spacedim>> & /*patches*/,
+ const std::vector<std::string> & /*data_names*/,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+ const EpsFlags & /*flags*/,
+ std::ostream & /*out*/)
+ {
+ // not implemented, see the documentation of the function
+ AssertThrow(dim == 2, ExcNotImplemented());
+ }
+
+
+
template <int dim, int spacedim>
void
write_eps(
}
+
+ template <int spacedim>
+ void
+ write_eps(
+ const std::vector<Patch<2, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+ const EpsFlags &flags,
+ std::ostream & out)
+ {
+ write_eps(
+ patches,
+ data_names,
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>{},
+ flags,
+ out);
+ }
+
+
+
template <int spacedim>
void
write_eps(
+ template <int dim, int spacedim>
+ void
+ write_gmv(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+ const GmvFlags &flags,
+ std::ostream & out)
+ {
+ write_gmv(
+ patches,
+ data_names,
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>{},
+ flags,
+ out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_gmv(
+ template <int dim, int spacedim>
+ void
+ write_tecplot(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+ const TecplotFlags &flags,
+ std::ostream & out)
+ {
+ write_tecplot(
+ patches,
+ data_names,
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>{},
+ flags,
+ out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_tecplot(
+ template <int dim, int spacedim>
+ void
+ write_tecplot_binary(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const TecplotFlags &flags,
+ std::ostream & out)
+ {
+ const unsigned int size = nonscalar_data_ranges.size();
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>
+ new_nonscalar_data_ranges(size);
+ for (unsigned int i = 0; i < size; ++i)
+ {
+ new_nonscalar_data_ranges[i] =
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>(
+ std::get<0>(nonscalar_data_ranges[i]),
+ std::get<1>(nonscalar_data_ranges[i]),
+ std::get<2>(nonscalar_data_ranges[i]),
+ DataComponentInterpretation::component_is_part_of_vector);
+ }
+
+ write_tecplot_binary(
+ patches, data_names, new_nonscalar_data_ranges, flags, out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_tecplot_binary(
+ template <int dim, int spacedim>
+ void
+ write_vtk(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const VtkFlags &flags,
+ std::ostream & out)
+ {
+ const unsigned int size = nonscalar_data_ranges.size();
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>
+ new_nonscalar_data_ranges(size);
+ for (unsigned int i = 0; i < size; ++i)
+ {
+ new_nonscalar_data_ranges[i] =
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>(
+ std::get<0>(nonscalar_data_ranges[i]),
+ std::get<1>(nonscalar_data_ranges[i]),
+ std::get<2>(nonscalar_data_ranges[i]),
+ DataComponentInterpretation::component_is_part_of_vector);
+ }
+
+ write_vtk(patches, data_names, new_nonscalar_data_ranges, flags, out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_vtk(
+ template <int dim, int spacedim>
+ void
+ write_vtu(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const VtkFlags &flags,
+ std::ostream & out)
+ {
+ write_vtu_header(out, flags);
+ write_vtu_main(patches, data_names, nonscalar_data_ranges, flags, out);
+ write_vtu_footer(out);
+
+ out << std::flush;
+ }
+
+
+
template <int dim, int spacedim>
void
write_vtu(
}
+
+ template <int dim, int spacedim>
+ void
+ write_vtu_main(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const VtkFlags &flags,
+ std::ostream & out)
+ {
+ const unsigned int size = nonscalar_data_ranges.size();
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>
+ new_nonscalar_data_ranges(size);
+ for (unsigned int i = 0; i < size; ++i)
+ {
+ new_nonscalar_data_ranges[i] =
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>(
+ std::get<0>(nonscalar_data_ranges[i]),
+ std::get<1>(nonscalar_data_ranges[i]),
+ std::get<2>(nonscalar_data_ranges[i]),
+ DataComponentInterpretation::component_is_part_of_vector);
+ }
+
+ write_vtu_main(patches, data_names, new_nonscalar_data_ranges, flags, out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_vtu_main(
+ void
+ write_pvtu_record(
+ std::ostream & out,
+ const std::vector<std::string> &piece_names,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ &nonscalar_data_ranges)
+ {
+ const unsigned int size = nonscalar_data_ranges.size();
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>
+ new_nonscalar_data_ranges(size);
+ for (unsigned int i = 0; i < size; ++i)
+ {
+ new_nonscalar_data_ranges[i] =
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>(
+ std::get<0>(nonscalar_data_ranges[i]),
+ std::get<1>(nonscalar_data_ranges[i]),
+ std::get<2>(nonscalar_data_ranges[i]),
+ DataComponentInterpretation::component_is_part_of_vector);
+ }
+
+ write_pvtu_record(out, piece_names, data_names, new_nonscalar_data_ranges);
+ }
+
+
+
void
write_pvtu_record(
std::ostream & out,
+ template <int dim, int spacedim>
+ void
+ write_svg(
+ const std::vector<Patch<dim, spacedim>> &,
+ const std::vector<std::string> &,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+ const SvgFlags &,
+ std::ostream &)
+ {
+ Assert(false, ExcNotImplemented());
+ }
+
+
+
template <int dim, int spacedim>
void
write_svg(
Assert(false, ExcNotImplemented());
}
+
+
+ template <int spacedim>
+ void
+ write_svg(
+ const std::vector<Patch<2, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &
+ /*nonscalar_data_ranges*/,
+ const SvgFlags &flags,
+ std::ostream & out)
+ {
+ write_svg(
+ patches,
+ data_names,
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>{},
+ flags,
+ out);
+ }
+
+
+
template <int spacedim>
void
write_svg(
+ template <int dim, int spacedim>
+ void
+ write_deal_II_intermediate(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const Deal_II_IntermediateFlags &flags,
+ std::ostream & out)
+ {
+ const unsigned int size = nonscalar_data_ranges.size();
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>
+ new_nonscalar_data_ranges(size);
+ for (unsigned int i = 0; i < size; ++i)
+ {
+ new_nonscalar_data_ranges[i] =
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>(
+ std::get<0>(nonscalar_data_ranges[i]),
+ std::get<1>(nonscalar_data_ranges[i]),
+ std::get<2>(nonscalar_data_ranges[i]),
+ DataComponentInterpretation::component_is_part_of_vector);
+ }
+
+ write_deal_II_intermediate(
+ patches, data_names, new_nonscalar_data_ranges, flags, out);
+ }
+
+
+
template <int dim, int spacedim>
void
write_deal_II_intermediate(
filtered_data);
}
+
+
template <int dim, int spacedim>
void
DataOutBase::write_filtered_data(
DataComponentInterpretation::DataComponentInterpretation>>
& nonscalar_data_ranges,
DataOutBase::DataOutFilter &filtered_data)
+{
+ const unsigned int size = nonscalar_data_ranges.size();
+ std::vector<
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>>
+ new_nonscalar_data_ranges(size);
+ for (unsigned int i = 0; i < size; ++i)
+ {
+ new_nonscalar_data_ranges[i] =
+ std::tuple<unsigned int,
+ unsigned int,
+ std::string,
+ DataComponentInterpretation::DataComponentInterpretation>(
+ std::get<0>(nonscalar_data_ranges[i]),
+ std::get<1>(nonscalar_data_ranges[i]),
+ std::get<2>(nonscalar_data_ranges[i]),
+ DataComponentInterpretation::component_is_part_of_vector);
+ }
+
+ DataOutBase::write_filtered_data(patches,
+ data_names,
+ new_nonscalar_data_ranges,
+ filtered_data);
+}
+
+
+
+template <int dim, int spacedim>
+void
+DataOutBase::write_filtered_data(
+ const std::vector<Patch<dim, spacedim>> &patches,
+ const std::vector<std::string> & data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ DataOutBase::DataOutFilter &filtered_data)
{
const unsigned int n_data_sets = data_names.size();
unsigned int n_node, n_cell;
}
+
+template <int dim, int spacedim>
+std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+DataOutInterface<dim, spacedim>::get_vector_data_ranges() const
+{
+ const auto &nonscalar_data_ranges = get_nonscalar_data_ranges();
+
+ const unsigned int size = nonscalar_data_ranges.size();
+ std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ vector_data_ranges(size);
+ for (unsigned int i = 0; i < size; ++i)
+ {
+ vector_data_ranges[i] =
+ std::tuple<unsigned int, unsigned int, std::string>(
+ std::get<0>(nonscalar_data_ranges[i]),
+ std::get<1>(nonscalar_data_ranges[i]),
+ std::get<2>(nonscalar_data_ranges[i]));
+ }
+ return vector_data_ranges;
+}
+
+
+
template <int dim, int spacedim>
void
DataOutInterface<dim, spacedim>::validate_dataset_names() const
operator>>(std::istream & in,
Patch<deal_II_dimension, deal_II_space_dimension> &patch);
+ template void
+ write_vtk(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const VtkFlags &flags,
+ std::ostream & out);
+
template void
write_vtk(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const VtkFlags &flags,
std::ostream & out);
+ template void
+ write_vtu(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const VtkFlags &flags,
+ std::ostream & out);
+
template void
write_vtu(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const VtkFlags &flags,
std::ostream & out);
+ template void
+ write_ucd(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const UcdFlags &flags,
+ std::ostream & out);
+
template void
write_ucd(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const UcdFlags &flags,
std::ostream & out);
+ template void
+ write_dx(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const DXFlags &flags,
+ std::ostream & out);
+
template void
write_dx(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const DXFlags &flags,
std::ostream & out);
+ template void
+ write_gnuplot(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const GnuplotFlags &flags,
+ std::ostream & out);
+
template void
write_gnuplot(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const GnuplotFlags &flags,
std::ostream & out);
+ template void
+ write_povray(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const PovrayFlags &flags,
+ std::ostream & out);
+
template void
write_povray(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const PovrayFlags &flags,
std::ostream & out);
+ template void
+ write_eps(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const EpsFlags &flags,
+ std::ostream & out);
+
template void
write_eps(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const EpsFlags &flags,
std::ostream & out);
+ template void
+ write_gmv(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const GmvFlags &flags,
+ std::ostream & out);
+
template void
write_gmv(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const GmvFlags &flags,
std::ostream & out);
+ template void
+ write_tecplot(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const TecplotFlags &flags,
+ std::ostream & out);
+
template void
write_tecplot(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const TecplotFlags &flags,
std::ostream & out);
+ template void
+ write_tecplot_binary(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const TecplotFlags &flags,
+ std::ostream & out);
+
template void
write_tecplot_binary(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
std::ostream & out);
# if deal_II_space_dimension > 1
+ template void
+ write_svg(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const SvgFlags &flags,
+ std::ostream & out);
+
template void
write_svg(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const SvgFlags &flags,
std::ostream & out);
# endif
+
+ template void
+ write_deal_II_intermediate(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+ & patches,
+ const std::vector<std::string> &data_names,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ & nonscalar_data_ranges,
+ const Deal_II_IntermediateFlags &flags,
+ std::ostream & out);
+
template void
write_deal_II_intermediate(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
const std::string & filename,
MPI_Comm comm);
+ template void
+ write_filtered_data(
+ const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>> &,
+ const std::vector<std::string> &,
+ const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+ &,
+ DataOutBase::DataOutFilter &);
+
template void
write_filtered_data(
const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>> &,