Basix
Loading...
Searching...
No Matches
dof-transformations.h
1// Copyright (c) 2020 Chris Richardson & Matthew Scroggs
2// FEniCS Project
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
7#include "cell.h"
8#include "maps.h"
9#include "mdspan.hpp"
10#include "polyset.h"
11#include <array>
12#include <concepts>
13#include <map>
14#include <utility>
15#include <vector>
16
22{
23
40template <std::floating_point T>
41std::map<cell::type, std::pair<std::vector<T>, std::array<std::size_t, 3>>>
43 cell::type cell_type,
44 const std::array<
45 std::vector<MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
46 const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>>,
47 4>& x,
48 const std::array<
49 std::vector<MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
50 const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 4>>>,
51 4>& M,
52 MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan<
53 const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents<std::size_t, 2>>
54 coeffs,
55 int degree, std::size_t vs, maps::type map_type, polyset::type ptype);
56
57} // namespace basix::doftransforms
type
Cell type.
Definition cell.h:21
Definition dof-transformations.h:22
std::map< cell::type, std::pair< std::vector< T >, std::array< std::size_t, 3 > > > compute_entity_transformations(cell::type cell_type, const std::array< std::vector< MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 > > >, 4 > &x, const std::array< std::vector< MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 4 > > >, 4 > &M, MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 > > coeffs, int degree, std::size_t vs, maps::type map_type, polyset::type ptype)
Compute the entity DOF transformations for an element.
Definition dof-transformations.cpp:421
type
Map type.
Definition maps.h:38
type
Cell type.
Definition polyset.h:136