Giter Site home page Giter Site logo

arashmh / twophasesparticletransport Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sbai7/twophasesparticletransport

0.0 2.0 0.0 2.94 MB

Two phase particle transport model simulating formation damage in porous media

License: GNU General Public License v3.0

MATLAB 100.00%

twophasesparticletransport's Introduction

TwoPhasesParticleTransport

Alt text

This is a contributed code for numerical modelling of formation damage by two-phase particulate transport processes in heterogeneous porous media.

It is written with standard GNU Octave (an open source Matlab equivalent) high level scripting language.

The aim of this code is to solve, numerically, the sequentially coupled set of 3D equations governing particlulate transport processes in two-phase flows by means of a standard Finite Volume technique. This includes:

  • The global pressure equation (fractional two-phase flow formulation);
  • The saturation equation for slightly compressible flow;
  • A set of multispecies coupled particle convection-diffusion equations;
  • Particles kinetics ODE's;
  • Cellwise porosity/permeability change (retroactive effects).

citing

Please kindly cite this code in your publications if it helps your research:

@article{sbai-2011,
  author  = {M. A. Sbai},
  author  = {M. Azaroual}
  title   = {{Numerical modelling of formation damage by two-phase particulate transport processes during CO2 injection in deep heterogeneous porous media}},
  journal = {Advances in Water Resources },
  volume  = {34},
  number  = {1},
  pages   = {62 - 82},
  year    = {2011},
  doi     = {http://dx.doi.org/10.1016/j.advwatres.2010.09.009},
  url     = {http://www.sciencedirect.com/science/article/pii/S0309170810001715},
}

Copyleft

This is an open source project, it is distributed under the GPL v3. Anyone is free to use, learn, modify, develop or contribute to the code is welcome. Take a look at the contributing guidelines for starting to contribute to the project.

Documentation

Detailed documentation of the code is under preparation. Start by reading the accompagning paper to understand the theory behind it. Examples in this paper are included in the code to promote reproducible science. They will be explained and posted to the project wiki pages as soon as possible.

FAQ

MATLAB support

The most frequently asked question we get concerns MATLAB compatibility. The only incompatible portion of the code is related to the use of the DAE solver DASPK (from the particles kinetics routines) which is supported under OCTAVE but not in MATLAB. A simple fix consists on replacing the corresponding calls with a stiff ODE in MATLAB such as ode15s. We will test this and make a special branch for MATLAB support as soon as we could.

Three-dimensional simulations

Another question is related to 3D support since the code was tested only for one layer models as those presented in the accompagning paper. The code is indeed designed to run fully 3D models. This could be quite demanding computationally though. However, the code is optimally vectorized to achieve the best efficiency. Additional speedup should be achieved by other means.

twophasesparticletransport's People

Contributors

sbai7 avatar

Watchers

James Cloos avatar Arash avatar

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.