LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Loading...
Searching...
No Matches
fe_space_lagrange_o3.h
1
9
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:1280
Cubic Lagrangian finite element on a line segment.
Definition lagr_fe.h:1156
Cubic Lagrangian finite elment on a triangular reference element.
Definition lagr_fe.h:946
FeSpaceLagrangeO3(const FeSpaceLagrangeO3 &)=delete
FeSpaceLagrangeO3()=delete
no default constructors
~FeSpaceLagrangeO3() override=default
FeSpaceLagrangeO3(FeSpaceLagrangeO3 &&) noexcept=default
UniformScalarFESpace(const UniformScalarFESpace &)=delete
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 fe.h:47
Defines a set of interface classes that define a mesh manager and provides mesh-related tools that bu...
Definition entity.cc:5
Collects data structures and algorithms designed for scalar finite element methods primarily meant fo...
Definition assemble.h:34