![]() |
deal.II version GIT relicensing-6816-g8d70a4508a 2026-09-28 16:30:01+00:00
|
#include <deal.II/base/data_out_base.h>
A class to store relevant data to use when writing a lightweight XDMF file. The XDMF file in turn points to heavy data files (such as HDF5) where the actual simulation data is stored. This allows flexibility in arranging the data, and also allows the mesh to be separated from the point data.
Definition at line 3543 of file data_out_base.h.
Public Member Functions | |
| XDMFEntry () | |
| template<int dim> | |
| XDMFEntry (const std::string &filename, const double time, const std::uint64_t nodes, const std::uint64_t cells, const unsigned int dim_, const ReferenceCell< dim > &cell_type) | |
| template<int dim> | |
| XDMFEntry (const std::string &mesh_filename, const std::string &solution_filename, const double time, const std::uint64_t nodes, const std::uint64_t cells, const unsigned int dim_, const ReferenceCell< dim > &cell_type) | |
| template<int dim> | |
| XDMFEntry (const std::string &mesh_filename, const std::string &solution_filename, const double time, const std::uint64_t nodes, const std::uint64_t cells, const unsigned int dim_, const unsigned int spacedim, const ReferenceCell< dim > &cell_type) | |
| void | add_attribute (const std::string &attr_name, const unsigned int dimension) |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int) |
| std::string | get_xdmf_content (const unsigned int indent_level) const |
Private Attributes | |
| bool | valid |
| std::string | h5_sol_filename |
| std::string | h5_mesh_filename |
| double | entry_time |
| std::uint64_t | num_nodes |
| std::uint64_t | num_cells |
| unsigned int | dimension |
| unsigned int | space_dimension |
| std::string | cell_type_name |
| unsigned int | n_vertices_per_cell |
| std::map< std::string, unsigned int > | attribute_dims |
| XDMFEntry::XDMFEntry | ( | ) |
Default constructor that creates an invalid object.
Definition at line 10086 of file data_out_base.cc.
| XDMFEntry::XDMFEntry | ( | const std::string & | filename, |
| const double | time, | ||
| const std::uint64_t | nodes, | ||
| const std::uint64_t | cells, | ||
| const unsigned int | dim_, | ||
| const ReferenceCell< dim > & | cell_type | ||
| ) |
Simplified constructor that calls the complete constructor for cases where solution_filename == mesh_filename, and dim==spacedim.
Definition at line 10102 of file data_out_base.cc.
| XDMFEntry::XDMFEntry | ( | const std::string & | mesh_filename, |
| const std::string & | solution_filename, | ||
| const double | time, | ||
| const std::uint64_t | nodes, | ||
| const std::uint64_t | cells, | ||
| const unsigned int | dim_, | ||
| const ReferenceCell< dim > & | cell_type | ||
| ) |
Simplified constructor that calls the complete constructor for cases where dim==spacedim.
Definition at line 10116 of file data_out_base.cc.
| XDMFEntry::XDMFEntry | ( | const std::string & | mesh_filename, |
| const std::string & | solution_filename, | ||
| const double | time, | ||
| const std::uint64_t | nodes, | ||
| const std::uint64_t | cells, | ||
| const unsigned int | dim_, | ||
| const unsigned int | spacedim, | ||
| const ReferenceCell< dim > & | cell_type | ||
| ) |
Constructor that sets all members to provided parameters.
Definition at line 10157 of file data_out_base.cc.
| void XDMFEntry::add_attribute | ( | const std::string & | attr_name, |
| const unsigned int | dimension | ||
| ) |
Record an attribute and associated dimensionality.
Definition at line 10225 of file data_out_base.cc.
|
inline |
Read or write the data of this object for serialization using the BOOST serialization library.
Definition at line 3603 of file data_out_base.h.
| std::string XDMFEntry::get_xdmf_content | ( | const unsigned int | indent_level | ) | const |
Get the XDMF content associated with this entry. If the entry is not valid, this returns an empty string.
Definition at line 10251 of file data_out_base.cc.
|
private |
Whether this entry is valid and contains data to be written.
Definition at line 3621 of file data_out_base.h.
|
private |
The name of the HDF5 heavy data solution file this entry references.
Definition at line 3626 of file data_out_base.h.
|
private |
The name of the HDF5 mesh file this entry references.
Definition at line 3631 of file data_out_base.h.
|
private |
The simulation time associated with this entry.
Definition at line 3636 of file data_out_base.h.
|
private |
The number of data nodes.
Definition at line 3641 of file data_out_base.h.
|
private |
The number of data cells.
Definition at line 3646 of file data_out_base.h.
|
private |
The dimension associated with the data.
Definition at line 3651 of file data_out_base.h.
|
private |
The dimension of the space the data lives in. Note that dimension <= space_dimension.
Definition at line 3657 of file data_out_base.h.
|
private |
The type of cell in XDMF language. We currently only support xdmf entries where all cells have the same type.
XDMFEntry objects can reference meshes independent of their dimension – the dimension and space dimension is stored as an explicit variable. But we do have to store the ReferenceCell type of the mesh so that we can output information about. In practice, we only need a symbol name for each type of reference cell, and its number of vertices, so store only that, instead of the ReferenceCell object.
Definition at line 3671 of file data_out_base.h.
|
private |
The only other property of the cell type we need is the number of vertices per cell. Store that explicitly as well.
Definition at line 3677 of file data_out_base.h.
|
private |
The attributes associated with this entry and their dimension.
Definition at line 3682 of file data_out_base.h.