NGSolve is a finite element library. It must be connected to a mesh handler such as Netgen. NGSolve is written in C++11, and provides an interface to Python. NGSolve is open source based on the LGPL license.
Some features of NGSolve
Scalar and vector-valued Elements of arbitrary order for any shape (segm, trig, quad, tet, prism, pyramid, hex)
Integrators for Heat-flow, Elasticity, Navier-Stokes, Maxwell, etc.
State of the art linear equation solvers and error estimators