LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
fe_space_lagrange_o2.h
1
10#ifndef LF_USCALFE_FE_SPACE_LAGRANGE_O2_H
11#define LF_USCALFE_FE_SPACE_LAGRANGE_O2_H
12
13#include "lagr_fe.h"
14#include "uniform_scalar_fe_space.h"
15
16namespace lf::uscalfe {
28template <typename SCALAR>
30 public:
31 using Scalar = SCALAR;
32
36 FeSpaceLagrangeO2(FeSpaceLagrangeO2 &&) noexcept = default;
37 FeSpaceLagrangeO2 &operator=(const FeSpaceLagrangeO2 &) = delete;
38 FeSpaceLagrangeO2 &operator=(FeSpaceLagrangeO2 &&) noexcept = default;
46 const std::shared_ptr<const lf::mesh::Mesh> &mesh_p)
47 : UniformScalarFESpace<SCALAR>(
48 mesh_p, std::make_shared<FeLagrangeO2Tria<SCALAR>>(),
49 std::make_shared<FeLagrangeO2Quad<SCALAR>>(),
50 std::make_shared<FeLagrangeO2Segment<SCALAR>>(),
51 std::make_shared<fe::FePoint<SCALAR>>(2)) {}
52 ~FeSpaceLagrangeO2() override = default;
53};
54} // namespace lf::uscalfe
55
56#endif // LF_USCALFE_FE_SPACE_LAGRANGE_O2_H
Quadratic Lagrangian finite element on a quadrilateral reference element.
Definition: lagr_fe.h:713
Quadratic Lagrangian finite element on a line segment.
Definition: lagr_fe.h:563
Quadratic Lagrangian finite element on a triangular reference element.
Definition: lagr_fe.h:400
Quadratic Lagrangian Finite Element space.
FeSpaceLagrangeO2()=delete
no default constructors
FeSpaceLagrangeO2(FeSpaceLagrangeO2 &&) noexcept=default
FeSpaceLagrangeO2(const FeSpaceLagrangeO2 &)=delete
~FeSpaceLagrangeO2() override=default
Space of scalar valued finite element functions on a hybrid 2D mesh
std::shared_ptr< const lf::mesh::Mesh > Mesh() const override
access to underlying mesh
Collects data structures and algorithms designed for scalar finite element methods primarily meant fo...
Definition: assemble.h:30