LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
fe_space_lagrange_o3.h
1
10#ifndef LF_USCALFE_FE_SPACE_LAGRANGE_O3_H
11#define LF_USCALFE_FE_SPACE_LAGRANGE_O3_H
12
13#include "lagr_fe.h"
14#include "uniform_scalar_fe_space.h"
15
16namespace lf::uscalfe {
25template <typename SCALAR>
27 public:
28 using Scalar = SCALAR;
29
33 FeSpaceLagrangeO3(FeSpaceLagrangeO3 &&) noexcept = default;
34 FeSpaceLagrangeO3 &operator=(const FeSpaceLagrangeO3 &) = delete;
35 FeSpaceLagrangeO3 &operator=(FeSpaceLagrangeO3 &&) noexcept = default;
43 const std::shared_ptr<const lf::mesh::Mesh> &mesh_p)
44 : UniformScalarFESpace<SCALAR>(
45 mesh_p, std::make_shared<FeLagrangeO3Tria<SCALAR>>(),
46 std::make_shared<FeLagrangeO3Quad<SCALAR>>(),
47 std::make_shared<FeLagrangeO3Segment<SCALAR>>(),
48 std::make_shared<fe::FePoint<SCALAR>>(3)) {}
49 ~FeSpaceLagrangeO3() override = default;
50};
51} // namespace lf::uscalfe
52
53#endif // LF_USCALFE_FE_SPACE_LAGRANGE_O3_H
Cubic Lagrangian finite element on a quadrilateral reference element.
Definition: lagr_fe.h:1277
Cubic Lagrangian finite element on a line segment.
Definition: lagr_fe.h:1153
Cubic Lagrangian finite elment on a triangular reference element.
Definition: lagr_fe.h:945
Cubic Lagrangian Finite Element space.
FeSpaceLagrangeO3(const FeSpaceLagrangeO3 &)=delete
FeSpaceLagrangeO3()=delete
no default constructors
~FeSpaceLagrangeO3() override=default
FeSpaceLagrangeO3(FeSpaceLagrangeO3 &&) noexcept=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