Git Product home page Git Product logo

yoshiya-usui / femtic Goto Github PK

View Code? Open in Web Editor NEW
57.0 2.0 18.0 24.91 MB

FEMTIC is a 3-D magnetotelluric inversion code. FEMTIC is made by object-oriented programming with C++. FEMTIC is applicable to land magnetotelluric survey data as well as ocean bottom magnetotelluric survey data.

Home Page: https://sites.google.com/view/yoshiyausui/femtic

License: MIT License

C++ 100.00%
magnetotellurics geophysical-inversions finite-element-methods object-oriented-programming parallel-computing topography tetrahedral-meshing non-conformal-mesh mpi openmpi

femtic's Introduction

FEMTIC

FEMTIC is a 3-D magnetotelluric inversion code based on the following studies. FEMTIC was made using object-oriented programming with C++. FEMTIC enables us to incorporate topography and bathymetry into an inversion model. FEMTIC is applicable to land magnetotelluric survey data as well as ocean bottom magnetotelluric survey data.

Y. Usui, 3-D inversion of magnetotelluric data using unstructured tetrahedral elements: applicability to data affected by topography, Geophys. J. Int., 202 (2): 828-849, https://doi.org/10.1093/gji/ggv186, 2015.

Y. Usui, Y. Ogawa, K. Aizawa, W. Kanda, T. Hashimoto, T. Koyama, Y. Yamaya and T. Kagiyama, Three-dimensional resistivity structure of Asama Volcano revealed by data-space magnetotelluric inversion using unstructured tetrahedral elements, Geophys. J. Int., 208 (3): 1359-1372, https://doi.org/10.1093/gji/ggw459, 2017.

Y. Usui, T. Kasaya, Y. Ogawa and H. Iwamoto, Marine magnetotelluric inversion with an unstructured tetrahedral mesh, Geophys. J. Int., 214(2): 952-974, https://doi.org/10.1093/gji/ggy171, 2018.

Y. Usui, Applicability evaluation of non-conforming deformed hexahedral mesh for marine magnetotellurics, Japan Geoscience Union Meeting 2021, 2021

The website of FEMTIC: https://sites.google.com/view/yoshiyausui/femtic

Functional overview

FEMTIC gives a three-dimensional electrical resistivity structure from the response functions at observation points on the Earth's surface.

Mesh type: Tetrahedral mesh / Hexahedral brick mesh / Non-conforming deformed hexahedral mesh

Data type: Impedance tensor / Vertical magnetic transfer function / Inter-station horizontal magnetic transfer function / Phase tensor / Apparent resistivity & Phase.

Inversion algorithm: Model-space Gauss-Newton method / Data-space Gauss-Newton method

Parallel computation: Multiple processes parallel computation with MPI / Multiple threads parallel computation with OpenMP / MPI & OpenMP hybrid parallel computation

Model parameter: Subsurface electrical resistivity / Distortion matrix of galvanic distortion

Regularization: L2 regularization with Laplacian filter / L2 regularization with difference filter / L1 regularization with difference filter

Release note

v4.2 Mar. 25, 2024: I modified some parts to allow the use of large-scale models and large datasets.

v4.1 Nov. 9, 2021: This new version supports difference filter. The error calculation of log10(apparent resistivity) is modified. Rotation angles of distortion matrix are limited to from -90 to 90 (deg.) when gains and rotations of galvanic distortion are estimated.

v4.0 Jun. 3, 2021: This new version supports non-conforming deformed hexahedral mesh.

v3.5 Jan. 11, 2021: This new version supports observed data of apparent resistivity and phase and unsymmetric roughening matrix.

v3.4.7 Sep. 4, 2020: The integer indices into the multiple right-hand-side vectors and solution vectors were changed from 32-bit to 64-bit.

v3.4.6 Sep. 2, 2020: This version allows us to make resistivity of every individual subsurface element to be a different model parameter, in analogy with other 3-D inversion code.

Pre/post-processing tools for FEMTIC

Some pre/post-processing tools for FEMTIC, including meshing tools, and their manuals can be downloaded from GitHub. Results of FEMTIC can be visualized by ParaView.

makeDHexaMesh: Tool for making non-conforming deformed hexahedral mesh for FEMTIC

makeTetraMesh: By using this tool, you can make a surface mesh for creating a tetrahedral mesh.

makeMtr: This tool output .mtr file of TetGen by reading node and .ele files of TetGen.

TetGen2Femtic: This program converts output files of TetGen to FEMTIC.

makeHexaMesh: Tool for making hexahedral brick mesh for FEMTIC

mergeResultOfFEMTIC: By this program, you can merge result files (.csv) of FEMTIC.

makeCutawayForGMT: By using this program, you can make a file needed to draw a cross-section of a resistivity structure by GMT.

changeResistivityForFemtic: By this program, you can change resistivity values of a specified area for sensitivity tests of FEMTIC inversion results

femtic's People

Contributors

yoshiya-usui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

femtic's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.