DOLFINx
0.1.0
DOLFINx C++ interface
|
Miscellaneous classes, functions and types. More...
Namespaces | |
subsystem | |
Function in this namesspace are convenience functtions for the initialisation and finalisation of various sub systems, such as MPI and PETSc. | |
Classes | |
class | IndexMap |
This class represents the distribution index arrays across processes. An index array is a contiguous collection of N+1 indices [0, 1, . . ., N] that are distributed across M processes. On a given process, the IndexMap stores a portion of the index set using local indices [0, 1, . . . , n], and a map from the local indices to a unique global index. More... | |
class | TimeLogger |
Timer logging. More... | |
class | TimeLogManager |
Logger initialisation. More... | |
class | Timer |
A timer can be used for timing tasks. The basic usage is. More... | |
class | UniqueIdGenerator |
This is a singleton class that return IDs that are unique in the lifetime of a program. More... | |
Functions | |
std::tuple< std::int64_t, std::vector< std::int32_t >, std::vector< std::vector< std::int64_t > >, std::vector< std::vector< int > > > | stack_index_maps (const std::vector< std::pair< std::reference_wrapper< const common::IndexMap >, int >> &maps) |
Compute layout data and ghost indices for a stacked (concatenated) index map, i.e. 'splice' multiple maps into one. Communication is required to compute the new ghost indices. More... | |
template<typename U , typename V > | |
std::pair< U, V > | sort_unique (const U &indices, const V &values) |
Sort two arrays based on the values in array indices . Any duplicate indices and the corresponding value are removed. In the case of duplicates, the entry with the smallest value is retained. More... | |
std::string | indent (std::string block) |
Indent string block. | |
template<typename T > | |
std::string | container_to_string (const T &x, const int precision, const int linebreak) |
Convert a container to string. | |
template<class T > | |
std::size_t | hash_local (const T &x) |
Return a hash of a given object. | |
template<class T > | |
std::int64_t | hash_global (const MPI_Comm comm, const T &x) |
Return a hash for a distributed (MPI) object. A hash is computed on each process, and the hash of the std::vector of all local hash keys is returned. This function is collective. | |
Miscellaneous classes, functions and types.
This namespace provides utility type functions for managing subsystems, convenience classes and library-wide typedefs.
std::pair<U, V> dolfinx::common::sort_unique | ( | const U & | indices, |
const V & | values | ||
) |
Sort two arrays based on the values in array indices
. Any duplicate indices and the corresponding value are removed. In the case of duplicates, the entry with the smallest value is retained.
[in] | indices | Array of indices |
[in] | values | Array of values |
std::tuple< std::int64_t, std::vector< std::int32_t >, std::vector< std::vector< std::int64_t > >, std::vector< std::vector< int > > > dolfinx::common::stack_index_maps | ( | const std::vector< std::pair< std::reference_wrapper< const common::IndexMap >, int >> & | maps | ) |
Compute layout data and ghost indices for a stacked (concatenated) index map, i.e. 'splice' multiple maps into one. Communication is required to compute the new ghost indices.
[in] | maps | List of (index map, block size) pairs |
Build arrays from old ghost index to composite ghost index for each field