LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Concepts
Concepts

Detailed Description

This page contains a list of Concepts (sometimes also called Named Requirements) used by LehrFEM++.

Concepts are a set of requirements that is imposed on a particular type. They are most useful in the declaration/definition of templates where they can be used to place additional restrictions on the template type parameters.

In C++20, concepts became part of the core language, but since LehrFEM++ still relies on C++17, concepts are mostly implemented as type_traits (e.g. lf::mesh::utils::isMeshFunction) and documentation (e.g. see documentation of lf::assemble::AssembleMatrixLocally()).

You can find all Concepts of LehrFEM++ in the following list:

Concepts

 EntityMatrixProvider
 Provides the local element matrix for a mesh entity.
 
 EntityVectorProvider
 Provides the local element vector for a mesh entity.
 
 MeshFunction
 A MeshFunction is a function object that can be evaluated at any point on the mesh.