Software & Tools
Our approach
We develop software that solves real problems for real practitioners. Every tool emerges from research needs and is validated against field data and industry standards. Built on Python and MATLAB — ensuring transparency, extensibility, and zero licensing barriers.
Nechelik Field Reservoir Simulator (MATLAB)
A fully implicit 2D finite-difference simulator for multi-well drainage and pressure depletion in heterogeneous reservoirs. Uses real-field Nechelik formation data with 1,188 active grid blocks, Peaceman well model, and sparse matrix solvers. Validated against the Theis/Ei-function analytical solution.
Heterogeneous grid engine
54×22 finite-difference grid (1,188 active blocks) over 7,060 ft × 5,753 ft × 100 ft. Imports spatially varying porosity and permeability from Nechelik field datasets with rigorous masking of inactive cells.
Real-field data
Implicit pressure solver
Sparse transmissibility (T), accumulation (B), source (Q), and well productivity (J) matrices. Diffusivity equation solved implicitly at 1-day timesteps over 201-day forecast horizon.
Unconditionally stable
Multi-well physics
Peaceman well model for BHP-controlled producers and constant-rate injector. Captures well-to-well interference, skin effects, and dynamic productivity index evolution as pressure depletes.
Production forecasting
Time-dependent well rates, injector bottom-hole pressure, and cumulative oil production (Np). Supports reserves estimation and development planning.
Analytical validation
Cross-validated numerical pressure profiles against the line-source analytical solution (exponential integral / Ei-function) for radial flow, ensuring code verification and benchmarking accuracy. Harmonic mean permeability averaging for transmissibility calculations.
Visualization suite
Publication-quality 3D pressure surface plots, 2D contour maps, and rate-decline curves to communicate reservoir dynamics to stakeholders, universities, and industry partners.
Multiphase Waterflood Simulator (Python)
A fully implicit 3D black-oil reservoir simulator built from first principles in Python. Models coupled oil-water flow with Newton-Raphson iterations, Jacobian assembly, and scenario-based injection optimization across five development cases.
3D multiphase engine
Cell-centered 3D finite-difference reservoir model for coupled oil-water flow using structured Cartesian grids. Pressure-dependent fluid properties, formation volume factors, viscosities, densities, and rock compressibility.
Black-oil
Newton-Raphson solver
Analytical Jacobian matrix construction for robust convergence under strong pressure and saturation nonlinearities. Sparse linear system solution via SciPy numerical solvers.
Fully implicitMultiphase characterization
Relative permeability and capillary pressure functions for saturation-dependent phase mobility and displacement efficiency. Integrated fluid PVT models including gas solubility relationships.
Well & production modeling
Dynamic bottom-hole pressure, oil production rate, water production rate, water cut, and water-oil ratio throughout the simulation period. Long-term forecasts exceeding 400 days.
Scenario-based optimization
Five waterflood development scenarios (Cases 1-5) quantifying the impact of injection rates on reservoir pressure support and recovery performance. Predicts cumulative oil recovery, cumulative water production, water cut evolution, WOR trends, injector pressure, and producer pressure response.
Validation & numerical performance
Material-balance error tracking and production history consistency checks. Demonstrated robust numerical performance through low material-balance errors and stable nonlinear convergence throughout long-term reservoir forecasting simulations.
Field challenges addressed
• Early water breakthrough and increasing water cut during long-term injection • Pressure maintenance through optimized water injection strategies • Balancing oil recovery against increasing water production and operational costs • Numerical stability of strongly coupled multiphase flow systems
1. PTA/RTA Automation Platform
Automatic flow regime identification · Reservoir and fracture parameter estimation · Type-curve matching (Fetkovich-Arps, Blasingame, Agarwal-Gardner) · Report generation and visualization
Python-based
2. DCA Production Forecasting Engine
Duong, Logistic Growth Model (LGM), SEPD, and T-model implementations · Probabilistic forecasting with uncertainty bounds · EUR estimation and reserves reporting support · Automated diagnostics and quality control
Reserves-ready
3. Reservoir Data Analytics Workbench
Well log and production data integration · Feature engineering for machine learning · Statistical analysis and visualization · Export to standard reservoir simulation formats
ML-ready
Why open-source languages?
Open and accessible — no licensing barriers for African institutions
Extensible — engineers can modify, extend, and adapt tools to their needs
Industry-aligned — Python and MATLAB dominate data science and petroleum engineering
Educational — using our tools teaches coding skills alongside reservoir engineering
Extensible — engineers can modify, extend, and adapt tools to their needs
Industry-aligned — Python and MATLAB dominate data science and petroleum engineering
Educational — using our tools teaches coding skills alongside reservoir engineering
Gravity- & Capillary-Driven IMPES Waterflood Simulator (Python)
A 2D two-phase oil-water simulator for dipping reservoirs using IMPES formulation with Brooks-Corey relative permeability, capillary pressure, gravity segregation, and adaptive well conversion. Validated against Buckley-Leverett. OOIP: 15.89 MMbbl | Recovery: 46.27%.
IMPES engine
Implicit pressure with explicit saturation update. Upwind mobility weighting for numerical stability during water displacement. Timestep sensitivity and numerical dispersion analysis.
Efficient
Gravity & capillary physics
Brooks-Corey rel perm fitted to lab data. Capillary pressure via empirical curve fitting. Gravity potential calculations for dipping reservoirs (12,000–13,400 ft depth).
Structurally complex
Adaptive well strategy
One injector at ~2000 STB/day + three producers with BHP constraints. Automatic well conversion to injectors when water cut exceeds 95%, extending field life.
Production forecasting
OOIP: 15.89 MMbbl. Cumulative recovery: 7.35 MMbbl. Recovery factor: 46.27%. Field life: 6,169 days (~16.9 years). Spatial pressure and saturation evolution maps.
Validation
Validated against the classical Buckley-Leverett analytical solution for one-dimensional immiscible displacement. Excellent agreement between analytical and numerical saturation fronts confirmed accuracy. IMPES stability limits verified through timestep sensitivity studies.
Indigenous 2D PTA & Well Performance Simulator (Python)
A fully implicit 2D non-uniform grid simulator for pressure transient analysis and well performance forecasting in anisotropic heterogeneous reservoirs. Peaceman well model with mixed boundary conditions and gravity-aware initialization.
Non-uniform anisotropic grid
3 × 3 non-uniform 2D Cartesian grid: 1200 × 600 ft, 200 ft thickness. Permeability: 1000–2500 mD. Porosity: 18–26%. Anisotropy: k_y = 2k_x.
Heterogeneous
Mixed well constraints
Rate-controlled producer: 10,000 scf/day at (600, 300) ft. BHP-controlled well: 1500 psi at (1000, 500) ft. Peaceman PI with skin and anisotropy corrections.
Flexible
Numerical framework
Finite-difference discretization of pressure diffusivity equation · Harmonic averaging for inter-block transmissibility · Fully implicit formulation for unconditional stability · Sparse matrix assembly · Gravity-aware pressure initialization and flow calculations · Dynamic well handling through productivity-index-based models
Advanced 7×7 Simulator with Fault Barrier (Python)
A 7×7 Cartesian grid simulator with fault-induced zero-transmissibility barrier, custom Gaussian elimination solver, and pressure-constrained well operations. Models compartmentalized flow in structurally complex reservoirs.
Fault-compartment modeling
Zero-transmissibility barrier creates compartmentalized flow system. Pressure-constrained injection at 6000 psi and production at 3000 psi. Models realistic African faulted basin challenges.
Structurally complex
Custom Gaussian elimination
Custom solver implementation in Python with full transparency. Sparse matrix assembly and coefficient matrix generation from first principles. Time-stepping for transient to steady-state evolution.
Educational
Reservoir parameters
Grid: 7 × 7 (49 blocks) · Area: 1400 × 1400 ft · Thickness: 60 ft · Permeability: 250 mD · Porosity: 18% · Viscosity: 1 cP · Initial pressure: 4500 psi · Fault: Zero transmissibility · Wells: Peaceman model with skin
Engineering Applications & Workflow Automation
Beyond reservoir simulation, GSERC develops specialized applications for production engineering, reserves estimation, and subsurface data analytics. These tools are built to solve specific operator challenges — from artificial lift sizing to probabilistic economics.
| Tool | Language | Purpose | Origin |
|---|---|---|---|
| NDC APPS | Excel VBA | Probabilistic OOIP & NPV under PSC | Field KK, Mediterranean |
| MODEC PETROLEUM | Python | Stochastic material balance + dynamic simulation + ML forecasting | Anonymous offshore field |
| WD_APK | Python | Nodal analysis, ESP design, sensitivity modeling | EL AIN, Tunisia |
| EMC App | Excel VBA | Automated bottomhole pressure traverse | EL AIN, Tunisia |
| GALDAP | Python | Gas lift valve sizing, temperature profiling, wax prediction | Gremda West, Tunisia |
| GL Optimizer | Excel VBA | Variable position valve control + scale inhibitor dosing | KL04, Cameroon |
| ENY apps | Python | ML facies classification from well logs | Rio Del Rey, Cameroon |
| PTA/RTA/DCA Platform | Python | Integrated unconventional characterization | Tunisia tight gas |
Deployment note: All applications are built on Python and Excel VBA — zero licensing barriers for African operators and universities. Each tool is validated against commercial software (PROSPER, PIPESIM) or field data before deployment.
Custom development
Need a specialized tool for your operation? We design and develop bespoke Python and MATLAB applications for automated reporting workflows, custom diagnostic tools, data integration pipelines, and educational simulators.
