DOLFINx 0.10.0.0
DOLFINx C++ interface
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 <dolfinx/common/IndexMap.h>
11#include <string>
12#include <tuple>
13#include <utility>
14
15namespace dolfinx::graph
16{
48 std::pair<std::int32_t, std::int32_t>>
49comm_graph(const common::IndexMap& map, int root = 0);
50
64std::string
65comm_to_json(const AdjacencyList<std::tuple<int, std::size_t, std::int8_t>,
66 std::pair<std::int32_t, std::int32_t>>& g);
67} // namespace dolfinx::graph
This class provides a static adjacency list data structure.
Definition AdjacencyList.h:38
Graph data structures and algorithms.
Definition AdjacencyList.h:20
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:19
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:104