Font Size: a A A

Object-oriented finite element programming: Frameworks for analysis, algorithms and parallel computing

Posted on:1998-09-01Degree:Ph.DType:Dissertation
University:University of California, BerkeleyCandidate:McKenna, Francis ThomasFull Text:PDF
GTID:1468390014475360Subject:Mathematics
Abstract/Summary:
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 which the analysis class is broken into separate component classes: Integrator, ConstraintHandler, DOFThe 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 and efficient manner. Two subclasses, ShadowSubdomain and ActorSubdomain, are introduced for use in parallel finite element analysis.The fourth part of the dissertation focuses on obtaining better performance on a parallel machine 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 parallelmachine. A new class, LoadBalancer, is introduced and existing classes are modified to allow for this new approach.Results are presented which demonstrate that the design performs comparably with a procedural program in terms of CPU time but that it requires more memory, that a parallel program can be significantly faster than a sequential one, and that dynamic load balancing can improve performance.
Keywords/Search Tags:Finite element, Parallel, Dynamic load balancing, New, Dissertation, Programming
Related items