0% found this document useful (0 votes)
109 views

Models SSF Pore Scale Flow COMSOL

This model simulates fluid flow through a porous medium at the pore scale using two different approaches. The first approach uses creeping flow analysis to model flow through individual pore channels imported from a scanning electron microscope image. The second approach imports the SEM image to define porosity and permeability, then uses the Brinkman equations to model flow through the entire porous slice. Both approaches produce similar velocity and pressure profiles, validating the ability to infer properties from images and effectively scale up pore-scale simulations.

Uploaded by

Euler Cauchi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views

Models SSF Pore Scale Flow COMSOL

This model simulates fluid flow through a porous medium at the pore scale using two different approaches. The first approach uses creeping flow analysis to model flow through individual pore channels imported from a scanning electron microscope image. The second approach imports the SEM image to define porosity and permeability, then uses the Brinkman equations to model flow through the entire porous slice. Both approaches produce similar velocity and pressure profiles, validating the ability to infer properties from images and effectively scale up pore-scale simulations.

Uploaded by

Euler Cauchi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Created in COMSOL Multiphysics 5.

Pore- Scal e Fl ow

This model is licensed under the COMSOL Software License Agreement 5.5.
All trademarks are the property of their respective owners. See www.comsol.com/trademarks.
Introduction
This example uses Creeping Flow (Stokes Flow) to solve the flow in the interstices of a
porous medium. The example comes from pore-scale flow experiments conducted by
Arturo Keller, Maria Auset, and Sanya Sirivithayapakorn of the University of California,
Santa Barbara. To produce the example geometry they used electron microscope images.
This type of nonconventional pore-scale modeling with COMSOL Multiphysics sheds
new light on the movement of large particulates and colloids moving through variable-
pore geometries in the subsurface. Several of these researchers have published results from
their COMSOL Multiphysics modeling in the publication Water Resources Research
(Ref. 1 and Ref. 2).

Keller, Auset, and Sirivithayapakorn designed their lab experiments on the basis of
scanning electron microscope (SEM) images of thinly sliced rock sections (Figure 1). They
etched the geometric patterns from the images onto a solid with an elaborate process
similar to the etching of silicon wafers. They then transferred these images to DXF files,
which they finally imported into COMSOL Multiphysics.

Figure 1: Scanning electron microscope image of the repeat pattern in the silicon wafer. The
scale at bottom indicates that pore throat and body dimensions are on the order of 1 m–100
m (Ref. 1).

It is typical to represent fluid flow in the subsurface as a continuum process using average
or “continuous” properties for the bulk rather than detailing the shape and orientation of

2 | PORE-SCALE FLOW
each solid particle within a porous medium. Inserting the bulk properties into an equation,
such as Darcy’s law or Brinkman equations, gives an average flow rate for the total volume.
While bulk approximations typically produce excellent estimates sufficient for considering
flow over large areas, they might miss the between-grain nuances that a close-up Stokes
flow analysis would give.

This exercise is divided in two models: The first model takes one of the SEM images of
Keller, Auset, and Sirivithayapakorn and solves for the flow velocity and pressure drop in
the pore throats using the Creeping Flow interface. The geometry is imported as a binary
file and only the pore space is meshed but not the solid regions. The second model is
devoted to the modeling of the whole slice, by importing the SEM image and deriving
porous medium properties, such as porosity and permeability for further use in the
Brinkman Equations interface.

Model Definition
The entire model covers 640 m by 320 m. Water moves from right to left across the
geometry. The flow in the pores does not penetrate the solid grains. The inlet and outlet
fluid pressures are known. Assume no flow at the top and bottom boundaries. The primary
zone of interest is the rectangular region with an upper left corner at (0, 0) m and lower
right coordinates at (581.6, 265.0) m.

Symmetry

Outlet Inlet

Symmetry

Figure 2: A 640 m by 320 m geometry and boundary conditions.

Since the channels are at most 0.1 mm in width and the maximum velocity is lower than
10-4 m/s, the maximum Reynolds number is less than 0.01. Since Reynolds number is far

3 | PORE-SCALE FLOW
less than one, the example uses the Creeping Flow (Stokes Flow) interface, instead of the
Laminar Flow (Navier-Stokes) interface. The fluid is considered isothermal and with
constant density. Owing to the problem’s small scale, the example does not consider
gravity.

The Creeping Flow interface solves Stokes equations in the channels. The incompressible
assumption together with the stationary condition reads

