Distributed object-oriented nonlinear finite element analysis

This research extends an existing general-purpose object-oriented finite element application program to accommodate parallel processing, develops a new nonlinear substructuring algorithm, and implements the algorithm in the parallel framework. The new programming design distributes the elements and performs the element computations concurrently. Consequently, not just the elements are distributed to the available processors, but also the associated nodes and final degree-of-freedom-to-equation-number mapping. Since all data in an object-oriented program is contained in objects, the implementation allows objects to be transferred amongst the processes. In this manner, transformed element objects are provided with the ability to transfer themselves. In recognition of the costly communication startup time-penalty of distributed processing, the design uses data structures to minimize the frequency of communication. A new reduction algorithm for nonlinear substructures is proposed in this research. It is designed to fit in the proposed parallel architecture to further improve the performance. The substructuring process can be represented as a transformation of an original substructure to produce a reduced system. The transformation must be updated due to nonlinearities. The obvious way to update the transformation is by recalculating it using the newly formed stiffness. However, this approach involves the costly factorization of the stiffness. A more efficient approach to update the transformation is proposed in this research. That is, the complexity of each nonlinear substructure is reduced by restricting its motions to those shapes determined from its initial state. Instead of recalculating these shapes in the transformation as the nonlinearity occurs, the transformation is updated by adding new shapes to correct these existing shapes. This results in a great reduction in computational effort, and also inherently allows for parallel computations. The implementation of the nonlinear substructure is as a type of finite element. This design makes the domain decomposition easily fit into the current parallel program architecture, since the architecture design is independent to the element type. Various numerical studies of the proposed algorithm in terms of accuracy and performance are given. It is shown to be both accurate and computationally efficient for large-scale problem.