DOLFINx 0.12.0.0
DOLFINx C++
Loading...
Searching...
No Matches
utils.h
1// Copyright (C) 2025 Garth N. Wells
2//
3// This file is part of DOLFINx (https://www.fenicsproject.org)
4//
5// SPDX-License-Identifier: LGPL-3.0-or-later
6
7#pragma once
8
9#include "AdjacencyList.h"
10#include <string>
11#include <tuple>
12#include <utility>
13
14namespace dolfinx::common
15{
16class IndexMap;
17}
18
19namespace dolfinx::graph
20{
52 std::pair<std::int32_t, std::int32_t>>
53comm_graph(const common::IndexMap& map, int root = 0);
54
68std::string
69comm_to_json(const AdjacencyList<std::tuple<int, std::size_t, std::int8_t>,
70 std::pair<std::int32_t, std::int32_t>>& g);
71} // namespace dolfinx::graph
Definition IndexMap.h:96
This class provides a static adjacency list data structure.
Definition AdjacencyList.h:41
Miscellaneous classes, functions and types.
Definition dolfinx_common.h:8
Graph data structures and algorithms.
Definition AdjacencyList.h:23
AdjacencyList< std::tuple< int, std::size_t, std::int8_t >, std::pair< std::int32_t, std::int32_t > > comm_graph(const common::IndexMap &map, int root=0)
Compute an directed graph that describes the parallel communication patterns.
Definition utils.cpp:21
std::string comm_to_json(const AdjacencyList< std::tuple< int, std::size_t, std::int8_t >, std::pair< std::int32_t, std::int32_t > > &g)
Build communication graph data as a JSON string.
Definition utils.cpp:106