# Contents of /branches/doubleplusgood/doc/inversion/IntroPart2.tex

Revision 4345 - (show annotations)
Fri Mar 29 07:09:41 2013 UTC (5 years, 11 months ago) by jfenwick
File MIME type: application/x-tex
File size: 7492 byte(s)
Spelling fixes

 1 \chapter{Inversion Drivers}\label{chapter:ref:Drivers} 2 3 Our task in the inversion\index{inversion} is to find the geological structure within a given three-dimensional region $\Omega$ from given geophysical 4 observations\index{observation}. 5 The structure is described by a \emph{level set function} $m$\index{level set function}. 6 This function can be a scalar function or may have several components, 7 see Chapter~\ref{Chp:ref:regularization} for more details. 8 Its values are dimensionless and should be between zero and one. 9 However, the latter condition is not enforced. 10 Through a mapping (see Chapter~\ref{Chp:ref:mapping}\index{mapping}) the values 11 of the level set function are mapped onto physical parameter $p^f$\index{physical parameter}. 12 The physical parameter feeds into one or more forward models\index{forward model} 13 which return a prediction for the observations, see Chapter~\ref{Chp:ref:forward models}. 14 An inversion may consider several forward models at once which we call 15 \emph{joint inversion}\index{joint inversion}. 16 17 18 The level set function describing the actual geological structure is given as 19 the function which minimizes a particular \emph{cost function} 20 $J$\index{cost function}. 21 This cost function is a composition of the difference of the predicted 22 observations to the actual observations for the relevant forward models, and 23 the regularization term\index{regularization} which controls the smoothness of 24 the level set function. 25 In general the cost function $J$ takes the form 26 \begin{equation}\label{REF:EQU:INTRO 1} 27 J(m) = J^{reg}(m) + \sum_{f} \mu^{data}_{f} \cdot J^{f}(p^f) 28 \end{equation} 29 where $J^{f}(p)$ is a measure of the defect of the observations predicted for 30 the parameter $p^f$ against the observations for forward model $f$, and 31 $J^{reg}(m)$ is the regularization term. 32 The weighting factors $\mu^{data}_{f}$ are dimensionless, non-negative 33 trade-off factors\index{trade-off factor}. 34 Potentially, values for the trade-off factors are altered during the inversion 35 process in order to improve the balance between the regularization term and 36 the data defect terms\footnote{The current version does not support an automated selection 37 of trade-off factors}. 38 The physical parameter $p^f$ depends on the level set function 39 $m$ in a known form: 40 \begin{equation}\label{REF:EQU:INTRO 1b} 41 p^f = M_{f}(m) 42 \end{equation} 43 where $M_f$ is a given mapping. For the case of gravity inversion 44 the $M_f$ is a simple linear function mapping the level set function $m$ with dimensionless values 45 to physical density anomaly values $\rho$. 46 (see Chapter~\ref{Chp:ref:mapping}\index{mapping}). In its simplest from the mapping is given as 47 $\rho = \rho_0 \cdot m$ where $\rho_0$ is a reference density. It is pointed out that 48 the inversion techniques applied do not constrain limits to the values of the level set function 49 although there is the notion that its values are between zero and one. However, 50 limits can be enforced to physical parameters using appropriate mappings. 51 52 The level set function $m$ and consequently the physical parameters $p^f$ are 53 defined over a three dimensional domain $\Omega$ which represented by an \escript 54 \class{Domain} object, see \cite{ESCRIPT}. The domain builder methods provide 55 functions to build appropriate domains from field data sets, see Section~\ref{Chp:ref:domain builder}. 56 In general the domain is a rectangular three-dimensional domain where the third dimension $x_2=z$ represents 57 depth. The $z=0$ surface defines the surface of the earth where $z<0$ is defining the subsurface region and 58 $z>0$ is defining the region above the surface, see Figure~\ref{fig:cartesianDomain}. In general physical parameters such as 59 density and susceptibility anomaly are known above the surface, typically assumed to be zero. 60 For subregions where a physical parameter is known it is assumed that the corresponding level set function as 61 the value zero. If required, non-zero values for the physical parameters can be set using appropriate mapping. 62 63 \begin{figure}[ht] 64 \centering\includegraphics{classdep} 65 \caption{Class dependencies} 66 \label{fig:classes} 67 \end{figure} 68 69 \section{Class Dependencies} 70 For simplification of usage \downunder provides predefined classes that drive inversion for particular 71 problems. The usage of this classes is being discussed in Part~\ref{part1}. More details are shown in 72 Section~\ref{chapter:ref:Drivers:Drivers}. It is the role of the driver class to orchestration an 73 inversion. New inversions can easily be implemented by modifying the available drivers. 74 75 As illustrated in Figure~\ref{fig:classes} the driver class uses geophysical data as 76 managed through the \class{DataSource} class (see Chapter~\ref{Chp:ref:data sources}) and 77 an \escript domain to define an appropriate 78 costs function to be minimized. The driver class also run the minimization solver. 79 The \escript domain~\cite{ESCRIPT} is created using the \class{DomainBuilder}, see Chapter~\ref{Chp:ref:domain builder}, 80 which builds an appropriate domain and mesh based on the geophysical data used in the inversion. 81 Based on the inversion to be performed (gravity, magnetic, joint) the 82 driver class builds an appropriate cost function $J$ including the regularization term $J^{reg}$, see 83 \class{Regularization} class in Chapter~\ref{Chp:ref:regularization}, 84 the forward models, see Chapter~\ref{Chp:ref:forward models} and 85 the required mappings, see \class{Mapping} class in Chapter~\ref{Chp:ref:mapping}, 86 to connect the level set function with physical parameters. Finally the driver class calls the 87 solver to minimize the cost function, see Chapter~\ref{chapter:ref:Minimization}. 88 89 The driver classes cover commonly used cases for the convenience of users. In fact, 90 more general cases can be implemented in an easy way. Script \examplefile{nodriver.py} is an example 91 on how to implement an inversion without using one of the driver classes. 92 93 94 \section{Domains} 95 96 97 \begin{figure}[ht] 98 \centering\includegraphics{cartesian} 99 \caption{Illustration of domain extents, mapping and padding area} 100 \label{fig:cartesianDomain} 101 \end{figure} 102 103 \subsection{Cartesian Domain} 104 For the Cartesian domain\index{Cartesian Domain} $\Omega$ we assume a flat Earth in the form 105 \begin{equation} \label{REF:EQU:INTRO 8} 106 \Omega = [x^{min}_0, x^{max}_0] \times 107 [x^{min}_1, x^{max}_1] \times 108 [x^{min}_2, x^{max}_2] 109 \end{equation} 110 and use the Universal Transverse Mercator (UTM) coordinate system\footnote{See 111 e.g. \url{http://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system}.} 112 where $x_0$ represents the easting, $x_1$ the northing and $x_2$ the altitude. 113 In this way, all three coordinates can be given in meters with minimal 114 distortion when visualizing the domain. 115 The origin in vertical direction (altitude 0) corresponds to sea level. 116 A proper inversion set up requires a buffer zone in all dimensions. 117 Figure~\ref{fig:cartesianDomain} depicts these as areas shaded in red (padding 118 area) and blue (air buffer). 119 While the inversion results contain values for the entire domain the buffer zone 120 should be disregarded when performing any analysis. 121 In other words, only the region labeled \emph{data area} in 122 Figure~\ref{fig:cartesianDomain} contains useful information. 123 Both the thickness of the air layer and the amount of padding in the $x_0$/$x_1$ 124 dimension is configurable when setting up an inversion. 125 126 127 \subsection{Sphere Shell Segment} 128 This is not supported yet. 129 130 131 132 133 134 \input{Drivers} 135 136 137 138 139 140 141 142