T
0 = –  p +     u + u 

u = 0

here, p is the pressure (SI unit: Pa), u is the velocity field (SI unit: m/s), and  is the
dynamic viscosity of the fluid (SI unit: Pa·s).

At the physical boundaries, the inlet pressure and the outlet pressure are known. Velocities
are zero at the grain boundaries, which implies a no-slip condition. The flow is symmetric
about the top and bottom boundaries. Table 1 summarizes the boundary conditions.
TABLE 1: BOUNDARY CONDITIONS.

BOUNDARY TYPE BOUNDARY CONDITION VALUE

Inlet Pressure, no viscous stress p  p0


Outlet Pressure, no viscous stress p0
Grain walls Wall no slip
Symmetry sides Symmetry -

Here p0 is a specified pressure drop. Table 2 collects the relevant model data.
TABLE 2: MODEL DATA.

QUANTITY VALUE DESCRIPTION


3
0 1000 kg/m Fluid density
0 0.001 kg/(m·s) Fluid dynamic viscosity
p0 0.715 Pa Pressure drop

Results and Discussion


Figure 3 shows the COMSOL Multiphysics solution predicted with the creeping flow
analysis for the fluid velocity field in the pore spaces of a microscale porous slice. The
velocity magnitude is higher in the narrowest pores than at the inlet, tending to decrease
in stretches where the channels’ cross-sectional area increases.

4 | PORE-SCALE FLOW
Figure 3: Surface and arrow plots of the velocity field calculated by the Creeping Flow
interface.

Model Definition
The second model takes a completely different approach than the first model. Here, the
scanning electron microscope image is imported and physical properties are derived from
the color scale. As opposed to consumer cameras, SEM images are grayscale, but in this
example, the color code is binary; see Figure 4.

Instead of solving for the creeping flow in the channels, the incompressible, stationary
Brinkman equations, with the Stokes-Brinkman assumption is used

 T 
0 = –  p +   -----  u + u  – --- u
p 

u = 0

here, p is the pressure, u is Darcy’s velocity field,  is the dynamic viscosity of the fluid, p
is the porosity, and  is the permeability of the medium.

5 | PORE-SCALE FLOW
In order to define physical properties from the image color code, the following relations
has been implemented for the porosity and permeability

0
  x y  = ----------------------------------------------------- (1)
100* im1  x y  + 0,1

 p  x y  = 1 – 0,99* im1  x y  (2)

here, im1 is a image function derived from the SEM image, which in this example ranges
from 0 to 1 as a function of position. Other expressions can be implemented when
importing RGB or grayscale images.

Figure 4: SEM image. The color code is blue for 0 and red for 1. COMSOL Multiphysics can
handle grayscale and RGB images.

After solving Brinkman equations with the material parameters derived from the SEM
image, it is possible to observe a very similar pressure and velocity profiles in the porous
slice as obtained with the Creeping flow model. Compare Figure 5 with the results in
Figure 3.

6 | PORE-SCALE FLOW
Figure 5: Surface and arrow plots of the velocity field calculated by the Brinkman Equations
interface. The porosity and permeability are taken from the SEM image, as written in
Equation 1 and Equation 2.

Notes About the COMSOL Implementation


In this model, an external image is used to infer material properties, such as porosity and
permeability. The same technique can be used to derive other material properties, like
density and thermal or electric conductivity.

To find out more about how to import images, see the chapter about the Definitions node
in the COMSOL Multiphysics Reference Manual.

References
1. M. Auset and A.A. Keller, “Pore-scale Processes that Control Dispersion of Colloids in
Saturated Porous Media”, Water Resources Research, vol. 40, no. 3, W03503, 2004.

2. S. Sirivithayapakorn and A.A. Keller, “Transport of Colloids in Saturated Porous Media:


A Pore-scale Observation of the Size Exclusion Effect and Colloid Acceleration”, Water
Resources Research, vol. 39, no. 4, 2003.

7 | PORE-SCALE FLOW
Application Library path: Subsurface_Flow_Module/Fluid_Flow/
pore_scale_flow

Modeling Instructions
From the File menu, choose New.

NEW
In the New window, click Model Wizard.

MODEL WIZARD
1 In the Model Wizard window, click 2D.
2 In the Select Physics tree, select Fluid Flow>Single-Phase Flow>Creeping Flow (spf).
3 Click Add.
4 Click Study.
5 In the Select Study tree, select General Studies>Stationary.
6 Click Done.

