/PoreFlow-Net

3D CNN to predict single-phase flow velocity fields

Primary LanguagePython

PoreFlow-Net

Implementation of PoreFlow-Net: a 3D convolutional neural network to predict fluid flow through porous media

⛔ If you are starting a project, please check our improved model (the MS-Net).

🚸 Bernie Chang has been working on an updated version of this code and I suggest dropping by his fork.

Instructions

  1. Download the desired data from the digital rocks portal (or create your own via your preferred simulation method)
  2. Use the train.py script to train a model

Model architecture

This is how our network looks like: architecture

Methodology

Process Overview

Pre-requisites

To train/test the model we used tensorflow 1.12, newer versions should work

The rest of the necessary packages should be available via pip

Data

The full publication and all the training/testing data can be found here. An excel file is provided with the list of samples available.

Room for improvement

The keras tunner could be used to optimize the number of filters on each encoding branch

Collaborations

We welcome collaborations

Citation

If you use our code for your own research, we would be grateful if you cite our publication AWR

@article{PFN2020,
title = "PoreFlow-Net: a 3D convolutional neural network to predict fluid flow through porous media",
journal = "Advances in Water Resources",
pages = "103539",
year = "2020",
issn = "0309-1708",
doi = "https://doi.org/10.1016/j.advwatres.2020.103539",
url = "http://www.sciencedirect.com/science/article/pii/S0309170819311145",
author = "Javier E. Santos and Duo Xu and Honggeun Jo and Christopher J. Landry and Maša Prodanović and Michael J. Pyrcz",
}