File: raviart-thomas.h

package info (click to toggle)
basix 0.0.1~git20210122.4f10ef2-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 696 kB
  • sloc: cpp: 3,987; python: 1,918; makefile: 33
file content (33 lines) | stat: -rw-r--r-- 894 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright (c) 2020 Chris Richardson
// FEniCS Project
// SPDX-License-Identifier:    MIT

#pragma once

#include "cell.h"
#include "finite-element.h"

namespace basix
{
/// Create Raviart-Thomas element
/// @param celltype
/// @param degree
/// @param name
FiniteElement create_rt(cell::type celltype, int degree,
                        const std::string& = std::string());

namespace dofperms
{
/// Reflect the DOFs of a RT space on a triangle
/// @param degree The degree of the RT space
/// @return A reordering of DOFs of a RT space of the given degree
Eigen::MatrixXd triangle_rt_reflection(int degree);

/// Rotate the DOFs of a RT space on a triangle
/// @param degree The number of DOFs along one side of the triangle
/// @return A reordering of DOFs of a RT space of the given degree
Eigen::MatrixXd triangle_rt_rotation(int degree);

} // namespace dofperms

} // namespace basix