Developing Parts of a Finite Element Software

In engineering and financial sciences (e.g. derivative pricing, vehicle architecture, airplane architecture, machine design, building architecture) the Finite Element Method is one of the most widely spread partial differential equation system solver methods.

A Finite Element Method software can easily be decomposed into parts, where even the smallest improvement regarding any of these software parts can make the whole program more efficient. This paper comprises of three possible parts of such an application.

The first part is a mesh generating program, which is capable of creating a triangle mesh of plane figures. The second part discusses the performance of various class libraries for linear algebra operations, including three basic BLAS operations and the calculation of covariance matrices. The goal of the third part is the simplification of linear algebraic expressions. The application builds expression trees from text based expressions and performs transformations on these trees in order to reduce the amount of the necessary calculations.

In this paper I present the implementation of the Advancing Front Technique algorithm, I compare four mathematic software packages by elapsed running time when performing operations on large matrices and then I write my findings in detail, and I share my achievements on the simplification of expressions containing linear algebraic elements.