GEOMETRY 1
1 In the Model Builder window, under Component 1 (comp1) click Geometry 1.
2 In the Settings window for Geometry, locate the Units section.
3 From the Length unit list, choose µm.

Import 1 (imp1)
1 In the Home toolbar, click Import.
2 In the Settings window for Import, locate the Import section.
3 Click Browse.
4 Browse to the model’s Application Libraries folder and double-click the file
pore_scale_flow.mphbin.
5 Click Import.

GLOBAL DEFINITIONS

Parameters 1
1 In the Model Builder window, under Global Definitions click Parameters 1.

8 | PORE-SCALE FLOW
2 In the Settings window for Parameters, locate the Parameters section.
3 In the table, enter the following settings:

Name Expression Value Description


rho0 1000[kg/m^3] 1000 kg/m³ Fluid density
eta0 0.001[kg/(m*s)] 0.001 kg/(m·s) Dynamic viscosity
p0 0.715[Pa] 0.715 Pa Pressure drop

MATERIALS

Material 1 (mat1)
1 In the Model Builder window, under Component 1 (comp1) right-click Materials and
choose Blank Material.
2 In the Settings window for Material, locate the Material Contents section.
3 In the table, enter the following settings:

Property Variable Value Unit Property group


Density rho rho0 kg/m³ Basic
Dynamic viscosity mu eta0 Pa·s Basic

CREEPING FLOW (SPF)

Inlet 1
1 In the Model Builder window, under Component 1 (comp1) right-click Creeping Flow (spf)
and choose Inlet.
2 Select Boundaries 2231 and 2232 only.
3 In the Settings window for Inlet, locate the Boundary Condition section.
4 From the list, choose Pressure.
5 Locate the Pressure Conditions section. In the p0 text field, type p0.

Outlet 1
1 In the Physics toolbar, click Boundaries and choose Outlet.
2 Select Boundaries 1, 4, 7, 10, 13, and 16 only.

Symmetry 1
1 In the Physics toolbar, click Boundaries and choose Symmetry.

9 | PORE-SCALE FLOW
2 Select Boundaries 31, 59, 247, 342, 517, 601, 720, 825, 878, 1149, 1300, 1421,
1488, 1748, 1756, 1823, 1912, and 2025 only.
Use the Select Box control in the Graphics toolbar to select all straight upper boundaries
at once. Alternatively use the Paste Selection button next to the Selection list and enter
the numbers stated above.

MESH 1
In the Model Builder window, under Component 1 (comp1) right-click Mesh 1 and choose
Build All.

STUDY 1
In the Home toolbar, click Compute.

RESULTS

Velocity (spf)
The first default plot shows the magnitude of the velocity field. Add an arrow plot to
visualize the velocity field with the following steps.

Arrow Surface 1
1 Right-click Velocity (spf) and choose Arrow Surface.
2 In the Settings window for Arrow Surface, locate the Arrow Positioning section.
3 Find the x grid points subsection. In the Points text field, type 25.
4 Find the y grid points subsection. In the Points text field, type 25.
5 In the Velocity (spf) toolbar, click Plot.
6 Click the Zoom Extents button in the Graphics toolbar.

Next, set up the second model using the Brinkman equations.

ADD COMPONENT
In the Model Builder window, right-click the root node and choose Add Component>2D.

ADD PHYSICS
1 In the Home toolbar, click Add Physics to open the Add Physics window.
2 Go to the Add Physics window.
3 In the tree, select Fluid Flow>Porous Media and Subsurface Flow>Brinkman Equations (br).
4 Find the Physics interfaces in study subsection. In the table, clear the Solve check box for
Study 1.

10 | PORE-SCALE FLOW
5 Click Add to Component 2 in the window toolbar.
6 In the Home toolbar, click Add Physics to close the Add Physics window.

ROOT
In the Model Builder window, click the root node.

ADD STUDY
1 In the Home toolbar, click Add Study to open the Add Study window.
2 Go to the Add Study window.
3 Find the Physics interfaces in study subsection. In the table, clear the Solve check box for
the Creeping Flow (spf) interface.
4 Find the Studies subsection. In the Select Study tree, select General Studies>Stationary.
5 Click Add Study in the window toolbar.
6 From the Home menu, choose Add Study.

