XDMF-backend#

Relies on MPI compatible h5py, similar to the H5PY backend. See that backend for detailed installation instructions.

Module that uses DOLFINx/H5py to import XDMF files.

io4dolfinx.backends.xdmf.backend.get_default_backend_args(arguments: dict[str, Any] | None) dict[str, Any][source]#

Get default backend arguments given a set of input arguments.

Parameters:

arguments – Input backend arguments

Returns:

Updated backend arguments

io4dolfinx.backends.xdmf.backend.read_cell_data(filename: Path | str, name: str, comm: Intracomm, time: str | float | None, backend_args: dict[str, Any] | None) tuple[ndarray[tuple[int, ...], dtype[int64]], ndarray][source]#

Read data from the cells of a mesh.

Parameters:
  • filename – Path to file

  • name – Name of point data

  • comm – Communicator to launch IO on.

  • time – The time stamp

  • backend_args – The backend arguments

Returns:

A tuple (topology, dofs) where topology contains the vertex indices of the cells, dofs the degrees of freedom within that cell.

io4dolfinx.backends.xdmf.backend.read_function_names(filename: Path | str, comm: Intracomm, backend_args: dict[str, Any] | None) list[str][source]#

Read all function names from a file.

Parameters:
  • filename – Path to file

  • comm – MPI communicator to launch IO on.

  • backend_args – Arguments to backend

Returns:

A list of function names.

io4dolfinx.backends.xdmf.backend.read_mesh_data(filename: Path | str, comm: Intracomm, time: str | float | None, read_from_partition: bool, backend_args: dict[str, Any] | None) ReadMeshData[source]#

Read mesh data from file.

Parameters:
  • filename – Path to file to read from

  • comm – MPI communicator used in storage

  • time – Time stamp associated with the mesh to read

  • read_from_partition – Whether to read partition information

  • backend_args – Arguments to backend

Returns:

Internal data structure for the mesh data read from file

io4dolfinx.backends.xdmf.backend.read_point_data(filename: Path | str, name: str, comm: Intracomm, time: float | str | None, backend_args: dict[str, Any] | None) tuple[ndarray, int][source]#

Read data from the nodes of a mesh.

Parameters:
  • filename – Path to file

  • name – Name of point data

  • comm – Communicator to launch IO on.

  • time – The time stamp

  • backend_args – The backend arguments

Returns:

Data local to process (contiguous, no mpi comm) and local start range

io4dolfinx.backends.xdmf.backend.write_data(filename: Path | str, point_data: ArrayData, comm: Intracomm, time: str | float | None, mode: FileMode, backend_args: dict[str, Any] | None)[source]#

Write a 2D-array to file (distributed across proceses with MPI).

Parameters:
  • filename – Path to file

  • point_data – Data to write to file

  • time – Time stamp

  • mode – Append or write

  • backend_args – The backend arguments