/[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 5387 - (show annotations)
Tue Dec 16 05:43:05 2014 UTC (4 years, 4 months ago) by sshaw
File MIME type: application/x-tex
File size: 5645 byte(s)
spelling and grammar fixes for docs
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 a 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 will consequently travel deeper. This is not always true
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 profile of the subsurface.
27 This profile can then be matched up to known resistivities of material and used
28 to make inferences about the material contained in the subsurface.
29 There are
30 a number of different ways to set up a DC resistivity survey, each providing
31 different spatial information\cite[pg 5]{LOKE2014}.
32
33 Escript currently supports the forward modelling of DC resistivity surveys. Forward modelling
34 involves performing a survey artificially by solving the PDEs which describe the underlying
35 physics. Escript provides a number of classes for solving forward modelling problems, these are
36 detailed in section \ref{sec:forward DCRES}.
37
38 \section{Example}
39 In this section we will look at an example forward problem. The domain consists of
40 a homogenous half-space with a half-sphere embedded within it (Figure~\ref{fig:HalfSphere}).
41 In this example\footnote{The script is similar to
42 \examplefile{dc_forward.py} within the \escript example file directory.}
43 a Schlumberger survey is used.
44
45
46 \begin{figure}
47 \centering
48 \includegraphics[width=0.7\textwidth]{HalfSphere.png}
49 \caption{
50 (file \examplefile{data/HalfSphere_v1.4.geo}). model created using gmsh.}
51 \label{fig:HalfSphere}
52 \end{figure}
53
54 \begin{pyc}\label{code: dc1}
55 \
56 \begin{python}
57 #Header
58 import esys.finley as finley
59 import esys.escript as escript
60 from esys.downunder import *
61 import math
62
63 #Constants
64 pi = math.pi
65
66 #Setup Input
67 mesh_file = "data/HalfSphere_v1.4.msh"
68 # Tag volume names and conductivity values (S/m) for primary and secondary potential:
69 tag_p = {"domain" : 1/10.0, "sphere" : 1/10.0} # Primary (homogeneous).
70 tag_s = {"domain" : 1/10.0, "sphere" : 1/1.0 } # Secondary.
71
72 xe_0 = -5.0 # start X-coordinate
73 numEle = 21 # number of electrodes
74 a = 0.5 # step size
75 n = 9 #max electrode step
76 midPoint = [xe_0 + (((numEle-1)*estp)/2), 0, 0]
77 current = 1.0 # (Ampere)
78 domain = finley.ReadGmsh(mesh_file, 3)
79 mesh_tags = escript.getTagNames(domain)
80 directionVector = [1,0]
81 sig_p = escript.Scalar(0,escript.ContinuousFunction(domain))
82 sig_s = escript.Scalar(0,escript.ContinuousFunction(domain))
83 for tag in tag_p:
84 # All initially defined tags must be in the tag list.
85 # Print an error if it doesn't and exit the program.
86 if tag in mesh_tags:
87 # Assign value:
88 sig_p.setTaggedValue( tag, tag_p[tag] )
89 sig_s.setTaggedValue( tag, tag_s[tag] )
90 else:
91 print("Error: the defined tag is not defined in the mesh: " & tag)
92 sys.exit()
93
94 # Expand the data objects for output.
95 sig_p.expand()
96 sig_s.expand()
97 #solve for result
98 schs=SchlumbergerSurvey(domain, sig_p, sig_s, current, a, n, midPoint, directionVector, numEle)
99 pot=schs.getPotential()
100 totalApparentRes=schs.getApparentResistivityTotal()
101 #print result
102 n=1
103 print ("Total:\n")
104 for i in totalApparentRes:
105 print ("n = %d:"%n)
106 print (i,"\n")
107 n=n+1
108 \end{python}
109 \end{pyc}
110
111
112 The example begins with constructing the domain, loaded from a pre-prepared
113 \emph{gmsh} model. The \emph{gmsh} script used can be found in \examplefile{data/HalfSphere_v1.4.geo}.
114 \emph{gmsh} can be used to generate the \texttt{msh} file. The values for primary and secondary
115 conductivity, in siemens per meter, are specified for the different regions. These regions have been tagged
116 in the \emph{gmsh} script. The survey is constructed to have 21 electrodes spanning from -5m to 5m
117 in the $x$-axis, with a fixed interval between each electrode and the next in
118 line. These electrodes, once placed, are not moved for the remainder of the
119 survey. The potentials and total apparent resistivity is then calculated.
120
121 The SchlumbergerSurvey class uses four electrodes at a time, beginning with the
122 electrode at location \texttt{xe_0}. In each set of four electrodes, electrodes
123 1 and 4 are used as current electrodes and
124 2 and 3 used as potential electrodes. The next set of electrodes are then used
125 for the next measurement, beginning with the previous electrode 2. This is
126 repeated until the last four electrodes are used.
127
128 This process is itself repeated with a continually increasing step size between
129 the electrodes pairs at each end of the set. As an example, the first time the
130 process is repeated, the initial set will be made up of electrodes 1, 3, 4, and
131 6. During the second repeat the initial set will be electrodes 1, 4, 5, and 8.
132 The maximal step size in the above script is given as $n$.
133

  ViewVC Help
Powered by ViewVC 1.1.26