Finite Difference Algorithm on Non-Uniform Meshes for Modeling 2D Magnetotelluric Responses
Abstract
:1. Introduction
2. Governing Equations
2.1. Electromagnetic Equations
2.2. Boundary Conditions
3. Forward Algorithm
3.1. FD Representation for 2D Magnetotelluric Problem
3.2. Benchmark with Homogeneous Half-Space
4. Numerical Results
4.1. Comparison of FD Results and Analytical Solutions
4.2. Comparison of FD Results and FE Solutions
5. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
Appendix A. MATLAB Program for Simulating TE-Mode Responses
function [Ex,rho_a,phase]=MT2D_TE_FDM_Nonuniform(dy,dz_air,dz_earth,rho,fre) % Input arguments % dy: Mesh size in y direction % dz_air: Mesh size in z direction (air) % dz_earth: Mesh size in z direction (earth) % rho: Mesh resistivity % fre: Frequency % Output % Ex: Electric field % rho_a: Apparenet resistivity % phase: Impedance phase mu=4e-7*pi; fre=logspace(−3,3,40); dz=[dz_air dz_earth]; Ny=length(dy); Nz_air=length(dz_air); Nz_earth=length(dz_earth); Nz=Nz_air+Nz_earth; L=sparse(Ny*Nz,Ny*Nz); R=sparse(Ny*Nz,1); for nf=1:1:size(fre,2) % Formed linear equation % Inner nodes for i=2:1:Nz-1 for j=2:1:Ny-1 k=(j-1)*Nz+i; L(k,k-Nz)=4/((dy(j)+dy(j+1))*(dy(j-1)+dy(j))); L(k,k+Nz)=4/((dy(j)+dy(j+1))*(dy(j)+dy(j+1))); L(k,k-1)=4/((dz(i)+dz(i+1))*(dz(i-1)+dz(i))); L(k,k+1)=4/((dz(i)+dz(i+1))*(dz(i)+dz(i+1))); L(k,k)=sqrt(-1)*2*pi*fre(nf)*mu/rho(i,j)-... (4/((dy(j)+dy(j+1))*(dy(j-1)+dy(j)))+... 4/((dy(j)+dy(j+1))*(dy(j)+dy(j+1))))-... (4/((dz(i)+dz(i+1))*(dz(i-1)+dz(i)))+... 4/((dz(i)+dz(i+1))*(dz(i)+dz(i+1)))); R(k,1)=0; end end % Upper boundary i=1; for j=1:1:Ny k=(j-1)*Nz+i; L(k,k)=1; R(k,1)=1; end % Lower boundary i=Nz; for j=1:1:Ny k=(j-1)*Nz+i; L(k,k)=1/dz(end)+sqrt(-sqrt(-1)*2*pi*fre(nf)*mu*(1/rho(i,j))); L(k,k-1)=-1/dz(end); R(k,1)=0; end % Left boundary for i=1:1:Nz for j=1:1:Ny k=(j-1)*Nz+i; if(j==1&&i>1&&i<Nz) L(k,k)=1;L(k,k+Nz)=-1; R(k,1)=0; end end end % Right boundary for i=1:1:Nz for j=1:1:Ny k=(j-1)*Nz+i; if(j==Ny&&i>1&&i<Nz) L(k,k)=1;L(k,k-Nz)=-1; R(k,1)=0; end end end % Solving the linear equation u(:,nf)=L\R; u=full(u); u_new(:,:,nf)=reshape(u(:,nf),Nz,Ny); u1(:,nf)=u_new(Nz_air+1,:,nf); u2(:,nf)=u_new(Nz_air+2,:,nf); u3(:,nf)=u_new(Nz_air+3,:,nf); u4(:,nf)=u_new(Nz_air+4,:,nf); for i=1:1:Ny ux(i,nf)=(-11*u1(i,nf)+18*u2(i,nf)-9*u3(i,nf)+2*u4(i,nf))... /(2*3*dz(Nz_air+1)); Zyx(i,nf)=u1(i,nf)/((1/(sqrt(-1)*2*pi*fre(nf)*mu))*ux(i,nf)); rho_a(i,nf)=abs(Zyx(i,nf))^2/(2*pi*fre(nf)*mu); phase(i,nf)=-atan(imag(Zyx(i,nf))/real(Zyx(i,nf)))*180/pi; end end Ex=u_new;
Appendix B. MATLAB Program for Simulating TM-Mode Responses
function [Hx,rho_a,phase]=MT2D_TM_FDM_Nonuniform(dy,dz,rho,fre) % Input arguments % dy: Mesh size in y direction % dz: Mesh size in z direction % rho: Mesh resistivity % fre: Frequency % Output arguments % Hx: Magnetic field % rho_a: Apparenet resistivity % phase: Impedance phase mu=4e-7*pi; Ny=length(dy); Nz=length(dz); L=sparse(Ny*Nz,Ny*Nz); R=sparse(Ny*Nz,1); for nf=1:1:size(fre,2) % Formed linear equation % Inner nodes for i=2:1:Nz-1 for j=2:1:Ny-1 k=(j-1)*Nz+i; L(k,k-Nz)=(rho(i,j-1)+rho(i,j))*2/((dy(j)+dy(j+1))*(dy(j-1)+dy(j))); L(k,k+Nz)=(rho(i,j+1)+rho(i,j))*2/((dy(j)+dy(j+1))*(dy(j)+dy(j+1))); L(k,k-1)=(rho(i-1,j)+rho(i,j))*2/((dz(i)+dz(i+1))*(dz(i-1)+dz(i))); L(k,k+1)=(rho(i+1,j)+rho(i,j))*2/((dz(i)+dz(i+1))*(dz(i)+dz(i+1))); L(k,k)=sqrt(-1)*2*pi*fre(nf)*mu-... (rho(i,j-1)+rho(i,j))*2/((dy(j)+dy(j+1))*(dy(j-1)+dy(j)))-... (rho(i,j+1)+rho(i,j))*2/((dy(j)+dy(j+1))*(dy(j)+dy(j+1)))-... (rho(i-1,j)+rho(i,j))*2/((dz(i)+dz(i+1))*(dz(i-1)+dz(i)))-... (rho(i+1,j)+rho(i,j))*2/((dz(i)+dz(i+1))*(dz(i)+dz(i+1))); R(k,1)=0; end end % Upper boundary i=1; for j=1:1:Ny k=(j-1)*Nz+i; L(k,k)=1; R(k,1)=1; end % Lower boundary i=Nz; for j=1:1:Ny k=(j-1)*Nz+i; L(k,k)=1/dz(end)+sqrt(-sqrt(-1)*2*pi*fre(nf)*mu*(1/rho(i,j))); L(k,k-1)=-1/dz(end); R(k,1)=0; end % Left boundary for i=1:1:Nz for j=1:1:Ny k=(j-1)*Nz+i; if(j==1&&i>1&&i<Nz) L(k,k)=1;L(k,k+Nz)=-1; R(k,1)=0; end end end % Right boundary for i=1:1:Nz for j=1:1:Ny k=(j-1)*Nz+i; if(j==Ny&&i>1&&i<Nz) L(k,k)=1;L(k,k-Nz)=-1; R(k,1)=0; end end end % Solving the linear equation u(:,nf)=L\R; u=full(u); u_new(:,:,nf)=reshape(u(:,nf),Nz,Ny); u1(:,nf)=u_new(1,:,nf); u2(:,nf)=u_new(2,:,nf); u3(:,nf)=u_new(3,:,nf); u4(:,nf)=u_new(4,:,nf); for i=1:1:Ny ux(i,nf)=(-11*u1(i,nf)+18*u2(i,nf)-9*u3(i,nf)+2*u4(i,nf))/(2*3*dz(1)); Zyx(i,nf)=rho(1,i)*ux(i,nf)/u1(i,nf); rho_a(i,nf)=abs(Zyx(i,nf))^2/(2*pi*fre(nf)*mu); phase(i,nf)=-atan(imag(Zyx(i,nf))/real(Zyx(i,nf)))*180/pi; end end Hx=u_new;
References
- Cagniard, L. Basic theory of the magneto-telluric method of geophysical prospecting. Geophysics 1953, 18, 605–645. [Google Scholar] [CrossRef]
- Lee, T.J.; Han, N.; Song, Y. Magnetotelluric survey applied to geothermal exploration: An example at Seokmo Island, Korea. Explor. Geophys. 2010, 41, 61–68. [Google Scholar] [CrossRef]
- Barcelona, H.; Favetto, A.; Peri, V.G.; Pomposiello, C.; Ungarelli, C. The potential of audiomagnetotellurics in the study of geothermal fields: A case study form the northern segment of the La Candelaria Range, northwestern Argentina. J. Appl. Geophys. 2013, 88, 83–93. [Google Scholar] [CrossRef]
- DeGroot-HedlinN, C.; Constable, S. Occam’s inversion to generate smooth, two-dimensional models from magnetotelluric data. Geophysics 1990, 55, 1613–1624. [Google Scholar] [CrossRef]
- Rodi, W.; Mackie, R.L. Nonlinear conjugate gradient algorithm for 2-D magnetotelluric inversion. Geophysics 2001, 66, 174–187. [Google Scholar] [CrossRef]
- Siripunvaraporn, W.; Egbert, G.D. Data space conjugate gradient inversion for 2-D magnetotelluric data. Geophys. J. Int. 2007, 170, 986–994. [Google Scholar] [CrossRef] [Green Version]
- Lee, S.K.; Kim, H.J.; Song, Y.; Lee, C.K. MT2Dinvmatlab—A program in MATLAB and FORTRAN for two-dimensional magnetotelluric inversion. Comput. Geosci. 2009, 35, 1722–1734. [Google Scholar] [CrossRef]
- Kelbert, A.; Meqbel, N.; Egbert, G.D.; Tandon, K. ModEM: A modular system for inversion of electromagnetic geophysical data. Comput. Geosci. 2014, 66, 40–53. [Google Scholar] [CrossRef]
- Pek, J.; Verner, T. Finite-difference modelling of magnetotelluric fields in two-dimensional anisotropic media. Geophys. J. Int. 1997, 128, 505–521. [Google Scholar] [CrossRef] [Green Version]
- Kalscheuer, T.; Juhojuntti, N.; Vaittinen, K. Two-dimensional magnetotelluric modelling of Ore deposits: Improvements in model constraints by inclusion of borehole measurements. Surv. Geophys. 2018, 39, 467–507. [Google Scholar] [CrossRef]
- Wannamaker, P.E.; Stodt, J.A.; Rijo, L. Two-dimensional topographic responses in magnetotellurics modeled using finite elements. Geophysics 1986, 51, 2131–2144. [Google Scholar] [CrossRef]
- Franke, A.; Börner, R.U.; Spitzer, K. Adaptive unstructured grid finite element simulation of two-dimensional magnetotelluric fields for arbitrary surface and seafloor topography. Geophys. J. Int. 2007, 171, 71–86. [Google Scholar] [CrossRef] [Green Version]
- Key, K.; Weiss, C. Adaptive finite-element modeling using unstructured grids: The 2D magnetotelluric example. Geophysics 2007, 71, 291–299. [Google Scholar] [CrossRef]
- Sarakorn, W. 2-D magnetotelluric modeling using finite element method incorporating unstructured quadrilateral elements. J. Appl. Geophys. 2017, 139, 16–24. [Google Scholar] [CrossRef]
- Wittke, J.; Tezkan, B. Meshfree magnetotelluric modelling. Geophys. J. Int. 2014, 198, 1255–1268. [Google Scholar] [CrossRef] [Green Version]
- Du, H.K.; Ren, Z.Y.; Tang, J.T. A finite-volume approach for 2D magnetotellurics modeling with arbitrary topographies. Stud. Geophys. Geod. 2016, 60, 332–347. [Google Scholar] [CrossRef]
- Bihlo, A.; Farquharson, C.G.; Haynes, R.D.; Loredo-Osti, J.C. Probabilistic domain decomposition for the solution of the two-dimensional magnetotelluric problem. Comput. Geosci. 2017, 21, 117–129. [Google Scholar] [CrossRef]
- Sarakorn, W.; Vachiratienchai, C. Hybrid finite difference-finite element method to incorporate topography and bathymetry for two-dimensional magnetotelluric modeling. Earth Planets Space 2018, 70, 70–103. [Google Scholar] [CrossRef]
- Zhdanov, M.S.; Varentsov, I.M.; Weaver, J.T.; Golubev, N.G.; Krylov, V.A. Methods for modelling electromagnetic fields results from COMMEMI—The international project on the comparison of modelling methods for electromagnetic induction. J. Appl. Geophys. 1997, 37, 133–271. [Google Scholar] [CrossRef]
- Varilsüha, D.; Candansayar, M.E. 3D magnetotelluric modeling by using finite-difference method: Comparison study of different forward modeling approaches. Geophysics 2018, 83, 51–60. [Google Scholar] [CrossRef]
- Guo, Z.Q.; Egbert, G.D.; Wei, W.B. Modular implementation of magnetotelluric 2D forward modeling with general anisotropy. Comput. Geosci. 2018, 118, 27–38. [Google Scholar] [CrossRef]
- Aprea, C.; Booker, J.; Smith, J. The forward problem of electromagnetic induction: Accurate finite-difference approximations for two-dimensional discrete boundaries with arbitrary geometry. Geophys. J. Int. 1997, 129, 29–40. [Google Scholar] [CrossRef]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Tong, X.; Guo, Y.; Xie, W. Finite Difference Algorithm on Non-Uniform Meshes for Modeling 2D Magnetotelluric Responses. Algorithms 2018, 11, 203. https://doi.org/10.3390/a11120203
Tong X, Guo Y, Xie W. Finite Difference Algorithm on Non-Uniform Meshes for Modeling 2D Magnetotelluric Responses. Algorithms. 2018; 11(12):203. https://doi.org/10.3390/a11120203
Chicago/Turabian StyleTong, Xiaozhong, Yujun Guo, and Wei Xie. 2018. "Finite Difference Algorithm on Non-Uniform Meshes for Modeling 2D Magnetotelluric Responses" Algorithms 11, no. 12: 203. https://doi.org/10.3390/a11120203
APA StyleTong, X., Guo, Y., & Xie, W. (2018). Finite Difference Algorithm on Non-Uniform Meshes for Modeling 2D Magnetotelluric Responses. Algorithms, 11(12), 203. https://doi.org/10.3390/a11120203