Loading...
Searching...
No Matches
dof-transformations.h
// Copyright (c) 2020 Chris Richardson & Matthew Scroggs
// FEniCS Project
// SPDX-License-Identifier: MIT
#pragma once
#include "cell.h"
#include "maps.h"
#include "mdspan.hpp"
#include "polyset.h"
#include <array>
#include <concepts>
#include <map>
#include <utility>
#include <vector>
namespace basix::doftransforms
{
template <std::floating_point T>
std::map<cell::type, std::pair<std::vector<T>, std::array<std::size_t, 3>>>
compute_entity_transformations(
cell::type cell_type,
std::array<std::vector<md::mdspan<const T, md::dextents<std::size_t, 2>>>,
4>
x,
std::array<std::vector<md::mdspan<const T, md::dextents<std::size_t, 4>>>,
4>
M,
md::mdspan<const T, md::dextents<std::size_t, 2>> coeffs, int degree,
std::size_t vs, maps::type map_type, polyset::type ptype);
} // namespace basix::doftransforms
basix::cell::type
type
Cell type.
Definition cell.h:21
basix::doftransforms
Functions to transform DOFs in high degree Lagrange spaces. The functions in this namespace calculate...
Definition dof-transformations.h:22
basix::doftransforms::compute_entity_transformations
std::map< cell::type, std::pair< std::vector< T >, std::array< std::size_t, 3 > > > compute_entity_transformations(cell::type cell_type, std::array< std::vector< md::mdspan< const T, md::dextents< std::size_t, 2 > > >, 4 > x, std::array< std::vector< md::mdspan< const T, md::dextents< std::size_t, 4 > > >, 4 > M, md::mdspan< const T, md::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:501
basix::maps::type
type
Map type.
Definition maps.h:40
basix::polyset::type
type
Cell type.
Definition polyset.h:137