/[escript]/release/4.0/doc/inversion/CookDcRes.tex
ViewVC logotype

Contents of /release/4.0/doc/inversion/CookDcRes.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5390 - (show annotations)
Tue Dec 16 06:50:01 2014 UTC (4 years, 4 months ago) by jduplessis
File MIME type: application/x-tex
File size: 5787 byte(s)
doco changes
1 %!TEX root = inversion.tex
2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 % Copyright (c) 2003-2014 by University of Queensland
4 % http://www.uq.edu.au
5 %
6 % Primary Business: Queensland, Australia
7 % Licensed under the Open Software License version 3.0
8 % http://www.opensource.org/licenses/osl-3.0.php
9 %
10 % Development until 2012 by Earth Systems Science Computational Center (ESSCC)
11 % Development 2012-2013 by School of Earth Sciences
12 % Development from 2014 by Centre for Geoscience Computing (GeoComp)
13 %
14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15
16 \chapter{DC Resistivity Forward modelling}\label{Chp:cook:Dc Resistivity inversion}
17 \section{Introduction}
18 DC resistivity surveys involve placing electrodes into the ground and injecting a current
19 into them. The current propagates through the ground and generates a potential field.
20 The change in potential between an other set of electrodes can then be measured.
21
22 As the separation between the electrodes increases, the current has a longer
23 distance to travel and can potentially travel deeper. This is not necessarily the case
24 as a highly conductive layer will keep the current close to the surface.
25
26 The final objective is to perform an inversion and develop a resistivity image of the subsurface.
27 This image can then be compared to known resistivities of material and used
28 to make inferences about the material contained in the subsurface.
29 There are a number of different ways to set up a DC resistivity survey, each providing
30 different spatial information\cite[pg 5]{LOKE2014}.
31
32 Escript currently supports the forward modelling of DC resistivity surveys. Forward modelling
33 involves performing a survey artificially by solving the PDEs which describe the underlying
34 physics. Escript provides a number of classes for solving forward modelling problems, these are
35 detailed in section \ref{sec:forward DCRES}.
36
37 \section{Example}
38 In this section we will look at an example forward problem. The domain consists of
39 a homogeneous half-space with a half-sphere embedded within it (Figure~\ref{fig:HalfSphere}).
40 In this example\footnote{The script is similar to
41 \examplefile{dc_forward.py} within the \escript example file directory.}
42 a Schlumberger survey is used.
43
44
45 \begin{figure}
46 \centering
47 \includegraphics[width=0.7\textwidth]{HalfSphere.png}
48 \caption{
49 (file \examplefile{data/HalfSphere_v1.4.geo}). model created using gmsh.}
50 \label{fig:HalfSphere}
51 \end{figure}
52
53 \begin{pyc}\label{code: dc1}
54 \
55 \begin{python}
56 #Header
57 import esys.finley as finley
58 import esys.escript as escript
59 from esys.downunder import *
60 import math
61
62 #Constants
63 pi = math.pi
64
65 #Setup Input
66 mesh_file = "data/HalfSphere_v1.4.msh"
67 # Tag volume names and conductivity values (S/m) for primary and secondary potential:
68 tag_p = {"domain" : 1/10.0, "sphere" : 1/10.0} # Primary (homogeneous).
69 tag_s = {"domain" : 1/10.0, "sphere" : 1/1.0 } # Secondary.
70
71 xe_0 = -5.0 # start X-coordinate
72 numEle = 21 # number of electrodes
73 a = 0.5 # step size
74 n = 9 #max electrode step
75 midPoint = [xe_0 + (((numEle-1)*estp)/2), 0, 0]
76 current = 1.0 # (Ampere)
77 domain = finley.ReadGmsh(mesh_file, 3)
78 mesh_tags = escript.getTagNames(domain)
79 directionVector = [1,0]
80 sig_p = escript.Scalar(0,escript.ContinuousFunction(domain))
81 sig_s = escript.Scalar(0,escript.ContinuousFunction(domain))
82 for tag in tag_p:
83 # All initially defined tags must be in the tag list.
84 # Print an error if it doesn't and exit the program.
85 if tag in mesh_tags:
86 # Assign value:
87 sig_p.setTaggedValue( tag, tag_p[tag] )
88 sig_s.setTaggedValue( tag, tag_s[tag] )
89 else:
90 print("Error: the defined tag is not defined in the mesh: " & tag)
91 sys.exit()
92
93 # Expand the data objects for output.
94 sig_p.expand()
95 sig_s.expand()
96 #solve for result
97 schs=SchlumbergerSurvey(domain, sig_p, sig_s, current, a, n, midPoint, directionVector, numEle)
98 pot=schs.getPotential()
99 totalApparentRes=schs.getApparentResistivityTotal()
100 #print result
101 n=1
102 print ("Total:\n")
103 for i in totalApparentRes:
104 print ("n = %d:"%n)
105 print (i,"\n")
106 n=n+1
107 \end{python}
108 \end{pyc}
109
110
111 The example begins with constructing the domain, loaded from a pre-prepared
112 \emph{gmsh} model. The \emph{gmsh} script used can be found in \examplefile{data/HalfSphere_v1.4.geo}.
113 \emph{gmsh} can be used to generate the \texttt{msh} file. The values for primary and secondary
114 conductivity, in Siemens per meter, are specified for the different regions. These regions have been tagged
115 in the \emph{gmsh} script. The survey is constructed to have 21 electrodes spanning from -5m to 5m
116 in the $x$-axis, with a fixed interval between each electrode and the next in
117 line. These electrodes, once placed, are not moved for the remainder of the
118 survey. The potentials and total apparent resistivity is then calculated.
119
120 The SchlumbergerSurvey class uses four electrodes at a time, beginning with the
121 electrode at location \texttt{xe_0}. In each set of four electrodes, electrodes
122 1 and 4 are used as current electrodes and
123 2 and 3 used as potential electrodes. The next set of electrodes are then used
124 for the next measurement, beginning with the previous electrode 2. This is
125 repeated until the last four electrodes are used.
126
127 This process is itself repeated with a continually increasing step size between
128 the electrodes pairs at each end of the set. As an example, the first time the
129 process is repeated, the initial set will be made up of electrodes 1, 3, 4, and
130 6. During the second repeat the initial set will be electrodes 1, 4, 5, and 8.
131 The maximal step size in the above script is given as $n$.
132

  ViewVC Help
Powered by ViewVC 1.1.26