Loading...
Searching...
No Matches
dolfinx::io::xdmf_mesh Namespace Reference

Low-level methods for reading XDMF files. More...

## Functions

template<std::floating_point U>
void | add_mesh (MPI_Comm comm, pugi::xml_node &xml_node, hid_t h5_id, const mesh::Mesh< U > &mesh, const std::string &path_prefix)
template<std::floating_point U>
void | add_topology_data (MPI_Comm comm, pugi::xml_node &xml_node, hid_t h5_id, const std::string &path_prefix, const mesh::Topology &topology, const mesh::Geometry< U > &geometry, int cell_dim, std::span< const std::int32_t > entities)
template<std::floating_point U>
void | add_geometry_data (MPI_Comm comm, pugi::xml_node &xml_node, hid_t h5_id, const std::string &path_prefix, const mesh::Geometry< U > &geometry)
| Add Geometry xml node.
std::pair< std::variant< std::vector< float >, std::vector< double > >, std::array< std::size_t, 2 > > | read_geometry_data (MPI_Comm comm, hid_t h5_id, const pugi::xml_node &node)
| Read geometry (coordinate) data.
std::pair< std::vector< std::int64_t >, std::array< std::size_t, 2 > > | read_topology_data (MPI_Comm comm, hid_t h5_id, const pugi::xml_node &node)
| Read topology (cell connectivity) data.
template<typename T, std::floating_point U>
void | add_meshtags (MPI_Comm comm, const mesh::MeshTags< T > &meshtags, const mesh::Geometry< U > &geometry, pugi::xml_node &xml_node, hid_t h5_id, const std::string &name)
| Add mesh tags to XDMF file.

## Detailed Description

Low-level methods for reading XDMF files.

## Function Documentation

## add_mesh()

template<std::floating_point U>

void add_mesh | ( | MPI_Comm | comm,
|  | pugi::xml_node & | xml_node,
|  | hid_t | h5_id,
|  | const mesh::Mesh< U > & | mesh,
|  | const std::string & | path_prefix )

Add Mesh to xml node

Creates new Grid with Topology and Geometry xml nodes for mesh. In HDF file data is stored under path prefix.

## add_topology_data()

template<std::floating_point U>

void add_topology_data | ( | MPI_Comm | comm,
|  | pugi::xml_node & | xml_node,
|  | hid_t | h5_id,
|  | const std::string & | path_prefix,
|  | const mesh::Topology & | topology,
|  | const mesh::Geometry< U > & | geometry,
|  | int | cell_dim,
|  | std::span< const std::int32_t > | entities )

Add Topology xml node

Parameters

  [in] | comm |
  [in] | xml_node |
  [in] | h5_id |
  [in] | path_prefix |
  [in] | topology |
  [in] | geometry |
  [in] | cell_dim | Dimension of mesh entities to save
  [in] | entities | Local-to-process indices of mesh entities whose topology will be saved. This is used to save subsets of Mesh.

## read_geometry_data()

std::pair< std::variant< std::vector< float >, std::vector< double > >, std::array< std::size_t, 2 > > read_geometry_data | ( | MPI_Comm | comm,
|  | hid_t | h5_id,
|  | const pugi::xml_node & | node )

Read geometry (coordinate) data.

Returns
  The coordinates of each 'node'. The returned data is (0) an array holding the coordinates (row-major storage) and (1) the shape of the coordinate array. The shape is (num_nodes, geometric dimension).

## read_topology_data()

std::pair< std::vector< std::int64_t >, std::array< std::size_t, 2 > > read_topology_data | ( | MPI_Comm | comm,
|  | hid_t | h5_id,
|  | const pugi::xml_node & | node )

Read topology (cell connectivity) data.

Returns
  Mesh topology in DOLFINx ordering, where data row i lists the 'nodes' of cell i. The returned data is (0) an array holding the topology data (row-major storage) and (1) the shape of the topology array. The shape is (num_cells, num_nodes_per_cell)