31 std::vector<unsigned int>
34 std::vector<unsigned int>
dpo(dim + 1);
61 std::vector<Point<dim>>
67 std::vector<Point<dim>> points =
fe_p.get_unit_support_points();
69 const auto reference_cell =
fe_p.reference_cell();
87 for (
const auto &
face_no : reference_cell.face_indices())
91 reference_cell.face_reference_cell(0).vertex_indices())
94 reference_cell.face_to_cell_vertices(
104 reference_cell.face_reference_cell(0).n_vertices();
121 std::vector<Point<0>>
124 std::vector<Point<0>> points;
125 points.emplace_back();
135 const auto reference_cell = ReferenceCells::get_simplex<dim>();
138 auto M = [](
const unsigned int d) {
158 for (
const auto &vertex : reference_cell.vertex_indices())
172 for (
const auto &
face_no : reference_cell.face_indices())
176 reference_cell.face_reference_cell(0).vertex_indices())
177 vertices.push_back(reference_cell.face_to_cell_vertices(
203 std::vector<BarycentricPolynomial<dim>>
lump_polys;
204 for (
unsigned int i = 0; i <
fe_p.n(); ++i)
208 for (
unsigned int j = 0;
j < n_bubbles; ++
j)
227 for (
unsigned int d = 0; d < dim; ++d)
255 ReferenceCells::get_simplex<dim>(),
264template <
int dim,
int spacedim>
266 const unsigned int degree)
274 , approximation_degree(degree)
279template <
int dim,
int spacedim>
284 "(" + std::to_string(approximation_degree) +
")";
289template <
int dim,
int spacedim>
290std::unique_ptr<FiniteElement<dim, spacedim>>
293 return std::make_unique<FE_SimplexP_Bubbles<dim, spacedim>>(*this);
297#include "fe_simplex_p_bubbles.inst"
static BarycentricPolynomial< dim, Number > monomial(const unsigned int d)
static BarycentricPolynomials< dim > get_fe_p_basis(const unsigned int degree)
FE_SimplexP_Bubbles(const unsigned int degree)
virtual std::unique_ptr< FiniteElement< dim, spacedim > > clone() const override
virtual std::string get_name() const override
const unsigned int degree
static constexpr unsigned char default_combined_face_orientation()
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcNotImplemented()
#define Assert(cond, exc)
static ::ExceptionBase & ExcInternalError()
#define DEAL_II_NOT_IMPLEMENTED()
BarycentricPolynomials< dim > get_basis(const unsigned int degree)
std::vector< Point< dim > > unit_support_points(const unsigned int degree)
std::vector< unsigned int > get_dpo_vector(const unsigned int degree)
std::vector< Point< 0 > > unit_support_points< 0 >(const unsigned int)
FiniteElementData< dim > get_fe_data(const unsigned int degree)
std::string dim_string(const int dim, const int spacedim)
::VectorizedArray< Number, width > abs(const ::VectorizedArray< Number, width > &)