Numerical Modeling of Nanoparticle Transport in Porous Media: MATLAB/PYTHON Approach
focuses on modeling and numerical aspects of nanoparticle transport within single- and two-phase flow in porous media. The book discusses modeling development, dimensional analysis, numerical solutions and convergence analysis. Actual types of porous media have been considered, including heterogeneous, fractured, and anisotropic. Moreover, different interactions with nanoparticles are studied, such as magnetic nanoparticles, ferrofluids and polymers. Finally, several machine learning techniques are implemented to predict nanoparticle transport in porous media. This book provides a complete full reference in mathematical modeling and numerical aspects of nanoparticle transport in porous media. It is an important reference source for engineers, mathematicians, and materials scientists who are looking to increase their understanding of modeling, simulation, and analysis at the nanoscale.
Author(s): Mohamed F. EI-Amin
Series: Micro & Nano Technologies Series
Publisher: Elsevier
Year: 2023
Language: English
Pages: 417
Cover
NUMERICAL MODELING OF NANOPARTICLE TRANSPORT IN POROUS MEDIA: MATLAB/PYTHON Approach
Copyright
Preface
Introduction
1 Nanotechnology
2 Units and dimensions
3 Some basics of mathematics
3.1 Notations and definitions
3.2 Error function
3.3 Matrices
3.4 Equations types
4 Some basics of numerical analysis
4.1 Error estimation
4.2 Taylor series
4.3 Newton–Raphson method
4.4 Runge–Kutta method
4.5 Finite difference method
4.6 Finite element method
4.6.1 Standard finite element method
4.6.2 Mixed finite element method
5 Short guide to MATLAB
5.1 Arithmetic and array operators
5.2 Multiple statements in a single line
5.3 Long line dividing
5.4 Priority of arithmetic operations
5.5 Linearly spaced vector
5.6 Colon operator
5.7 Matrix multiplication
5.8 Matrix transpose
5.9 Matrix inverse
5.10 Element-wise operations
5.11 Concatenation
5.12 Relational and logical operators:
5.13 Plotting
6 Short guide to python
6.1 Arithmetic and logical operator of Python
References
Dedication
Acknowledgment
1 . Basic concepts and modeling aspects
1.1 Continuum theory and fluid flow
1.2 Flow in porous media
1.3 Rock properties
1.3.1 Porosity
1.3.2 Permeability
1.4 Fluid properties
1.4.1 Density
1.4.2 Viscosity
1.4.3 Saturation
1.4.4 Capillary pressure
1.4.5 Relative permeability
1.5 Modeling of flow in porous media
1.5.1 Mass conservation equation
1.5.2 Darcy's law
1.5.3 Single-phase flow model
1.5.4 Dispersion model
1.6 Filtration theory
1.7 Nanoparticles transport with single-phase flow
1.7.1 Transport equations
1.7.2 Model validation
1.7.3 MATLAB code
1.8 Nanoparticles transport with two-phase flow
1.8.1 Porosity and permeability variations
1.8.2 MATLAB code of porosity–permeability variations
1.8.3 Relative permeability variations
1.8.4 Model validation
1.9 General model for different nanoparticles interval sizes
References
Further reading
2 . Dimensional analysis and analytical solutions
2.1 Dimensional analysis
2.1.1 Nanoparticles transport with single-phase flow
2.1.2 Nondimensional single-phase model
2.1.3 Nanoparticles transport with two-phase flow
2.1.4 MATLAB code of dimensional two-phase case
2.1.5 Nondimensional two-phase model
2.2 Analytical solutions
2.2.1 Nanoparticles transport with attachment model
2.2.2 MATLAB code of transport model with attachment
2.2.3 MATLAB code of one-site model
References
Further reading
3 . Spatial numerical discretization methods for nanoparticles transport in porous media
3.1 Mesh generation
3.1.1 MATLAB code for 1D-grid function
3.1.2 MATLAB code for uniform 2D-grid function
3.1.3 MATLAB code for nonuniform 2D-grid function
3.1.4 MATLAB code for nonuniform 3D-grid function
3.2 Cell-centered finite difference method
3.2.1 Pressure equation discretization
3.2.2 Darcy's law discretization
3.2.3 Boundary conditions treatment
3.2.4 MATLAB codes
3.3 Shifting matrix method with MATLAB implementation
3.3.1 Shifting technique
3.3.2 Harmonic mean of permeability
3.3.3 Transmissibility's matrices
3.3.4 Difference equations
3.3.5 MATLAB codes of the diffusion and advection terms
3.4 Finite element method
3.4.1 Finite elements discretization
3.4.2 Weak formulation
3.4.3 Raviart–Thomas (RT0) space
3.5 Mixed finite element method
3.5.1 Mixed weak formulation
3.5.2 Mixed finite element approximation
3.5.3 Numerical algorithm
3.5.4 Numerical test
References
4 . Temporal numerical discretization schemes
4.1 Introduction
4.2 Forward and backward uler difference schemes
4.3 Courant–Friedrichs–Lewy stability condition
4.4 Multiscale time-splitting scheme
4.5 Relaxation factor
4.6 Implicit pressure implicit concentration scheme
4.7 Implicit pressure explicit saturation implicit concentration scheme
4.8 MATLAB code
4.9 Stability analysis of the IMPES method
References
5 . Iterative schemes and convergence analysis
5.1 Introduction
5.2 Iterative method for nanoparticles in single-phase flow
5.2.1 Implicit pressure–concentration scheme
5.2.2 Iterative Implicit Pressure Concentration scheme
5.2.3 Convergence theory
5.2.3.1 Assumptions
5.2.3.2 Lemmas
5.2.3.3 Theorem
5.3 Iterative method for nanoparticles in two-phase flow
5.3.1 Implicit Pressure Explicit Saturation–Implicit Concentration scheme
5.3.2 Iterative IMPES-IMC technique
5.3.3 Convergence theory
5.3.3.1 Assumptions
5.3.3.2 Lemmas
5.3.3.3 Theorem
5.4 Numerical example
5.5 MATLAB code
References
6 . Nanoparticles transport in fractured porous media
6.1 Introduction
6.2 Dual-continuum approaches
6.3 Boundary conditions approach
6.4 Shape factor approach
6.5 Discrete fracture model
6.5.1 DFM for nanoparticles in single-phase flow
6.5.2 DFM for nanoparticles in two-phase flow
6.5.3 Multiscale time-splitting scheme
6.5.3.1 MSTS for pressure
6.5.3.2 MSTS for saturation
6.5.3.3 MSTS for concentration
6.5.4 Numerical example
6.6 Hybrid embedded fracture model
References
7 . Nanoparticles transport in anisotropic porous media
7.1 Nature of the anisotropic porous media
7.2 Modeling of flow in anisotropic porous media
7.3 Nanoparticles transport in anisotropic porous media
7.4 Numerical methods for anisotropic porous media
7.5 Multipoint flux approximation
7.6 Numerical example
References
8 . Magnetic nanoparticles transport in porous media
8.1 Introduction
8.2 Modeling of magnetic nanoparticles
8.2.1 MATLAB code
8.3 Magnetic nanoparticles in single-phase flow
8.4 Magnetic nanoparticles in two-phase flow
8.4.1 Example: countercurrent imbibition
8.4.2 MATLAB code
8.5 Analytical solutions
8.5.1 Analytical solution of magnetic nanoparticles in porous media
8.5.2 MATLAB code
References
Further reading
9 . Nano-ferrofluids transport in porous media
9.1 Introduction
9.2 Properties of ferrofluids
9.3 Ferrofluids in single-phase flow
9.4 Analytical solutions
9.4.1 MATLAB code
9.4.2 MATLAB code
9.4.3 MATLAB code
9.5 Nonisothermal ferrofluids transport in porous media
9.5.1 Numerical algorithm
9.5.2 Numerical example
9.6 Ferrofluids transport in two-phase flow
9.6.1 Governing equations and constraints
9.6.2 Numerical algorithm
References
10 . Other nanoparticles transport interactions
10.1 Stability of nanoparticles suspensions
10.2 Nanoparticles with NAPL transport
10.3 Polymer transport under magnetic field in porous media
10.3.1 Analytical solution of polymer flow
10.4 Nanoparticles with nonisothermal flow
10.4.1 Thermal properties of nanofluids
10.4.2 Governing model
10.4.3 Numerical method
10.5 Nanofluids in boundary layer flow
10.5.1 Flow over a vertical flat plate
10.5.2 Flow over a horizontal flat plate
10.5.3 Convective nanofluids in non-Darcy porous media
10.5.4 Numerical method
10.5.5 MATLAB code
References
11 . Machine learning techniques for nanoparticles transport
11.1 Introduction
11.2 Machine learning techniques
11.2.1 Linear regression
11.2.2 K-nearest neighbor
11.2.3 Decision trees
11.2.4 Random forest
11.2.5 Support vector machines
11.2.6 Gradient boosting regression
11.2.7 Artificial neural networks
11.3 Performance evaluation metrics
11.3.1 Mean absolute error
11.3.2 Mean squared error
11.3.3 Root mean squared error
11.3.4 Mean absolute percentage error
11.3.5 R2 correlation
11.4 Datasets
11.4.1 Artificial datasets
11.4.2 Data preprocessing and correlation
11.4.3 Features importance
11.5 Machine learning implementation
11.6 Hyperparameters tuning
11.7 Example of Jupyter Notebook implementation
11.7.1 Import libraries
11.7.2 Data preparation
11.7.3 Data correlation
11.7.4 Machine learning algorithm
11.7.5 Features importance
11.7.6 Data scaling
11.7.7 Hyperparameters tuning implementation
11.8 Implementation of LR, k-NN, RF, SVR, GBR, and ANN method
References
12 . Applications of nanoparticles in porous media
12.1 Introduction
12.2 Nanoparticles in enhanced oil recovery
12.3 Nanoparticles with heat transfer
12.4 Combination of nanoparticles and surfactants
12.5 Using nanoparticles in harvesting atmosphere water
12.6 Carbon dioxide capture by nanoporous materials
12.7 CO2–nanoparticles sequestration in geological storages
12.8 Nanofluids in metal hydride hydrogen storages
References
Further reading
Index