GLOBAL DEFINITIONS

Parameters 1
1 In the Model Builder window, under Global Definitions click Parameters 1.
2 In the Settings window for Parameters, locate the Parameters section.
3 Click Load from File.
4 Browse to the model’s Application Libraries folder and double-click the file
pore_scale_flow_parameters.txt.

GEOMETRY 2
1 In the Model Builder window, under Component 2 (comp2) click Geometry 2.
2 In the Settings window for Geometry, locate the Units section.
3 From the Length unit list, choose µm.

Rectangle 1 (r1)
1 In the Geometry toolbar, click Rectangle.
2 In the Settings window for Rectangle, locate the Size and Shape section.
3 In the Width text field, type L.
4 In the Height text field, type H.
5 Click Build Selected.

11 | PORE-SCALE FLOW
GLOBAL DEFINITIONS
Define the function, which will be used when setting up the material properties.

1 In the Model Builder window, click Global Definitions.

Image 1 (im1)
1 In the Home toolbar, click Functions and choose Global>Image.
2 In the Settings window for Image, locate the Coordinates section.
3 In the x maximum text field, type L.
4 In the y maximum text field, type H.
5 Locate the File section. Click Browse.
6 Browse to the model’s Application Libraries folder and double-click the file
pore_scale_flow_structure.png.
7 Click Import.
8 Click Create Plot.

RESULTS

2D Plot Group 3
1 In the Settings window for 2D Plot Group, type SEM image in the Label text field.
2 In the SEM image toolbar, click Plot.

MATERIALS
The functions for porosity and permeability are defined according to Equation 1 and
Equation 2.

Material 2 (mat2)
1 In the Model Builder window, under Component 2 (comp2) right-click Materials and
choose Blank Material.
2 In the Settings window for Material, locate the Material Contents section.
3 In the table, enter the following settings:

Property Variable Value Unit Property


group
Density rho rho0 kg/m³ Basic
Dynamic viscosity mu eta0 Pa·s Basic

12 | PORE-SCALE FLOW
Property Variable Value Unit Property
group
Porosity epsilon 1-0.99*im1(x,y) 1 Basic
Permeability kappa_iso ; k0/(100*im1(x,y)+ m² Basic
kappaii = 0.1)
kappa_iso,
kappaij = 0

BRINKMAN EQUATIONS (BR)


In the Model Builder window, under Component 2 (comp2) click Brinkman Equations (br).

Symmetry 1
1 In the Physics toolbar, click Boundaries and choose Symmetry.
2 Select Boundaries 2 and 3 only.

Inlet 1
1 In the Physics toolbar, click Boundaries and choose Inlet.
2 In the Settings window for Inlet, locate the Boundary Condition section.
3 From the list, choose Pressure.
4 Select Boundary 4 only.
5 Locate the Pressure Conditions section. In the p0 text field, type p0.

Outlet 1
1 In the Physics toolbar, click Boundaries and choose Outlet.
2 Select Boundary 1 only.

MESH 2
1 In the Model Builder window, under Component 2 (comp2) click Mesh 2.
2 In the Settings window for Mesh, locate the Physics-Controlled Mesh section.
3 From the Element size list, choose Extra fine.
4 Click Build All.

Compute the problem using adaptive mesh refinement.

STUDY 2

Step 1: Stationary
1 In the Model Builder window, under Study 2 click Step 1: Stationary.

13 | PORE-SCALE FLOW
2 In the Settings window for Stationary, click to expand the Adaptation and Error Estimates
section.
3 From the Adaptation and error estimates list, choose Adaptation and error estimates.
4 From the Adaptation in geometry list, choose Geometry 2.
5 In the Model Builder window, click Study 2.
6 In the Home toolbar, click Compute.

RESULTS

Arrow Surface 1
1 Right-click Velocity (br) and choose Arrow Surface.
2 In the Settings window for Arrow Surface, locate the Arrow Positioning section.
3 Find the x grid points subsection. In the Points text field, type 25.
4 Find the y grid points subsection. In the Points text field, type 25.

Adjust the color range to reproduce Figure 5.

Surface
1 In the Model Builder window, click Surface.
2 In the Settings window for Surface, click to expand the Range section.
3 Select the Manual data range check box.
4 In the Minimum text field, type 1.8e-7.
5 In the Velocity (br) toolbar, click Plot.

14 | PORE-SCALE FLOW

You might also like