The finite element method (FEM) is a powerful technique originally developed for numerical solution of complex problems in structural mechanics, and it remains the method of choice for complex systems. In the FEM, the structural system is modeled by a set of appropriate finite elements interconnected at discrete points called nodes. Elements may have physical properties such as thickness, coefficient of thermal expansion, density, Young's modulus, shear modulus and Poisson's ratio.
The origin of finite method can be traced to the matrix analysis of structures ^{[1]}^{[2]} where the concept of a displacement or stiffness matrix approach was introduced. Finite element concepts were developed based on engineering methods in 1950s. The finite element method obtained its real impetus in the 1960s and 1970s by John Argyris, and coworkers; at the University of Stuttgart, by Ray W. Clough; at the University of California, Berkeley, by Olgierd Zienkiewicz, and coworkers Ernest Hinton, Bruce Irons;^{[3]} at the University of Swansea, by Philippe G. Ciarlet; at the University of Paris; at Cornell University, by Richard Gallagher and coworkers. The original works such as those by Argyris ^{[4]} and Clough ^{[5]} became the foundation for today’s finite element structural analysis methods.
Straight or curved onedimensional elements with physical properties such as axial, bending, and torsional stiffnesses. This type of element is suitable for modeling cables, braces, trusses, beams, stiffeners, grids and frames. Straight elements usually have two nodes, one at each end, while curved elements will need at least three nodes including the endnodes. The elements are positioned at the centroidal axis of the actual members.
The elements are interconnected only at the exterior nodes, and altogether they should cover the entire domain as accurately as possible. Nodes will have nodal (vector) displacements or degrees of freedom which may include translations, rotations, and for special applications, higher order derivatives of displacements. When the nodes displace, they will drag the elements along in a certain manner dictated by the element formulation. In other words, displacements of any points in the element will be interpolated from the nodal displacements, and this is the main reason for the approximate nature of the solution.
From the application point of view, it is important to model the system such that:
Large scale commercial software packages often provide facilities for generating the mesh, and the graphical display of input and output, which greatly facilitate the verification of both input data and interpretation of the results.
While the theory of FEM can be presented in different perspectives or emphases, its development for structural analysis follows the more traditional approach via the virtual work principle or the minimum total potential energy principle. The virtual work principle approach is more general as it is applicable to both linear and nonlinear material behaviors. The virtual work method is an expression of conservation of energy: for conservative systems, the work added to the system by a set of applied forces is equal to the energy stored in the system in the form of strain energy of the structure's components.
The principle of virtual displacements for the structural system expresses the mathematical identity of external and internal virtual work:

(1) 
In other words, the summation of the work done on the system by the set of external forces is equal to the work stored as strain energy in the elements that make up the system.
The virtual internal work in the righthandside of the above equation may be found by summing the virtual work done on the individual elements. The latter requires that forcedisplacement functions be used that describe the response for each individual element. Hence, the displacement of the structure is described by the response of individual (discrete) elements collectively. The equations are written only for the small domain of individual elements of the structure rather than a single equation that describes the response of the system as a whole (a continuum). The latter would result in an intractable problem, hence the utility of the finite element method. As shown in the subsequent sections, Eq.(1) leads to the following governing equilibrium equation for the system:

(2) 
where
Once the supports' constraints are accounted for, the nodal displacements are found by solving the system of linear equations (2), symbolically:

(3) 
Subsequently, the strains and stresses in individual elements may be found as follows:

(4) 

(5) 
where
By applying the virtual work equation (1) to the system, we can establish the element matrices , as well as the technique of assembling the system matrices and . Other matrices such as , , and are known values and can be directly set up from data input.
Let be the vector of nodal displacements of a typical element. The displacements at any other point of the element may be found by the use of interpolation functions as, symbolically:

(6) 
where
Equation (6) gives rise to other quantities of great interest:

(6b) 

(7) 
where = matrix of differential operators that convert displacements to strains using linear elasticity theory. Eq.(7) shows that matrix B in (4) is

(8) 

(9) 
For a typical element of volume , the internal virtual work due to virtual displacements is obtained by substitution of (5) and (9) into (1):

(10) 
Primarily for the convenience of reference, the following matrices pertaining to a typical elements may now be defined:

(11) 

(12) 
These matrices are usually evaluated numerically using Gaussian quadrature for numerical integration. Their use simplifies (10) to the following:

(13) 
Since the nodal displacement vector q is a subset of the system nodal displacements r (for compatibility with adjacent elements), we can replace q with r by expanding the size of the element matrices with new columns and rows of zeros:

(14) 
where, for simplicity, we use the same symbols for the element matrices, which now have expanded size as well as suitably rearranged rows and columns.
Summing the internal virtual work (14) for all elements gives the righthandside of (1):

(15) 
Considering now the lefthandside of (1), the system external virtual work consists of:

(16) 

(17a) 
where we have introduced additional element's matrices defined below:

(18a) 

(18b) 
Again, numerical integration is convenient for their evaluation. A similar replacement of q in (17a) with r gives, after rearranging and expanding the vectors :

(17b) 
Adding (16), (17b) and equating the sum to (15) gives:
Since the virtual displacements are arbitrary, the preceding equality reduces to:
Comparison with (2) shows that:
In practice, the element matrices are neither expanded nor rearranged. Instead, the system stiffness matrix is assembled by adding individual coefficients to where the subscripts ij, kl mean that the element's nodal displacements match respectively with the system's nodal displacements . Similarly, is assembled by adding individual coefficients to where matches . This direct addition of into gives the procedure the name Direct Stiffness Method.