Finite element analysis (FEA) is a computer simulation technique used in engineering analysis. It uses a numerical technique called the finite element method (FEM). There are many finite element software packages, both free and proprietary. Development of the finite element method in structural mechanics is usually based on an energy principle such as the virtual work principle or the minimum total potential energy principle.
The finite element analysis from the mathematical side was first developed in 1943 by Richard Courant, who used the Ritz method of numerical analysis and minimization of variational calculus to obtain approximate solutions to vibration systems. From the engineering side, the finite element analysis originated as the displacement method of the matrix structural analysis, which emerged over the course of several decades mainly in British aerospace research as a variant suitable for computers. By late 1950s, the key concepts of stiffness matrix and element assembly existed essentially in the form used today and NASA issued request for proposals for the development of the finite element software NASTRAN in 1965.