15#include "dofhandler.h"
17#include "lf/mesh/entity.h"
48 const std::span<const gdof_idx_t>
doflist(
89 : mesh_(std::
move(mesh)),
92 LF_ASSERT_MSG((
mesh_->DimMesh() == 2),
"Can handle 2D meshes only");
234 cell_p->RelativeOrientations();
272 false,
"Illegal cell type; only triangles and quads are supported");
A general (interface) class for DOF handling, see Lecture Document Paragraph 2.7.4....
size_type NumInteriorDofs(const lf::mesh::Entity &entity) const override
provides number of shape functions associated with an entity
std::shared_ptr< const lf::mesh::Mesh > mesh_p_
std::span< const gdof_idx_t > InteriorGlobalDofIndices(const lf::mesh::Entity &entity) const override
global indices of shape functions associated with an entity_
std::span< const gdof_idx_t > GlobalDofIndices(const lf::mesh::Entity &entity) const override
access to indices of global dof's belonging to an entity
std::array< std::vector< size_type >, 3 > offsets_
size_type NumLocalDofs(const lf::mesh::Entity &entity) const override
tells the number of degrees of freedom subordinate/_belonging_ to to an entity
std::array< std::vector< gdof_idx_t >, 3 > dofs_
std::array< std::vector< size_type >, 3 > num_int_dofs_
Represents a reference element with all its properties.
static constexpr RefEl kSegment()
Returns the (1-dimensional) reference segment.
constexpr RefEl(RefElType type) noexcept
Create a RefEl from a lf::base::RefElType enum.
static constexpr RefEl kPoint()
Returns the (0-dimensional) reference point.
static constexpr RefEl kTria()
Returns the reference triangle.
static constexpr RefEl kQuad()
Returns the reference quadrilateral.
Interface class representing a topological entity in a cellular complex
void AssembleMatrixLocally(dim_t codim, const DofHandler &dof_handler_trial, const DofHandler &dof_handler_test, ENTITY_MATRIX_PROVIDER &entity_matrix_provider, TMPMATRIX &matrix)
Assembly function for standard assembly of finite element matrices.
unsigned int dim_t
type for dimensions and co-dimensions and numbers derived from them
unsigned int glb_idx_t
type for global index of mesh entities (nodes, edges, cells)
D.o.f. index mapping and assembly facilities.
lf::base::glb_idx_t glb_idx_t
lf::base::size_type size_type
void PrintInfo(std::ostream &stream, const DofHandler &dof_handler, unsigned ctrl)
std::ostream & operator<<(std::ostream &o, const COOMatrix< SCALARTYPE > &mat)