Frank McKenna - dissertation Abstract

This dissertation presents a new design for object-oriented finite element software. The design provides for a variety of structural analysis methods to be performed on finite element models in both sequential and parallel computing environments.

In the first part of the dissertation a new design is presented for finite element analysis. In a traditional object-oriented design, an analyst constructs a single object, the analysis object, to perform the analysis. In the new design, the analysis class is broken into separate component classes: Integrator, ConstraintHandler, DOF_Numberer, AnalysisAlgorithm, AnalysisModel, FE_Element, DOF_Group, SystemOfEqn, and Solver. Using this design, an analyst creates an analysis procedure by providing objects of the component classes to the analysis object's constructor; the type of objects depending on the type of analysis the analyst wishes to perform. This approach offers great flexibility, because the analysis can be varied by changing the types of objects passed to the constructor, and extensibility, because the types of analysis procedures that can be performed is greatly increased by the introduction of a new component subclass. The functionality of the classes used in the new design are presented for an incremental displacement solution of the equilibrium equations. Extensions to the design are then presented for modal analysis and modal transient analysis.

The design is evaluated by comparing an implementation using the object-oriented language C++ with a procedural program. The results show that the number of CPU cycles excluding disk i/o required by both programs are similar but that the object-oriented program uses more of the virtual address space.

The second part of the dissertation focuses on extending the design to allow non-overlapping domain decomposition methods to be used during the analysis. Two new classes, GraphPartitioner and DomainPartitioner, are introduced for partitioning the domain. New subclasses are introduced for the domain decomposition, including Subdomain, PartitionedDomain, DomainDecompAnalysis, DomainDecompAlgorithm and DomainSolver.

The third part of the dissertation focuses on parallel finite element solution procedures. New classes are introduced for parallel programming based on the actor programming model: Actor, Channel, Message, MovableObject, MachineBroker, ObjectBroker, and Shadow. The Shadow class is particularly important to the design, as it allows parallel processing to be introduced in a transparent manner. Shadow also permit non-computationally demanding methods, invoked on an object residing in a remote process, to be performed locally. Two subclasses, ShadowSubdomain and ActorSubdomain, are introduced for use in parallel finite element analysis.

A number of analyses using the substructuring domain-decomposition method are performed on two networks of workstations. The results show that the time taken to perform the analysis in parallel using multiple workstations can be faster than that required to perform the analysis using a single workstation, for certain examples the parallel program is over twenty times faster than the sequential program. This is due to the reduction in memory requirements on the workstations and the fact that large portions of the computation can be done concurrently.

The fourth part of the dissertation focuses on obtaining better performance on a parallel machine when performing finite element analysis by using dynamic load balancing. A new approach to dynamic load balancing for finite element analysis is presented in which elements migrate between subdomains to reduce the number of wasted CPU cycles on the parallel machine. A new class, LoadBalancer, is introduced and existing classes are modified to allow for this new approach. Results are presented which show that the time taken to perform the analysis in a parallel environment can be reduced when using this approach to dynamic load balancing, the time being more than halved for certain examples.

A postscript version of the dissertation is available