Loading...
Searching...
No Matches
dolfin::HDF5Utility Class Reference

`#include <HDF5Utility.h>`

## Static Public Member Functions

static void | map_gdof_to_cell (const MPI_Comm mpi_comm, const std::vector< std::size_t > &input_cells, const std::vector< dolfin::la_index > &input_cell_dofs, const std::vector< std::size_t > &x_cell_dofs, const std::pair< dolfin::la_index, dolfin::la_index > vector_range, std::vector< std::size_t > &global_cells, std::vector< std::size_t > &remote_local_dofi)
static void | get_global_dof (MPI_Comm mpi_comm, const std::vector< std::pair< std::size_t, std::size_t > > &cell_ownership, const std::vector< std::size_t > &remote_local_dofi, std::pair< std::size_t, std::size_t > vector_range, const GenericDofMap &dofmap, std::vector< dolfin::la_index > &global_dof)
static std::vector< std::pair< std::size_t, std::size_t > > | cell_owners (const Mesh &mesh, const std::vector< std::size_t > &cells)
static void | cell_owners_in_range (std::vector< std::pair< std::size_t, std::size_t > > &global_owner, const Mesh &mesh)
static void | build_local_mesh (Mesh &mesh, const LocalMeshData &mesh_data)
static void | set_local_vector_values (MPI_Comm mpi_comm, GenericVector &x, const Mesh &mesh, const std::vector< size_t > &cells, const std::vector< dolfin::la_index > &cell_dofs, const std::vector< std::size_t > &x_cell_dofs, const std::vector< double > &vector, std::pair< dolfin::la_index, dolfin::la_index > input_vector_range, const GenericDofMap &dofmap)
| Missing docstring.

## Detailed Description

This class contains some algorithms which do not explicitly depend on the HDF5 file format, mostly to do with reorganising Mesh entities with MPI

## Member Function Documentation

## build_local_mesh()

void HDF5Utility::build_local_mesh | ( | Mesh & | mesh,
|  | const LocalMeshData & | mesh_data )

static

Convert LocalMeshData structure to a Mesh, used when running in serial

## cell_owners()

std::vector< std::pair< std::size_t, std::size_t > > HDF5Utility::cell_owners | ( | const Mesh & | mesh,
|  | const std::vector< std::size_t > & | cells )

static

Get cell owners for an arbitrary set of cells. Returns (process, local index) pairs

## cell_owners_in_range()

void HDF5Utility::cell_owners_in_range | ( | std::vector< std::pair< std::size_t, std::size_t > > & | global_owner,
|  | const Mesh & | mesh )

static

Get mapping of cells in the assigned global range of the current process to remote process and remote local index.

## get_global_dof()

void HDF5Utility::get_global_dof | ( | MPI_Comm | mpi_comm,
|  | const std::vector< std::pair< std::size_t, std::size_t > > & | cell_ownership,
|  | const std::vector< std::size_t > & | remote_local_dofi,
|  | std::pair< std::size_t, std::size_t > | vector_range,
|  | const GenericDofMap & | dofmap,
|  | std::vector< dolfin::la_index > & | global_dof )

static

Given the cell dof index specified as (process, local_cell_index, local_cell_dof_index) get the global_dof index from that location, and return it for all DOFs in the range of "vector_range"

## map_gdof_to_cell()

void HDF5Utility::map_gdof_to_cell | ( | const MPI_Comm | mpi_comm,
|  | const std::vector< std::size_t > & | input_cells,
|  | const std::vector< dolfin::la_index > & | input_cell_dofs,
|  | const std::vector< std::size_t > & | x_cell_dofs,
|  | const std::pair< dolfin::la_index, dolfin::la_index > | vector_range,
|  | std::vector< std::size_t > & | global_cells,
|  | std::vector< std::size_t > & | remote_local_dofi )

static

Generate two vectors, in the range of "vector_range" of the global DOFs. global_cells is a list of cells which point to the DOF (non-unique) and remote_local_dofi is the pertinent local_dof of the cell. input_cells is a list of cells held on this process, and input_cell_dofs/x_cell_dofs list their local_dofs.

The documentation for this class was generated from the following files:

- /build/dolfin-wwk1CC/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/io/HDF5Utility.h
- /build/dolfin-wwk1CC/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/io/HDF5Utility.cpp