Copyright (1996-2002) M.H.Loke
RES2DMOD ver. 3.01
Rapid 2D resistivity forward modelling using the finite-
difference and finite-element methods
Wenner (alpha, beta, gamma), inline & equatorial dipole-dipole,
pole-pole, pole-dipole and Wenner-Schlumberger
by
M.H.LOKE
mhloke@pc.jaring.my
July 2002
Table of Contents
Topic Page No.
1 Introduction 1
2 Computer System Requirements 2
3 Freeware 2
4 Theory 3
5 File operations 5
6 Editing and displaying models 9
7 Options 13
8 Model Computation 13
9 Print 14
10 Help 14
11 Printing the pseudosections 17
12 Pitfalls 15
Disclaimer 15
References 16
Appendix A : Underwater surveys 17
Appendix B : I.P. models 19
Appendix C : Calculation of 2D sensitivity values
(limited availability) 20
Preview – What is this? 27
What's New 28
1 2
Copyright (1996-2002) M.H.Loke
1 Introduction
RES2DMOD is a free 2D forward modelling program that calculates the apparent
resistivity pseudosection for a user defined 2D subsurface model. It is largely
intended for teaching undergraduates and postgraduate students about the use of
the 2D electrical imaging method. The program might also assist the user in
choosing the appropriate array for different geological situations or surveys.
The arrays supported by this program are the Wenner (Alpha, Beta and Gamma
configurations), pole-pole, gradient, inline dipole-dipole, pole-dipole and
equatorial dipole-dipole (Edwards 1977). Each type of array has its advantages
and disadvantages. This program will hopefully help you in choosing the "best"
array for a particular survey area after carefully balancing such factors as the cost,
depth of investigation (or equivalent depth), resolution and practicality.
The following figure shows an overhead view of the arrangement of the electrodes
for the different arrays.
Figure 1 Arrangement of the electrodes for different arrays.
You can use a model with a maximum of 151 electrodes (with 2 nodes per unit
electrode spacing) or 75 electrodes (with 4 nodes per unit electrode spacing). This
limit is set by the resolution of the computer graphics display.
2 Computer System Requirements
RES2DMOD is a 32-bit Windows based program that will run under Windows
95/98/Me/2000/NT. You will need a Pentium, Pentium Pro, Pentium II, Pentium
III, or Pentium 4 (or compatible) based microcomputer to run this program. The
minimum amount of RAM is 32 megabytes, but 64 megabytes is recommended!
You will also need about 128 megabytes of free hard-disk space that the program
can use to store temporary swap files. If you have more than one hard-disk drive,
the program will automatically select the drive with the largest amount of free
space as the drive to store the swap files. This is a 32-bit Windows program that
can access up to 4 gigabytes of memory.
It is also recommended that you use the 800 by 600 (for 14 and 15 inch monitors),
or the 1024 by 768 (for 17 inch monitors), or the 1280 by 1024 (for 21 inch
monitors) with 256 colours SVGA graphics mode. If you are using the SuperVGA
modes with 16-bit or 24-bit colours, you should switch the display mode to 256
(i.e. 8-bit) colours using the Display option in the Control Panel folder in
Windows 95/98/NT if you encounter problems. Graphics operations with the 256
colours mode will be faster, and more memory will be available to your programs.
The RES2DMOD package comes in a single compressed installation file
SETUP.EXE. It is a Windows based installation program that will install the
program files. In Windows 95/98/ NT, click Start, and then Settings followed by
Control Panel. Then click the icon to Add/Remove programs. After that, navigate
to the subdirectory where the SETUP.EXE file is located.
3 Freeware
This program is released as freeware. However, I am not liable for any problems
or possible damages arising from the use of this program. If you find this program
useful, please send an email to me at mhloke@pc.jaring.my. I will try to fix bugs,
and provide more features in future versions, but that will depend on my free time.
3 4
Copyright (1996-2002) M.H.Loke
4 Theory
The 2-D model used by the finite-difference or finite-element method divides the
subsurface into a number of blocks using a rectangular mesh (Figure 2). Some
improvements were made to the Dey and Morrison (1979) finite-difference
formulation to improve the accuracy of the calculated apparent resistivity values
(Loke 1994). The finite-difference method basically determines the potential at the
nodes of the rectangular mesh that consists of L nodes in the horizontal direction
and M nodes in the horizontal direction.
Figure 2 Schematic diagram of the finite-difference or finite-element mesh used
by the program.
Note that the grid model has L-1 columns and M-1 rows of rectangular blocks.
The blocks can have different resistivity values. By using a sufficiently fine mesh,
complex geological structures can be modelled. The program uses a mesh with two
or four horizontal nodes per unit electrode spacing for a multi-electrode array
(Figure 3).
The program requires you to supply the resistivity values of the rectangular blocks
in between the mesh lines (and other information) using an input data file. The
format of the input data file is described in section 5. In general, you should try to
use "reasonable" model resistivity values that are not too small or too large.
The first electrode is placed at the 12th horizontal node from the left edge of the
mesh. Similarly there are 12 nodes between the last electrode and the right edge of
the mesh. Table 1 shows the vertical depths and horizontal offsets of the mesh
lines for an electrode spacing of 1 meter for the default model used by this
program. Note this example has 4 vertical mesh lines between adjacent electrodes.
You can also set your own depths for the mesh lines. If you choose to set the
depths of the grid lines, use a smaller vertical spacing (
∆
z
j
in Figure 1) between
adjacent horizontal mesh lines near the surface and larger spacings for the deeper
mesh lines to ensure that the results will be sufficiently accurate. In particular, the
vertical spacings between the top 3 horizontal mesh lines should not be greater
than the horizontal spacings between adjacent vertical mesh lines. The files
FAULT.MOD and MODEL41.MOD are example model files with user defined
depths for the mesh lines.
If this is the first time you are using the program, try reading in the example model
data file TIXALL.MOD provided with the program using the "File" option in the
Main Menu. Then select the "Model Computation" option to calculate the
apparent resistivity values for this model. After that, use the "Edit/Display" option
to take a look at the 2-D model and the apparent resistivity pseudosection. In the
following sections, a more detailed description of each item in the above menu is
given.
Figure 3 Part of the finite-difference or finite-element mesh showing the location
of the electrodes.
5 6
Copyright (1996-2002) M.H.Loke
Table 1 : Locations and spacings between the nodes in the 2-D finite-difference
grid model using a predefined set of depths for the horizontal mesh lines. The first
electrode on the surface is located at the 12th horizontal node. Subsequent
electrodes are placed at 4 horizontal nodes apart. The electrode spacing is 1 metre.
The horizontal spacings between the last 11 nodes after the last electrode are the
same as that for the first 12 nodes (except in reverse order).
Horizontal Node Vertical Node
Index Location Spacing Index Depth Spacing
i x
i
dx
i
j z
j
dz
j
1 0.00 64.0 1 0.25 0.25
2 64.00 32.0 2 0.50 0.25
3 96.00 16.0 3 0.75 0.25
4 112.00 8.0 4 1.00 0.25
5 120.00 4.0 5 1.55 0.55
6 124.00 2.0 6 2.16 0.61
7 126.00 1.0 7 2.82 0.67
8 127.00 0.50 8 3.55 0.73
9 127.50 0.50 9 4.36 0.81
10 127.75 0.25 10 5.24 0.89
11 128.00 0.25 11 7.02 1.77
12 128.25 0.25 12 10.56 3.54
13 128.50 0.25 13 17.64 7.09
14 128.75 0.25 14 31.82 14.17
15 129.00 0.25 15 60.16 28.35
16 129.25 0.25 16 116.85 56.69
17 129.50 0.25 17 230.23 113.38
5 File operations
On clicking the ‘File’ option on the top Main Menu bar, the following submenu
will be displayed.
R
ead data file with forward model - In this option, you read in a model data file.
When you select this option, the list of files in the current directory (or the last
subdirectory from which you read in a model file) which has an extension of
.MOD will be displayed.
The program requires the resistivity model values to be typed in separately in a
text file. For an example of the input data format, you should make a printout the
MODEL41.MOD data file. The parameters for the finite-difference model are
arranged in the following format.
Line 1 - Name of model
Line 2 - Number of electrodes (Maximum of 101)
Line 3 - Number of pseudosection data levels (Absolute maximum of 32 but also
depends on the type of array and the number of electrodes).
Line 4 - Flag for underwater survey. Enter 0 for now.
Line 5 - Unit (or smallest) electrode spacing
Line 6 - Flag for type of grid model. Enter 0 or 1 for a grid model with the default
depths for the mesh lines. Enter 2 for user defined depths for the mesh lines (see
the file MODEL41.MOD). The file MODEL25.MOD gives an example of a
model file which uses the default (option 0) depth values given in Table 1. If
option 1 is used, the depths are scaled according to the depth of investigation of
the array used.
Line 7 - Offset of first block in user-defined model section from the first
electrode. Normally enter 0 to avoid problems.
Line 8 - Number of blocks in user-defined model. To avoid problems, use a value
of (Number of electrodes - 1) * Number of nodes/unit electrode spacing which
will cover all the blocks between the first and last electrode.
Line 9 - Number of resistivity values in the model (maximum of 16)
Line 10 - Number of nodes per unit electrode spacing (2 or 4). You can use a
value of 4 for up to a maximum of 75 electrodes.
Line 11 - The model resistivity values.
7 8
Copyright (1996-2002) M.H.Loke
Line 12 - Number of rows of rectangular blocks in the model (maximum of 29).
Note that the number of vertical mesh lines is equals to the number of rows of
blocks plus one.
Line 13 - The depth to the horizontal grid mesh line.
Lines 14 to 27 - The resistivity of the model blocks are given row by row.
A number "0" means the block has the first resistivity value, "1" for the second
resistivity value and so on. For the 11th to the 16th resistivity values, use the
letters "A" to "F".
Lines 28 - Type of array. 1 for Wenner, 2 for two-pole, 3 for dipole-dipole,
4 for Wenner Beta, 5 for Wenner Gamma, 6 for inline pole-dipole, 7 for Wenner-
Schlumberger and 8 for equatorial dipole-dipole array. For the equatorial dipole-
dipole array, you will also need to enter the separation between the current
electrode pair. It is assumed that the potential electrode pair will have the same
separation. Please refer to the file MODELEQ.MOD for an example of this array
format.
Lines 29 and 30 - Enter 0 for both. These are flags for calculated apparent
resistivity and potential values which are used for the output data file produced by
this program.
Lines 31, 32 and 33 - Enter 0 for now. They are reserved for possible new
features in future versions of this program.
Note that you only have to set the resistivities for a limited section of finite-
difference grid model. The program assumes that the resistivity of the blocks to the
left side of the first electrode is the same as that of the first model block for which
you have set the resistivity value. Similarly the resistivity of the blocks on the right
side are set to be the same as that of the last block of the rightmost column in the
user-defined model section. Normally it would probably be most convenient to set
the resistivities of all the blocks between the first and last electrode of the multi-
electrode array. In this case, the offset of the first block in your model from the
first electrode is 0 (data for line 7 above). If the total number of electrodes is E and
the number of nodes per unit electrode spacing is n, then the number of blocks
between the first and last electrode is (E-1)*n. For an example, see the data file
MODEL25.MOD.
As an example of model file where the depths to the mesh levels are specified, the
upper part of the FAULT.MOD file with comments are given as follows.
Data in FAULT.MOD file Comments
Fault and block model | Title
51 | 51 electrodes in line
15 | 15 data levels
0 | Normal land survey, i.e. not underwater
1.0 | Unit electrode spacing
2 | 2 for user defined mesh lines depths
0 | Offset of first block form first electrode
200 | Total number of blocks in user model
3 | Indicates three model resistivity values
4 | Four nodes between adjacent electrodes
10.0,50.0,100.0 | The model resistivity values
14 | Fourteen rows of model blocks
0.2500,0.5000,0.8125,1.1875,| The depth to the base of each row starting from the
1.6875,2.3125,3.1875,4.4375,| top. Note the smaller distance between the top
6.4375,10.4375,18.4375,34.4375,| two mesh lines, and the large spacings near the
66.4375,130.4375 | bottom
00000000000000000000000000000| The usual model codes start here
The file LANDFILL.MOD gives an example of an input model file which also
contains measured apparent resistivity values from a field survey. The required
information is placed in after the value for the type of array. Below is part of this
model file with comment about the format of the data (the format is similar to that
used by the RES2DINV inversion program).
Data in LANDFILL.MOD Comments
999999999999999999999999 | Last part of
999999999999999999999999 | model codes.
1 | Wenner array flag
0 | Put 0's in these 2 lines. These are flags used by
0 | RES2DMOD for the output file it produces.
2 | Put 2 here for only measured app. resis. values.
334 | Number of datum points
1 | 0 for location of first electrode, 1 for midpoint
0 | Put zero here, will be used later for I.P. flag
4.50000, 3.00000, 84.90 | The following lines give the field data, arranged
7.50000, 3.00000, 62.80 | as x-location of datum point, electrode spacing,
10.50000, 3.00000, 49.20 | apparent resistivity value. See manual for inversion
13.50000, 3.00000, 41.30 | program for details. At the end of the file, put four 0's.