# Background

NASTRAN is a finite element analysis (FEA) program originally developed for NASA in the late 1960s. The primary source code is a solver for FEA where all inputs/outputs are in the form of text files, thus not allowing graphic visualization. Since 2003, though, after monopoly allegations, the NASTRAN code was sold to other companies and now is commercialized under different brands. Each company modifies the code to suit its purposes, many of them adding pre- and post-processors to allow a graphic interface. In NX these processors are integrated, making it an end to end software for the user. Improvements such as more advanced nonlinear capabilities and enhancements in analysis capability and numerical performance have also been done making it a convenient, robust, and powerful tool.

The finite element method (FEM) is the numerical technique behind FEA. It is used to find approximate solutions of partial differential equations as well as of integral equations. In simple terms, the solution approach is based either on eliminating the differential equation completely (steady state problems), or rendering the PDE into approximating system of ordinary differential equations, which are then solved using standard techniques such as Euler’s method, Runge-Kutta, etc.

In NX NASTRAN, the FEM is implemented as the direct stiffness method. In applying this method, the geometry generated in the CAD process must be simplified by idealized elements interconnected at nodes. That is done during the meshing process, which will be discussed in more details later on. Each element is analyzed individually to develop member stiffness equations. In a simple way, a matrix of the kind f=kx is set up for each element. The size of the matrix will depend on how many degrees of freedom the element has. The element of a frame, for example, has more DOF than the element of a truss. Then each element stiffness matrix is expanded to fit a global stiffness matrix (the expansion details won’t be detailed here), and the sum of the expanded matrices form the global stiffness matrix on the form F=KX. F should come from the boundary conditions of the problem, and K is related to the material properties entered by the user. When each element matrix is expanded, a lot of elements on the matrix have zero value. These values are ignored by the solver in order to increase computation time.

The original NASTRAN code offered various kinds of solution sequences based on the type of analysis desired, many of which are incorporated by NX NASTRAN. Analysis can be structural or thermal, for example. Within structural analysis, it is interesting to compare the linear static and the nonlinear static solutions. The linear solution is appropriate for small displacement problems, and a single iteration is enough to get an accurate answer. Nonlinear solutions, on the other hand, are appropriate for large displacement problems, such as an impact attenuator. These types of problems require several iterations to arrive at an answer. The reason is that with large displacement problems the final shape of the model is considerably different from the initial shape. Thus, the vector normal to the surfaces defined by each element (essentially, the angle of this element compared to a global coordinate system, used to expand the small element matrices) will change drastically. Because of this fact, the displacement of each element/node cannot be calculated in one solution, or the results would be wrong. The way around this problem is to change this vector’s orientation almost infinitesimally, and to calculate the displacement of the nodes at each change. At the first iterations, the results presented by each solution vary a lot. When the solutions stop varying, staying within certain values (that can be indirectly specified by the user), the result is called converged and an accurate answer was found. Because of the large number of iterations usually required, nonlinear solutions take a much longer time to compute.