Harren.us  
The Finite Element Method
Site Map
Back To Computational Solid Mechanics Page
 

The Finite Element Method

The finite element method is a general method for solving second and fourth order partial differential equations in solid mechanics. On this page, example problems are solved for the equations listed directly below. For each equation, both a theory document and a Java program are included. You are free to use the programs for personal and/or educational purposes.

The Finite Element Method

Poisson's Equation

Poisson's equation is the simplest second order partial differential equation, and it governs the deflection of a (e.g., soap) film subjected to a transverse pressure loading. Two problems were solved analytically and compared to the finite element solutions.

Theory Document

In the theory document, these two analytical solutions are presented. Also in this document, the theory of the finite element method is explained, and the finite element solutions are compared to the exact solutions. For these two problems, for all practical purposes, the finite element method basically reproduces the exact solutions.

Program

The Java program (172,797 bytes), written by the author, contains the source code for the finite element program. The program uses the nine-noded bi-quadratic isoparametric finite element.

The Finite Element Method

Two-Dimensional Linear Elasticity

The equations for two-dimensional linear elasticity are somewhat more complicated than those for Poisson's equation, but they are still easy to solve. Again, two problems were solved analytically and compared to the finite element solutions.

Theory Document

In the theory document, these two analytical solutions are presented. Also in this document, the theory of the finite element method is explained, and the finite element solutions are compared to the exact solutions. For these two problems, for all practical purposes, the finite element method, once again, basically reproduces the exact solutions.

Program

The Java program (236,899 bytes), written by the author, contains the source code for the finite element program. The program uses the nine-noded bi-quadratic isoparametric finite element.

The Finite Element Method

Classical Plate Theory

Classical plate theory is governed by a fourth order partial differential equation, and problems in this theory are substantially more difficult to solve numerically than those concerning either Poisson's equation or two-dimensional linear elasticity. As above, two problems of this theory were solved analytically, and their solutions compared to the numerical finite element solutions.

Theory Document

In the theory document, these two analytical solutions are presented. Also in this document, the theory of the finite element method is explained, and the finite element solutions are compared to the exact solutions. For the first problem (which has straight boundaries), the finite element solution is highly accurate. For the second problem, though, which has curved boundaries, the numerically calculated values of the internal shear vector, in some instances, are inaccurate near the boundaries of the domain. In the author's opinion, problems of classical plate theory are best solved with the cell method.

Program

The source code for the Java program (316,507 bytes), written by the author, is based on the standard fifth order, 21 d.o.f. C1 triangle element, four of which are condensed out to form a 24 d.o.f. C1 quadrilateral element.

The Finite Element Method

Three-Dimensional Finite Elasticity

Here the problem of necking and draw-down of a tension specimen (i.e., polymer drawing) is solved using three-dimensional isotropic finite elasticity. The finite element used is the 8-noded 24 d.o.f. bi-linear isoparametric brick element.

Theory Document

In the theory document both finite elasticity and its finite element implementation are explained. Also, the results of the above-mentioned necking and draw-down problem are presented.

Program

Here is the source code for the Java program (5,736,303 bytes), written by the author, used to perform the analysis.

The Three-Dimensional Eigenproblem, Polar Decomposition, and Logarithmic Strain

After the author wrote the above finite element program, he realized that the numerical procedures used in the program for calculating the polar decomposition and logarithmic strain tensor, while highly reliable, are quite numerically inefficient. In the above program, the polar decomposition is calculated via Babylonian (or Hero's) iteration; and the logarithmic strain, by a tensorial Taylor series expansion.

A, still highly reliable, but numerically faster approach, is to calculate the polar decomposition and logarithmic strain tensor via solving the three-dimensional eigenproblem directly, as explained in this document. Java routines for this more direct calculational procedure are given here (4,839 bytes).

The Finite Element Method

Axisymmetric Finite Elasticity

Here, the problem of necking and draw-down of a tension specimen (i.e., polymer drawing) solved above in three dimensions is solved using axisymmetric isotropic finite elasticity. The finite element used is the 4-noded 8 d.o.f. bi-linear isoparametric quadrilateral element. The main advantage of an axisymmetric formulation is that the required eigenproblems, polar decomposition, and logarithmic strain calculations, all are done in closed-form.

Theory Document

In the theory document both axisymmetric finite elasticity and its finite element implementation are explained. Also, the results of the above-mentioned necking and draw-down problem are presented.

Program

Here is the source code for the Java program (2,159,486 bytes), written by the author, used to perform the analysis.

 
The Finite Element Method
Harren.us
Math Rocks!