THE RANDOM FINITE ELEMENT METHOD (RFEM)
Software Version 1.1.2
See the book
for a complete description of the following software.
||Dr. Gordon A. Fenton||Dr. D.V. Griffiths
||Dalhousie University||Colorado School of Mines
||Halifax, Canada||Golden, Colorado
See also the complete list of RFEM Publications.
In 1992, Drs. G.A. Fenton and D.V. Griffiths combined random field simulation
with the finite element method to produce the Random Finite
Element Method, or RFEM. The method has been used to investigate the
random behaviour of soils in the context of a variety of classical
geotechnical problems, ranging from settlement of shallow foundations to the
collapse of rock pillars. All but the most recent publications arising out of
this research can be found here. (For the most
recent publications, you will have to obtain the journal versions.)
The authors are making all of their RFEM software freely available, along with
the finite element libraries written by I.M. Smith and D.V. Griffiths (which
have been public
for many years) and the simulation and numerical library
written by G.A. Fenton.
When results derived from the RFEM software available at this site are used in
any publication, the authors must cite at least one of the journal papers as
well as the textbook written by the developers. The appropriate references can
be found in RFEM Publications.
The RFEM front end executables (under Windows) include the following;
- mrbear2d: 2-D shallow foundation stochastic
bearing capacity analysis,
- mrdam2d: 2-D stochastic earth dam analysis,
- mrearth2d: 2-D stochastic earth pressure
- mrflow2d: 2-D stochastic seepage analysis,
- mrflow3d: 3-D stochastic seepage analysis,
- mrpill2d: 2-D stochastic pillar analysis,
- mrpill3d: 3-D stochastic pillar analysis,
- mrsetl2d: 2-D shallow foundation stochastic
- mrsetl3d: 3-D shallow foundation stochastic
- mrslope2d: 2-D stochastic slope stability
In order to look at some of the output of these programs, you will need to
install a Postscript viewer. See
here for the required
software (or search for ghostscript and ghostview for the most recent
versions). You will need to install ghostscript first and then ghostview. The
32bit executables should work on any computer, the 64bit versions are tailored
for 64bit CPUs. Install only one set or the other. Remember what folder you
install the Postscript viewing program into -- you will need to know the
folder and the executable name in order to get the RFEM programs to view
graphical results -- this information must be provided in the "rfem.inf" file
discussed shortly. Use Windows Explorer to find the executable, which is
(probably) called gsview32.exe (or gsview64.exe).
The complete current version of the RFEM distribution for the Windows
environment is RFEM_Windows_1.1.2.exe,
which is a self-extracting executable. The easiest way to install the RFEM
distribution is to extract it into the "c:" drive -- do this just by
running the downloaded executable and accepting the default options. This will
create a subdirectory called "c:\rfem" within which all of the executables,
libraries, and source codes are placed. If you wish to install rfem on a
different drive, just change "c:" to whatever drive you wish. In the following,
the c: drive is assumed.
Version 1.1.2 (Aug 29, 2012):
mrslope2d.exe was broken (opened off the edge of the screen) -- fixed in this
Version 1.1.1 (Jan 8, 2012):
Added the ability for rslope2d to consider any positive gradient
(rather than just integer gradients).
Version 1.1.0 (Oct 13, 2011):
I discovered an element numbering error in one
of the LAS3G subroutines (plan3d.f) which led to an incorrectly generated 3-D
LAS random field in the event that k1 = 1. This would have occurred , for
example, when trying to generate a field of size 4 x 64 x 64, i.e. a very
narrow field in the x-direction. Similarly, in the 2-D LAS generator, when
trying to generate a field of size 2 x 512, the final set of 4 cells were not
being averaged to the correct final parent cell. Both problems have been
corrected in this version.
After extracting the distribution, you will need to perform the
- edit c:\rfem\rfem.inf using an ordinary editor (e.g. Notepad,
not MS Word).
- set BINDIR to the path to the rfem\bin folder (c:\rfem\bin by
- set HELPDIR to the path to the rfem\lib\help folder (c:\rfem\lib\help
- set GHOSTVIEW to the path and executable name of a Postscript
viewing program (see discussion about GSView above), the default is
- move or copy the rfem.inf file into the directory c:\windows\inf.
To uninstall the RFEM distribution simply remove the rfem directory and the
c:\windows\inf\rfem.inf file (if you copied the latter over).
Now, if you look in the rfem\bin directory, you should be able to run any
of the programs listed above, e.g. mrsetl2d.exe. Some hints at running
- to get the output to appear in a specific folder, simply set the
basename to include the folder path, e.g. d:\gordon\temp\rsetl2d
- virtually all of the entries have a little button beside it labeled
"Help". If in doubt, click on it.
- the non-linear programs (mrbear2d, mrslope2d, mrpill?d, mrearth2d)
may take a LONG time to run. You may want to test it using just
a few realizations to get a sense for timing prior to cranking
the final run(s).
- the leading "m" in these programs stands for "graphical front
end" (in whatever language "graphical front end" starts with
the letter "m"! Actually, it was sort of a mistake -- I usually
name just the main routine of a program with a leading "m", and
my early attempts at Borland C++ Builder named the executable the
same name as the main...). Anyhow, what this means is that when
you "run" mrbear2d, for example, by clicking on the little black
triangle, it actually executes another program named "rbear2d"
which reads the data file you have just created and runs the
RFEM simulations. "rbear2d.exe" is in the rfem\bin directory. The
source code for rbear2d.exe is in rfem\sim\rbear2d. The source
code for mrbear2d.exe is in rfem\sim\rbear2d\gui.
Also included in this distribution are the following;
- DVGlib: double precision finite element
library, written by I.M. Smith and D.V. Griffiths.
- VGlib: single precision finite element
library, written by I.M. Smith and D.V. Griffiths. The
compiled version of this library is in rfem\lib\vfem.lib. This
library is needed to recompile any of the r-progs, e.g. rbear2d.
- doc: documentation for; the r-progs, a
series of r-prog utilities (e.g. hist_* are programs designed to
create histograms of the output samples from the r-progs), plotps,
display, and a bunch of other things which you should be able to find
somewhere in this distribution.
- gaf77: simulation routines (e.g. LAS) written
by Gordon A. Fenton. This library includes LOTS of other things --
a complete list of the routines can be found in rfem\gaf77\Summary.txt,
which is an ordinary text file. Each routine
has a lengthy commentary at its start explaining the routine in
detail. The compiled library is in rfem\lib\gaf77.lib. It is needed
if you want to recompile virtually all of the programs in this
distribution (NOTE: to recompile a particular program, you may need
to edit its "Makefile" to tell it where the library is prior to
running "make" -- however, all of the Makefiles are now "drive
independent" so as long as \rfem\lib is on the same drive as the
program being compiled there should be no problem).
- graphics: this folder actually includes three
subfolders, all written by Gordon A. Fenton:
- pslib: a postscript plotting library.
See the files PSLIB.3f (text), PSLIB.ps (postscript), or
Summary.txt (text) in rfem\graphics\pslib for more details.
- plotps: a program which produces x-y
type plots in postscript. See rfem\doc\plotps.txt for more
- display: a program which produces plots
of 3-D data in postscript.
See rfem\doc\display.txt for more details.
- lib: where the compiled libraries and help
files are stored.
- sim: includes a series of sub-folders which
contain the source code for various programs. The following are the
r-progs written by Gordon A. Fenton and D.V. Griffiths;
In addition, the following codes are provided;
- rbear2d: 2-D shallow foundation stochastic
bearing capacity analysis,
- rdam2d: 2-D stochastic earth dam analysis,
- rearth2d: 2-D stochastic earth pressure
- rflow2d: 2-D stochastic seepage analysis,
- rflow3d: 3-D stochastic seepage analysis,
- rpill2d: 2-D stochastic pillar analysis,
- rpill3d: 3-D stochastic pillar analysis,
- rsetl2d: 2-D shallow foundation stochastic
- rsetl3d: 3-D shallow foundation stochastic
- rslope2d: 2-D stochastic slope stability
- rpile1d: 1-D deep foundation stochastic
analysis. This is a recent addition, with no corresponding graphical
front-end at this time.
- rfest1d: a suite of programs developed
by Gordon A. Fenton while at the Norwegian Geotechnical Institute to
statistically analyze CPT soundings.
- simqke2: a program developed by Gordon
A. Fenton, Erik H. Vanmarcke, and Ernesto Heredia to simulate
spatially correlated and optionally conditioned earthquake ground
- test routines: a set of folders (test* and
tst*) containing programs designed to run the various random field
generators. They are primarily included here for those of you
interested in writing your own simulation programs -- these can be
used as templates.
- utils: a series of programs to compute
things such as local average variances, generate random variables,
and compute normal distribution probabilities. See the Makefile for
brief descriptions of each program.
- utils: this folder includes several
- cor2d: a program which estimates a
2-D correlation structure, written by Gordon A. Fenton. See
cor2d.1 (text) for details.
- krige: a program which computes
best linear unbiased estimates (kriging), written by
Gordon A. Fenton. See krige.1 (text) for details.
- mkhst: a program which plots a
histogram of data with optional fitted distribution,
written by Gordon A. Fenton. See mkhst.1 (text) for
- mmat: a program which performs various
matrix operations (e.g. multiplication, Cholesky decomposition,
LU decomposition, solution to linear system, matrix inverse,
condition number, singular-value-decomposition). Written by
Gordon A. Fenton. See mmat.1 (text) for more details.
- psd: a program which estimates
a power spectral density function, written by Gordon
A. Fenton. See estpsd.1 and psdana.1 (text) for details.
- reg1d: a program which performs a
1-D regression, written by Gordon A. Fenton. See
regr1d.1 (text) for details.
- reg2d: a program which performs a
2-D regression, written by Gordon A. Fenton. See
regr2d.1 (text) for details.
- stats: two programs which estimate
mean, variance, and covariance, written by Gordon A. Fenton.
See mncov.1 and mnvar.1 (text) for details.
NOTE: THIS SOFTWARE COMES WITH NO WARRANTY. YOU ARE WELCOME TO COPY AND/OR
MODIFY THE CODE TO SUIT YOUR NEEDS, BUT THE NAMES OF THE ORIGINAL AUTHORS
(WHO ARE COPYRIGHT HOLDERS) MUST REMAIN WITH THE CODE (IN THOSE CODES
WHERE THESE NAMES ARE CURRENTLY PROVIDED).
FOR EACH PROGRAM INCLUDED IN THIS DISTRIBUTION AND/OR DERIVED FROM THIS
DISTRIBUTION, THE FOLLOWING PROVISIONS HOLD:
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE
PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. YOU
ARE WELCOME, HOWEVER, TO CONTACT THE PROGRAM AUTHORS TO HELP PROVIDE
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT HOLDER OR AUTHOR, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO
LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.