9#include "HDF5Interface.h" 
   11#include <dolfinx/common/MPI.h> 
   12#include <dolfinx/mesh/cell_types.h> 
   26template <std::
floating_po
int T>
 
   27class CoordinateElement;
 
   28template <dolfinx::scalar T, std::
floating_po
int U>
 
   34template <std::
floating_po
int T>
 
   37template <std::
floating_po
int T>
 
   70  XDMFFile(MPI_Comm 
comm, 
const std::filesystem::path& filename,
 
   89  template <std::
floating_po
int U>
 
   91                  std::string xpath = 
"/Xdmf/Domain");
 
   98                      std::string xpath = 
"/Xdmf/Domain");
 
  110                               std::string xpath = 
"/Xdmf/Domain") 
const;
 
  116  std::pair<std::vector<std::int64_t>, std::array<std::size_t, 2>>
 
  118                     std::string xpath = 
"/Xdmf/Domain") 
const;
 
  124  std::pair<std::variant<std::vector<float>, std::vector<double>>,
 
  125            std::array<std::size_t, 2>>
 
  127                     std::string xpath = 
"/Xdmf/Domain") 
const;
 
  132  std::pair<mesh::CellType, int>
 
  133  read_cell_type(std::string grid_name, std::string xpath = 
"/Xdmf/Domain");
 
  151  template <dolfinx::scalar T, std::
floating_po
int U = scalar_value_type_t<T>>
 
  153                      std::string mesh_xpath
 
  154                      = 
"/Xdmf/Domain/Grid[@GridType='Uniform'][1]");
 
  162  template <std::
floating_po
int T>
 
  165                      std::string xpath = 
"/Xdmf/Domain");
 
  173                std::string xpath = 
"/Xdmf/Domain");
 
  180                         std::string xpath = 
"/Xdmf/Domain/");
 
  186                               std::string xpath = 
"/Xdmf/Domain/");
 
  190  MPI_Comm 
comm() 
const;
 
  197  std::filesystem::path _filename;
 
  200  std::string _file_mode;
 
  207  std::unique_ptr<pugi::xml_document> _xml_doc;
 
 
A duplicate MPI communicator and manage lifetime of the communicator.
Definition MPI.h:43
 
A CoordinateElement manages coordinate mappings for isoparametric cells.
Definition CoordinateElement.h:39
 
This class represents a function  in a finite element function space , given by.
Definition Function.h:45
 
Read and write mesh::Mesh, fem::Function and other objects in XDMF.
Definition XDMFFile.h:57
 
mesh::Mesh< double > read_mesh(const fem::CoordinateElement< double > &element, mesh::GhostMode mode, std::string name, std::string xpath="/Xdmf/Domain") const
Read in Mesh.
Definition XDMFFile.cpp:171
 
void write_meshtags(const mesh::MeshTags< std::int32_t > &meshtags, const mesh::Geometry< T > &x, std::string geometry_xpath, std::string xpath="/Xdmf/Domain")
Write MeshTags.
Definition XDMFFile.cpp:295
 
void write_information(std::string name, std::string value, std::string xpath="/Xdmf/Domain/")
Write Information.
Definition XDMFFile.cpp:410
 
~XDMFFile()
Destructor.
Definition XDMFFile.cpp:120
 
static const Encoding default_encoding
Default encoding type.
Definition XDMFFile.h:67
 
void write_function(const fem::Function< T, U > &u, double t, std::string mesh_xpath="/Xdmf/Domain/Grid[@GridType='Uniform'][1]")
Write a fem::Function to file.
Definition XDMFFile.cpp:227
 
void close()
Close the file.
Definition XDMFFile.cpp:122
 
mesh::MeshTags< std::int32_t > read_meshtags(const mesh::Mesh< double > &mesh, std::string name, std::string xpath="/Xdmf/Domain")
Read MeshTags.
Definition XDMFFile.cpp:331
 
XDMFFile(XDMFFile &&)=default
Move constructor.
 
std::pair< std::vector< std::int64_t >, std::array< std::size_t, 2 > > read_topology_data(std::string name, std::string xpath="/Xdmf/Domain") const
Read Topology data for Mesh.
Definition XDMFFile.cpp:194
 
std::pair< mesh::CellType, int > read_cell_type(std::string grid_name, std::string xpath="/Xdmf/Domain")
Read information about cell type.
Definition XDMFFile.cpp:385
 
std::pair< std::variant< std::vector< float >, std::vector< double > >, std::array< std::size_t, 2 > > read_geometry_data(std::string name, std::string xpath="/Xdmf/Domain") const
Read Geometry data for Mesh.
Definition XDMFFile.cpp:211
 
void write_geometry(const mesh::Geometry< double > &geometry, std::string name, std::string xpath="/Xdmf/Domain")
Save Geometry.
Definition XDMFFile.cpp:148
 
std::string read_information(std::string name, std::string xpath="/Xdmf/Domain/")
Read Information.
Definition XDMFFile.cpp:427
 
MPI_Comm comm() const
Get the MPI communicator.
Definition XDMFFile.cpp:443
 
Encoding
File encoding type.
Definition XDMFFile.h:61
 
void write_mesh(const mesh::Mesh< U > &mesh, std::string xpath="/Xdmf/Domain")
Save Mesh.
Definition XDMFFile.cpp:130
 
Geometry stores the geometry imposed on a mesh.
Definition Geometry.h:33
 
A Mesh consists of a set of connected and numbered mesh topological entities, and geometry data.
Definition Mesh.h:23
 
Finite element method functionality.
Definition assemble_matrix_impl.h:25
 
Support for file IO.
Definition ADIOS2Writers.h:41
 
Mesh data structures and algorithms on meshes.
Definition DofMap.h:32
 
GhostMode
Enum for different partitioning ghost modes.
Definition utils.h:35