DOLFINx 0.12.0.0
DOLFINx C++
Loading...
Searching...
No Matches
permutationcomputation.h
1// Copyright (C) 2020 Matthew Scroggs
2// Copyright (C) 2020-2026 Matthew Scroggs and Jørgen S. Dokken
3//
4// This file is part of DOLFINx (https://www.fenicsproject.org)
5//
6// SPDX-License-Identifier: LGPL-3.0-or-later
7
8#pragma once
9
10#include <cstdint>
11#include <vector>
12
13namespace dolfinx::mesh
14{
15class Topology;
16
27constexpr std::uint32_t reversed_cell_bit = std::uint32_t(1) << 31;
28
43
55std::vector<std::uint8_t> compute_entity_permutations(const Topology& topology,
56 int dim, int num_threads);
57
111std::vector<std::uint32_t> compute_cell_permutations(const Topology& topology,
112 int num_threads);
113
152std::vector<std::int8_t> compute_cell_orientations(const Topology& topology);
153
154} // namespace dolfinx::mesh
Topology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relat...
Definition Topology.h:49
Mesh data structures and algorithms on meshes.
Definition DofMap.h:32
std::vector< std::uint32_t > compute_cell_permutations(const Topology &topology, int num_threads)
Compute the packed per-cell permutation data.
Definition permutationcomputation.cpp:424
std::vector< std::uint8_t > compute_entity_permutations(const Topology &topology, int dim, int num_threads)
Compute the permutation to apply to each cell-local entity of a given dimension.
Definition permutationcomputation.cpp:359
constexpr std::uint32_t reversed_cell_bit
Bit of the cell permutation info that marks a cell whose orientation is reversed relative to the orie...
Definition permutationcomputation.h:27
std::vector< std::int8_t > compute_cell_orientations(const Topology &topology)
Compute a consistent orientation of the cells of a surface mesh.
Definition permutationcomputation.cpp:519