DOLFINx 0.12.0.0
DOLFINx C++
Loading...
Searching...
No Matches
integration_domains.h File Reference

Functions for computing integration domains. More...

#include "Form.h"
#include <algorithm>
#include <array>
#include <cassert>
#include <cstdint>
#include <dolfinx/graph/AdjacencyList.h>
#include <dolfinx/mesh/Topology.h>
#include <ranges>
#include <span>
#include <vector>
Include dependency graph for integration_domains.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  dolfinx
 Top-level namespace.
namespace  dolfinx::fem
 Finite element method functionality.

Functions

template<int num_cells>
std::array< std::int32_t, 2 *num_cells > get_cell_facet_pairs (std::int32_t f, std::span< const std::int32_t > cells, const graph::AdjacencyList< std::int32_t > &c_to_f)
template<int num_cells>
std::array< std::int32_t, 2 *num_cells > get_cell_entity_pairs (std::int32_t e, std::span< const std::int32_t > cells, const graph::AdjacencyList< std::int32_t > &c_to_e)
std::vector< std::int32_t > compute_integration_domains (IntegralType integral_type, const mesh::Topology &topology, std::span< const std::int32_t > entities)
 Given an integral type and a set of entities, computes and return data for the entities that should be integrated over.

Detailed Description

Functions for computing integration domains.

Function Documentation

◆ get_cell_entity_pairs()

template<int num_cells>
std::array< std::int32_t, 2 *num_cells > get_cell_entity_pairs ( std::int32_t e,
std::span< const std::int32_t > cells,
const graph::AdjacencyList< std::int32_t > & c_to_e )

Helper function to get an array of of (cell, local_entity) pairs corresponding to a given entity index.

Note
If the entity is connected to multiple cells, the first one is picked.
Parameters
[in]eentity index
[in]cellsList of cells incident to the entity
[in]c_to_eCell to entity connectivity
Returns
Vector of (cell, local_entity) pairs

◆ get_cell_facet_pairs()

template<int num_cells>
std::array< std::int32_t, 2 *num_cells > get_cell_facet_pairs ( std::int32_t f,
std::span< const std::int32_t > cells,
const graph::AdjacencyList< std::int32_t > & c_to_f )

Helper function to get an array of (cell, local_facet) pairs corresponding to a given facet index.

Parameters
[in]fFacet index
[in]cellsList of cells incident to the facet
[in]c_to_fCell to facet connectivity
Returns
Vector of (cell, local_facet) pairs