Demonstration FEA codes
(MAPLE)
To download these
files, rightclick the link and Save As...

FEM_1D_Static.mws Simple static analysis of a 1D bar subjected to axial body force

FEM_1D_newmark.mws Simple dynamic analysis of a 1D bar subjected to axial body force, using Newmark time integration.

FEM_1D_modal.mws Simple dynamic analysis of a 1D bar subjected to axial body force, using modal time integration.

FEM_conststrain.mws
Simple 2D FEA code with constant strain triangles. Should be
run with the input file
FEM_conststrain.txt
or (for a larger problem)
FEM_conststrain_holeplate.txt

The following files all solve 2D or 3D static linear elastic problems, but illustrate various refinements of the finite element method:

FEM_2Dor3D_linelast_standard.mws 2D(plane strain/stress) or 3D static linear elasticity code with fully
integrated elements. The code can be run with the following input files.
To download these
files, rightclick the link and Save As...

FEM_1D_Static.m Simple static analysis of a 1D bar subjected to axial body force

FEM_1D_newmark.m Simple dynamic analysis of a 1D bar subjected to axial body force, using Newmark time integration.

FEM_1D_modal.m Simple dynamic analysis of a 1D bar subjected to axial body force, using modal time integration.

FEM_conststrain.m
Simple 2D FEA code with constant strain triangles. Should be
run with the input file
FEM_conststrain.txt
or (for a larger problem)
FEM_conststrain_holeplate.txt

The following files all solve 2D or 3D static linear elastic problems, but illustrate various refinements of the finite element method:

FEM_2Dor3D_linelast_standard.m 2D(plane strain/stress) or 3D static linear elasticity code with fully
integrated elements. The code can be run with the following input files.
A basic set of FORTRAN finite element
subroutines can be downloaded here (zip
folder) >>
These are intended for advanced
readers who are interested in developing their own code. The code is
intended for educational purposes only  it contains bugs.
The code includes:
1. Basic utilities to read and parse an ASCII input file.
Four simple example input files are provided.
2. Linear, nonlinear and explicit dynamic solution
procedures;
3. Routines to assemble and solve both symmetric and
unsymmetric FEA equation systems,
using the conjugate gradient method
or LU decomposition. A bandwidth minimizer is also included.
4. Subroutines containing basic element level operations 
integration points, shape functions
and their derivatives for most
standard 2D and 3D elements;
5. An implementation of fully integrated 3D linear elastic
elements, which can be used as a template for
developing your own elements;
6. Routines to print the solution to a file that can be read
by TECPLOT (tecplot focus is best).
To run the code, you will need to:
1. Download the compressed folder
2. Uncompress the archive e.g. using
zipgenius
3. Compile the code. If you are developing your own code a visual
development environment such as PGI Visual Fortran or Intel Visual Fortran will
work best. The code will compile with free gfortran, however.
A developer project workspace is provided for Intel Visual Fortran in
the directory FEACHEAP/IVFEACHEAP  you should be able to open these and see all the
files. The main program is stored in fecheap.f90.
A developer project workspace is provided for
PGI Visual Fortran in the directory FEACHEAP/PVFEACHEAP  you should be able to
open this and see all the
files. The main program is stored in feacheap.f90.
If you are using gfortran, you should
first download and install
gfortran (the mingw build seems to work fine on a Vista machine). To
compile the code (again, on a Windows environment), open
a console window, go to the directory called Code/src, and type build_feacheap.
This will compile the code and create an executable file in the directory called
Code/input_files. You can run the code from the directory Code/input_files
by typing feacheap in the console window. Enter Linear_elastic_3d.in for
the input file, and anything you like for the output file.
The input files can be edited with a standard text editor. There are four
example input files:
 Linear_elastic_3d.in  simple
elastostatic example with two 8 noded brick elements
 Linear_elastic_3d_dynamic.in
 simple elastodynamic example with two 8 noded bricks
 Holeplate_3d.in  calculates
solution for a 3D elastic plate with a hole  4000 nodes.
 Holeplate_3d_dynamic.in
 calculates dynamic solution for a 3d elastic plate with a hole.

