DOLFIN
DOLFIN C++ interface
Static Public Member Functions | List of all members
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: