Basix 0.9.0

Home     Installation     Demos     C++ docs     Python docs

e-lagrange.h
1 // Copyright (c) 2020-2022 Chris Richardson, Matthew Scroggs and Garth N. Wells
2 // FEniCS Project
3 // SPDX-License-Identifier: MIT
4 
5 #pragma once
6 
7 #include "cell.h"
8 #include "element-families.h"
9 #include "finite-element.h"
10 #include <concepts>
11 
12 namespace basix::element
13 {
21 template <std::floating_point T>
22 FiniteElement<T> create_lagrange(cell::type celltype, int degree,
23  lagrange_variant variant, bool discontinuous,
24  std::vector<int> dof_ordering = {});
25 
32 template <std::floating_point T>
33 FiniteElement<T> create_iso(cell::type celltype, int degree,
34  lagrange_variant variant, bool discontinuous);
35 } // namespace basix::element
type
Cell type.
Definition: cell.h:21
Interfaces for creating finite elements.
Definition: e-brezzi-douglas-marini.h:13
lagrange_variant
Variants of a Lagrange space that can be created.
Definition: element-families.h:12
FiniteElement< T > create_lagrange(cell::type celltype, int degree, lagrange_variant variant, bool discontinuous, std::vector< int > dof_ordering={})
Create a Lagrange(-like) element on cell with given degree.
Definition: e-lagrange.cpp:439
FiniteElement< T > create_iso(cell::type celltype, int degree, lagrange_variant variant, bool discontinuous)
Create an iso macro element on cell with given degree.
Definition: e-lagrange.cpp:622