Matrix-oriented implementation for the numerical solution of the partial differential equations governing flows and transport in porous media

Shuyu Sun, Amgad Salama, Mohamed El-Amin

Research output: Contribution to journalArticlepeer-review

23 Scopus citations

Abstract

In this paper we introduce a new technique for the numerical solution of the various partial differential equations governing flow and transport phenomena in porous media. This method is proposed to be used in high level programming languages like MATLAB, Python, etc., which show to be more efficient for certain mathematical operations than for others. The proposed technique utilizes those operations in which these programming languages are efficient the most and keeps away as much as possible from those inefficient, time-consuming operations. In particular, this technique is based on the minimization of using multiple indices looping operations by reshaping the unknown variables into one-dimensional column vectors and performing the numerical operations using shifting matrices. The cell-centered information as well as the face-centered information are shifted to the adjacent face-center and cell-center, respectively. This enables the difference equations to be done for all the cells at once using matrix operations rather than within loops. Furthermore, for results post-processing, the face-center information can further be mapped to the physical grid nodes for contour plotting and stream lines constructions. In this work we apply this technique to flow and transport phenomena in porous media. © 2012 Elsevier Ltd.
Original languageEnglish (US)
Pages (from-to)38-46
Number of pages9
JournalComputers & Fluids
Volume68
DOIs
StatePublished - Sep 2012

ASJC Scopus subject areas

  • Engineering(all)
  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Matrix-oriented implementation for the numerical solution of the partial differential equations governing flows and transport in porous media'. Together they form a unique fingerprint.

Cite this