Awesome
FwiFlow: Wave and Flow Inversion with Intrusive Automatic Differentiation
Quick Install | Documentation |
---|---|
using Pkg; Pkg.add("FwiFlow") |
Highlights
- GPU-accelerated FWI module with checkpointing schemes;
- AMG-accelerated implicit pressure-implicit saturation scheme;
- Time Fractional Partial Differential Equations
Philosophy
We treat physical simulations as a chain of multiple differentiable operators, such as discrete Laplacian evaluation, a Poisson solver, and a single implicit time-stepping for nonlinear PDEs. They are like building blocks that can be assembled to make simulation tools for new physical models.
Those operators are differentiable and integrated within a computational graph so that the gradients can be computed automatically and efficiently via analyzing the dependency in the graph. Also, independent operators run in parallel, thanks to the graph-based parallelization mechanism of TensorFlow. With the gradients, we can perform gradient-based PDE-constrained optimization for inverse problems.
FwiFlow is built on ADCME, a powerful static-graph-based automatic differentiation library for scientific computing (with TensorFlow backend). FwiFlow implements the idea of Intrusive Automatic Differentiation.
<p align="center"> <img src="docs/src/assets/op.png" width="50%"> </p>Applications
The following examples are for inversion
<img src="docs/src/assets/marmousi_inv.png" width="270"> | <img src="docs/src/assets/flow.png" width="270"> | <img src="docs/src/assets/diagram.png" width="270"> |
---|---|---|
Full-waveform Inversion | Two Phase Flow | FWI-Two Phase Flow Coupled Inversion |
<img src="docs/src/assets/frac.png" width="270"> | ||
Time Fractional PDE |
Research Papers
- Dongzhuo Li (co-first author), Kailai Xu (co-first author), Jerry M. Harris, and Eric Darve. Coupled Time‐Lapse Full‐Waveform Inversion for Subsurface Flow Problems Using Intrusive Automatic Differentiation, Water Resources Research, 56(8), p.e2019WR027032 (https://doi.org/10.1029/2019WR027032).
- Kailai Xu (co-first author), Dongzhuo Li (co-first author), Eric Darve, and Jerry M. Harris. Learning Hidden Dynamics using Intrusive Automatic Differentiation.
Misc
The TorchFWI package, which shares the elastic FWI part, can be found here. It may be helpful if one wants to experiment with PyTorch. <br> An older version of this repository can be found here. It contains all scripts to recreate results in paper 1.
LICENSE
MIT License Copyright (c) 2019 Dongzhuo Li and Kailai Xu